生活物联网平台发布了多个设备端SDK版本,介绍各版本新增的功能以及开启相应功能的方法。

SDK V1.6.0新增功能

  • 支持全球统一激活中心

    编译固件时参数default_region配置为SINGAPORE 或者MAINLAND,设备可全球使用。

  • 设备端重连策略优化

    此功能优化了MQTT断连之后重新连云的策略,默认开启。

  • 蓝牙辅助配网时长优化

    此功能缩短了蓝牙辅助配网与绑定的总时长,默认开启。

  • 蓝牙辅助配网的离线配网和控制

    此功能使得在外网不可靠的条件下仍能完成配网,并且App仍能通过蓝牙控制设备。

  • 设备本地时钟同步服务

    此功能提供了一种设备间时间同步机制,如可用于多个灯组控时的场景同步。

SDK V1.5.0新增功能

  • 本地组控优化

    此功能提升了本地组控时的性能,可以优化灯品类组控、组律动的同步效果,默认开启。

  • 设备证书分发工具

    详情请参见设备证书分发工具使用指导

  • 离线恢复出厂设置

    此功能支持对离线的设备进行恢复出厂设置操作,设备重新上线后能获得离线时的恢复出厂设置操作。

SDK V1.4.0新增功能

  • 网关与子设备支持统一激活中心

    V1.4.0版本对网关参考应用做了重构,支持中国内地之外地区的子设备可以切换数据中心,请参考如下配置使能该功能。

    • 如您基于AliOS版本SDK开发,需要将Products/example/linkkit_gateway/make.settings文件中FEATURE_DM_UNIFIED_SERVICE_POST设置为yDM_UNIFIED_SERVICE_POST
    • 如您基于无AliOS版本SDK开发,可以编辑根目录下面的make.settings文件,增加FEATURE_DM_UNIFIED_SERVICE_POST=y。更多详情请参见网关及子设备开发
  • 设备离线日志功能

    对于具备设备热点配网的能力的设备,如果在设备配网绑定的过程中出现失败,App会引导用户进行诊断。进入诊断之后设备会将一些关键日志(例如错误码、上报云端的token、获取IP的时长等)发给App,通过App将这些日志上传到云端,然后可以在飞燕控制台的设备管理页面中进行查看,便于设备的远程运维。

    您如需开启此功能,在应用mk文件中增加配置项GLOBAL_CFLAGS += -DDEV_OFFLINE_LOG_ENABLE(如您基于linkkit_gateway开发,在linkkit_gateway.mk文件中已包含该配置项,如下图所示)。dev_offline_log
    说明 :该功能会占用约4KB的代码空间和将近3 KB的RAM空间,其中占用的RAM空间诊断结束之后会立即释放,不诊断的情况会在上电五分钟之后释放,您可以根据需要决定是否打开该功能。
  • 设备热点配网优化

    此项优化减小了设备通过设备热点配网连接中国内地之外地区站点的时长,默认开启。

  • 蓝牙辅助配网优化
    此项优化减少了设备通过蓝牙辅助配网连接中国内地之外的国家和地区(包括港澳台地区)站点的时长,并在配网进行过程中增加了设备异常自检信息的获取和显示,并能够在移动端App界面看到详细的设备异常信息。蓝牙辅助配网的以上功能在应用示例comboapp中已开启,即comboapp.mk中已开启以下配置项。
    GLOBAL_CFLAGS += -DAWSS_REGION_ENABLE
    GLOBAL_CFLAGS += -DDEV_ERRCODE_ENABLE
    说明 :使用蓝牙辅助配网功能的设备,请参考应用示例comboapp开发。
  • 设备连路由器失败诊断

    此功能默认开启,支持在设备Wi-Fi配网连接路由器失败时,启动自检并分析具体的路由器连接失败原因。失败详情错误码可以通过手机App页面显示。

  • Wi-Fi产线检测工具模块
    • 功能说明:此功能作为独立检测工具模块默认开启,提供给应用层开发时调用,用于搜索指定路由器的详情。
      • 默认搜索时间最长为3秒。
      • 可检测路由器是否能被搜索到。
      • 可检测路由器信号强度是否过弱。
      • 可在搜索到指定路由器时返回结果给应用层。
    • 使用限制
      • 不能在设备热点模式时使用。
      • 不能在设备和路由器处于连接状态时使用。
      • 不能在配网模式下使用。
    • 示例代码:
      关于该工具模块的使用,您可以参考应用示例living_platform中app_entry.c的示例代码的实现。
      #define TEST_LINE_AP                        "ali_product_line_test"
      #define TEST_RSSI_THRESHOLD                 (-60)
      static void handle_apscan_cmd(char *pwbuf, int blen, int argc, char **argv)
      {
          int ret = 0;
          ap_scan_info_t scan_result;
          int ap_scan_result = -1;
          if (argc == 0) {
              // start ap scanning for default 3 seconds
              memset(&scan_result, 0, sizeof(ap_scan_info_t));
              ap_scan_result = awss_apscan_process(NULL, TEST_LINE_AP, &scan_result);
              if ( (ap_scan_result == 0) && (scan_result.found) ) {
                  aos_cli_printf("AP Info: auth(%d) chan(%d) mac(%02X:%02X:%02X:%02X:%02X:%02X) rssi(%d)\r\n", scan_result.auth, 
                                  scan_result.channel, scan_result.mac[0], scan_result.mac[1], scan_result.mac[2],
                                  scan_result.mac[3], scan_result.mac[4], scan_result.mac[5], scan_result.rssi);
                  if (scan_result.rssi < TEST_RSSI_THRESHOLD) {
                      aos_cli_printf("AP_SCAN AP rssi too low\r\n");
                  } else {
                      aos_cli_printf("AP_SCAN AP found\r\n");
                  }
              } else {
                  aos_cli_printf("AP_SCAN AP not found\r\n");
              }
          }
      }

      运行living_platform应用的设备上电之后,输入命令apscan即可触发一次指定路由器的检测。

      • 如果检测到AP热点的RSSI过低,设备端会有日志打印提示:AP_SCAN AP rssi too low
      • 如果检测到AP热点,且RSSI较高,设备端会有日志打印提示:AP_SCAN AP found
      • 如果未检测到AP热点,设备端会有日志打印提示:AP_SCAN AP not found

SDK V1.3.0新增功能

  • 测试批量配网

    如果您是设备厂商,您可以在产线上将设备连到指定的产测路由器,开启此功能时设备在上电3s内自动连接路由器。该功能默认关闭,您如需开启此功能,请按以下步骤操作。

    • 在应用mk文件中增加配置项GLOBAL_CFLAGS += -DMANUFACT_AP_FIND_ENABLE
    • app_entry.c文件中更改产测路由器SSID和密码。
      • 默认SSID为ali_mprov_TEST_AP,其中ali_mprov_是模块自动加入的SSID前缀,TEST_AP是开发者可自定义设定的字段
      • 默认密码为TEST_PASSWORD
      配置示例
      说明 如果从应用层设定的部分SSID字段,或路由器密码字段为空,该模块功能不会启用。如果设定了正确的SSID和密码,设备在未配网状态下开机时会搜索该路由器,如果搜索到就会连接,搜索不到则会进入正常的待配网状态。
  • 终端用户批量配网

    支持App终端用户对多个同一型号的设备进行快速的批量配网,设备需支持设备热点配网或零配,每次最多可批量配网20个设备。

    您如需开启此功能,需在应用mk文件中增加配置项GLOBAL_CFLAGS += -DAWSS_BATCH_DEVAP_ENABLE(如您基于living_platform开发,在living_platform.mk文件中已包含该配置项,如下图所示)。

    配置示例
  • 设备热点配网错误码诊断

    此功能支持设备通过热点配网连路由器或连云过程中产生的异常,通过App端的“错误诊断”功能展示出来。

    您如需开启此功能,需在应用mk文件中增加配置项GLOBAL_CFLAGS += -DDEV_ERRCODE_ENABLE(如您基于living_platform开发,在living_platform.mk文件中已包含该配置项,如下图所示)。

    配置示例
  • 本地组控/组律动

    此功能提供了灯品类组内设备同步律动能力。

    您如需开启此功能,请按以下步骤操作。

    • 确认本地通信功能已经打开,即make.settings文件中FEATURE_ALCS_ENABLED设置为y,如下图所示。 配置示例
    • 在应用mk文件中增加配置项。如您基于living_platform开发,在living_platform.mk文件中增加以下配置项。
      GLOBAL_CFLAGS += -DALCS_GROUP_COMM_ENABLE
      GLOBAL_CFLAGS += -DDM_UNIFIED_SERVICE_POST
  • 离线OTA

    此功能提供了设备在设备热点下配网或连云失败后通过固件升级进行固件修复的手段,支持普通和安全离线升级。

    您如需开启此功能,需在应用mk文件中增加配置项GLOBAL_CFLAGS += -DDEV_OFFLINE_OTA_ENABLE(如您基于living_platform开发,在living_platform.mk文件中已包含该配置项,如下图所示)。

    配置示例

    您还可以按照以下步骤启用离线OTA安全签名校验。

    1. 在应用mk文件中增加配置项:GLOBAL_CFLAGS += -DDEV_OFFLINE_SECURE_OTA_ENABLE
    2. 获取产品的公钥。在控制台的运营中心 > 设备运维 > 固件升级 > 安全升级页面中, 打开对应产品的安全升级开关,并单击复制安全升级
    3. Living_SDK/framework/uOTA/src/verify/ota_public_key_config.h文件中,将下图的两行数据(红框所示),替换为获取的公钥信息。配置示例
  • Wi-Fi设备零配token优化

    此功能支持在零配过程中,由App端生成绑定用的token并传输给设备,从而解决零配方案在路由器设置AP隔离模式下绑定失败的问题。

    您如需开启此功能,需在应用mk文件中增加配置项GLOBAL_CFLAGS += -DAWSS_ZCONFIG_APPTOKEN(如您基于living_platform开发,在living_platform.mk文件中已包含该配置项,如下图所示)。

    配置示例

SDK V1.1.0新增功能

  • 除中国内地以外地区的设备支持统一激活

    在中国内地之外的地区具有3个数据中心:新加坡、美国和德国。中国内地以外地区的设备激活联网时,将统一连接到新加坡激活中心。在设备绑定时,平台将根据App用户所在区域,自动将设备切换到相应的数据中心。详情请参见基于V1.1.0 SDK编译(linkkitapp)

  • 定时组件

    增加了对倒计时、本地定时、循环计时、以及随机定时的简单产品物模型解析支持。

  • 连云优化

    提升了设备连云的速度。

  • 配网与绑定优化
    • 一键配网组播编码,避免AP隔离导致的无法绑定,提升绑定成功率。
    • 增加蓝牙辅助配网功能。
    • 提供密码加密存储。
    • 绑定解绑感知,绑定解绑成功通知设备。