Releases: aliyun/iotkit-embedded
Releases · aliyun/iotkit-embedded
版本3.01
- 发布日期: 2019/03/15
- 下载链接: v3.0.1.zip
- 更新内容:
- 新增对异步/通知式的底层TCP/IP协议栈的支持: 专用于联发科
MTK2503/MTK6261
的 Nucleus 系统对接- 新增
FEATURE_ASYNC_PROTOCOL_STACK
开关支持异步协议栈, 详情介绍请看文档: 异步通知式底层通信模型 - 在异步协议栈支持的基础上, 支持与
MTK2503/MTK6261
系统对接, 详情介绍请看文档: 移植到联发科MTK2503/MTK6261
- 新增
- 新增以源文件方式移植对接: 用户可以使用任何自己熟悉或者喜欢的方式编译SDK
- 提供"配置工具", 用于配置选用SDK的哪些功能点
- 提供"抽取工具", 用于根据功能点抽取需要的源文件
- 源文件被抽取后, 在
output
目录下, 用户可以用任何方式编译它们 - 详情介绍请看文档: 不使用SDK自带编译系统时的移植示例
- 新增用户需要实现的HAL接口自动整理: 用户不再会看到自己不需要实现的HAL接口
- 上述"抽取工具", 会根据所选功能点自动整理待填充的源文件
output/eng/wrappers/wrapper.c
- 用户需要做的只是把这个文件中留空的函数全部按注释实现即可, 不需要查阅文档, 也不会做多余的实现
- SDK整体性质的
include/iot_import.h
也去掉了, 以避免用户看到他其实不必关注的HAL接口声明
- 上述"抽取工具", 会根据所选功能点自动整理待填充的源文件
- 新增每个功能点有独立的和风格统一的API声明头文件: 都在
src/xxx/xxx_api.h
- 目录扁平化处理, 每一个
src/xxx
就对应了SDK的一个名字为xxx
的功能点 - SDK整体性质的
include/iot_export.h
也去掉了, 以避免用户看到他其实不必关注的API接口声明
- 目录扁平化处理, 每一个
- 新增HTTP2文件上传的功能: 在
src/http2/http2_upload_api.h
, 基于流式传输实现 - 新增设备签名功能: 在
src/dev_sign
, 可计算设备连云签名, 是SDK的最小形态(ROM:4.5KB
, RAM:1KB
) - 新增设备重置的功能: 在
src/dev_reset
, 可用于子设备重置网关对应关系, 或设备和用户绑定关系等 - 新增简化版的一型一密功能: 在
src/dynamic_register
, 只有1个API, 可帮助用户获取DeviceSecret
- WiFi配网功能中新增了设备热点配网模式: 在
src/wifi_provision/dev_ap
, 通过设备开AP来得到SSID和密码 - 优化了MQTT的建连接口: 调用时需要用户传入的参数减少了80%
- 仍然通过
IOT_MQTT_Construct()
发起云端建连, 但不再需要调用IOT_SetupConnInfo()
- 对
IOT_MQTT_Construct()
调用时, 结构体入参中的绝大多数都可以不填写, SDK会自动补充默认值
- 仍然通过
- 新增对异步/通知式的底层TCP/IP协议栈的支持: 专用于联发科
版本2.30
- 发布日期: 2018/11/19
- 下载链接: v2.3.0.zip
- 更新内容:
- 新增一套物模型编程接口: 风格为
IOT_Linkkit_XXX()
, 旧版接口linkkit_xxx()
仍然保留- 编程方式简化: 用户不再需要感知TSL, 不需要经历从控制台下载超长JSON然后转换C语言然后嵌入源码的冗繁过程
- 编程接口剧减: 用户需要了解的编程接口, 从单品/网关场景下共
45
个降低到9
个 - 内存开销剧减: 用户得到大量的可用内存, 新版接口下设备自身RAM开销是旧版的
50%
以下 - 负载能力剧增: 受益于内存开销的急剧降低, 网关场景下子设备RAM开销是旧版的
10%
以下, 负载能力上升1000%
以上 - 外存开销剧减: 新版接口下的物模型部分, ROM尺寸大约是旧版接口的
25%
以下, 全SDK大约是上一版的50%
以下 - 极轻模式物模型: 最极端的情况下, 用户 使用二进制协议做物模型通信, SDK中物模型部分的ROM尺寸可降低到旧版的
6%
以下
- 新增更多物模型相关能力: 在资源大幅降低的情况下, SDK的能力不弱反强
- 增加RRPC调用同步支持, 意味着用户可以在云端控制台定义同步式服务并使用
- 增加可支持一到任意多个属性的上报, 而不再是过去的要么上报一个属性, 要么上报全量属性
- 新增MQTT的一系列扩展: 总体让每个单个接口更加傻瓜化, 多编程接口组合流程也更加灵活
- 增加极简建联: 建立MQTT连接的时候不再需要像过去那样填写两位数的参数, 支持传
NULL
表达使用默认配置或使用已有的默认连接 - 增加离线订阅: 通过MQTT订阅的时候不再需要预先连网, 支持传
NULL
表达提前订阅, 上线之后SDK自动跟云端交互 - 增加极速订阅: 通过MQTT订阅的时候不再需要考虑网络情况, 即使云端的响应由于网络原因尚未到达, SDK自动转发到回调函数
- 智能内存管理: 无论是发包还是收包, 不再像过去需要用户填写预留的缓冲区包长, SDK自动根据网络流量按需申请内存
- 极简消息发布: 新增了一个编程接口
IOT_MQTT_Publish_Simple()
, 直接用字符串传参即可发布消息, 不需要组织结构体填参 - 同步订阅支持: 新增了一个编程接口
IOT_MQTT_Subscribe_Sync()
, 订阅成功之前不会返回, 支持需要同步接口的用户
- 增加极简建联: 建立MQTT连接的时候不再需要像过去那样填写两位数的参数, 支持传
- 新增支持自定义域名连云: 用户可以传入自定义的域名字符串建立MQTT连接, 新增海外地区时不需要等待新版SDK
- 新增图形化配置方式支持: 对使用我们推荐的
64位Ubuntu
主机作为开发环境的用户, 可以用make menuconfig
图形化编辑SDK配置 - WiFi配网的四种模式可以分离: 如一键配网/零配/路由器配网/手机热点配网
- 新增支持HTTP2流式传输: 相对于以往的块式数据传输, 文件/语音/视频的上传速度提高到旧版的
2000%
以上, 并且文件越大效果越明显 - 新增支持MCU+Modem形式接入: 这种情况下SDK本身不做网络交互通信, 而是运行在MCU上, 通过AT指令和一块外挂的通信Modem连接网络
- 新增一系列开发环境的支持:
- 支持在搭载
Windows
的主机上进行开发, 包括cmake
构建系统和Visual Studio 2015
开发环境 - 支持在搭载
MacOS
的苹果主机上进行开发, 包括make
构建系统和cmake
构建系统 - 原有的
Linux
主机开发环境仍然支持, 包括通过make
或者cmake
构建主机版本和交叉编译嵌入式平台版本
- 支持在搭载
- 新增一套物模型编程接口: 风格为
版本2.21
- 发布日期: 2018/08/31
- 下载链接: v2.2.1.zip
- 更新内容:
- 新增一型一密/动态注册功能: 此功能可简化产线生产流程, 使所有设备烧录同样的固件
- 新增离线倒计时例程: 用于飞燕平台的本地倒计时场景演示
- 新增OTA使用iTLS下载固件: 在使能iTLS/ID2的情况下, 不再需要HTTPS下载固件
- 新增WiFi配网功能开源发布: 在
src/services/awss
中, 首次源码发布WiFi配网模块, 用户可自行交叉编译 - 新增本地通信功能开源发布: 在
src/protocol/alcs
中, 首次源码发布本地通信模块, 用户可自行交叉编译
- 已知问题:
- 若要使用WiFi配网功能, 请将
FEATURE_WIFI_AWSS_ENABLED = y
一行从make.setting
中移到到第一行, 否则会工作异常
- 若要使用WiFi配网功能, 请将
版本2.20
- 发布日期: 2018/08/06
- 下载链接: v2.2.0.zip
- 更新内容:
- 服务模块中新增:
- 离线Reset功能
- 设备状态上报
- 单品/网关统一处理
- 简化版TSL支持
- 设备禁用/使能功能
- 高级版的上下行应答可配置
- TSL数组中支持Objects类型
- 通信模块中新增:
- MQTT海外多站点连接: 美西/新加坡/德国/日本(预发验证)
- MQTT批量订阅用于物模型管理
- HTTP2协议支持
- iTLS(预置ID2)支持
- CoAP基于PSK的认证和加密
- CoAP的DTLS Session复用
- 服务模块中新增:
版本2.03
- 发布日期: 2018/01/31
- 开发语言: C语言
- 开发环境: 64位Linux, GNU Make
- 下载链接: RELEASED_V2_03_20180131.zip
- 更新内容:
- 支持主子设备功能: 设置
FEATURE_SUBDEVICE_ENABLED = y
,可以支持子设备通过主设备(网关设备)进行数据交互 - 升级HTTP通道: 优化HTTP流程
- 优化TLS: 修复内存泄漏问题
- 优化OTA的配置: 可以更合理的开关OTA功能
- 升级MQTT通道: 支持topic更长,更多的订阅请求;MQTT支持多线程
- 支持主子设备功能: 设置
版本2.02
- 发布日期: 2017/11/30
- 开发语言: C语言
- 开发环境: 64位Linux, GNU Make
- 下载链接: RELEASED_V2_02_20171130.zip
- 更新内容:
- 正式的多平台支持: 使用
make reconfig
可弹出和选择Ubuntu16.04
以外的已适配平台 - 新增Windows版本: 支持用
mingw32
工具链编译Win7
版本的库和例程 - 新增OpenSSL适配: 新增了配合
openssl-0.9.x
+Windows
版本的HAL参考实现 - 优化HTTP接口: HTTP通道方面接口优化, 支持发送报文而不断开TLS连接
- 自包含的安全库: 新增裁剪版本的安全库
mbedtls
, 目前可适配Linux/Windows平台
- 正式的多平台支持: 使用
版本2.01
- 发布日期: 2017/10/10
- 开发语言: C语言
- 开发环境: 64位Linux, GNU Make
- 下载链接: RELEASED_V2_01_20171010.zip
- 更新内容:
- 新增CoAP+OTA: 允许配置成基于CoAP通知方式的OTA
- 新增HTTP+TLS: 在MQTT/CoAP之外, 新增HTTP的通道
- 细化OTA状态: 优化OTA部分代码, 使云端可以更细化的区分设备的OTA固件下载状态
- ArmCC支持: 修正了SDK在ArmCC编译器编译时会出现的报错
版本V2.00
- 发布日期: 2017/08/21
- 开发语言: C语言
- 开发环境: 64位Linux, GNU Make
- 下载链接: RELEASED_V2_00_20170818.zip
- 更新内容: