含AliOS Things的生活物联网平台SDK即包含AliOS Things物联网操作系统(基于AliOS Things V1.3.4)和Link Kit V2.3.0。本文档基于含AliOS Things版本SDK,介绍Wi-Fi模组的移植过程。
概述
基本流程如下图所示。
芯片适配
在适配生活物联网平台SDK前,请确认模组使用的Wi-Fi芯片是否已经支持AliOS或者Link Kit。如果模组使用的Wi-Fi芯片尚未支持AliOS或者Link Kit,可以推动芯片原厂移植生活物联网平台SDK。
生活物联网平台SDK已支持的Wi-Fi芯片如下表所示。
芯片厂商 | 芯片型号 |
天猫精灵 | TG7100C |
翱捷科技 | ASR5501 |
ASR5502 | |
展锐 | RDA5981X |
博通集成 | BK7231 |
BK7231S | |
BK7231U | |
瑞昱 | RTL8710BN |
庆科 | MOC108 |
MX1101 |
模组移植
获取含AliOS Things的SDK。请参见获取SDK。
业务代码存放到SDK相应的目录下。
划分Bootloader、Flash分区。
Bootloader和Flash分区是board目录下对应模组文件夹的重要部分。
AliOS Things由于功能需要维护了一张Flash分区表,这张表包括bootloader区、Application区、OTA TMP区以及parameters区,如下图所示。
模组可以结合自身Flash大小、Bootloader实现等调整Flash分区。Flash分区大小划分原则如下。
获取芯片平台的Flash大小。
获取bootloader信息,包括:bootloader支持的升级类型(原地或乒乓)、bootloader跳转地址(如果是乒乓会有两个跳转地址)。
根据bootloader获取的信息,划分整个Flash。
根据以上划分原则,以HF-LPT230模组为例说明其Flash分区。其芯片RDA5981A,Flash size为1Mbytes。分区表数组
hal_logic_partition_t hal_partitions[]
定义在board/hf-lpt230/board.c文件中。分区
地址范围
大小
备注
Bootloader
0x18001000~0x18004000
12 Kbytes
存储bootloader固件
Application
0x18004000~0x18095000
580 Kbytes
应用代码分区
OTA Storage
0x18095000~0x180F7000
372 Kbytes
OTA代码分区
PARAMETER1
0x180F7000~0x180F8000
4 Kbytes
OTA参数存储区
PARAMETER2
0x180F8000~0x180FA000
8 Kbytes
KV存储区
PARAMETER3
0x180FA000~0x180FB000
4 Kbytes
用户自定义
PARAMETER4
0x180FB000~0x180FC000
4 Kbytes
安全相关的参数存储区(如ID²密钥)
SYS RF Data
0x180FC000~0x180FD000
4 Kbytes
Wi-Fi模组RF参数
HFILOP
0x180FD000~0x180FF000
8 Kbytes
模组商用于存放设备证书和MAC地址
模组自测
模组完成SDK移植后,请参见生活物联网平台模组厂家自测用例集文档规定的自测用例完成模组自测。
自测主要从以下几个方面验证模组功能和稳定性。
配网
设备控制(云端控制和本地控制)
通道稳定性
固件升级
模组提测
模组测试并非强制,完成模组移植生活物联网平台SDK后,即可基于模组开发产品。是否需要做模组测试,请根据实际业务需要,先与阿里云IoT智能生活业务团队或者阿里天猫精灵业务团队确认。
如需做模组测试(提测窗口为:feiyan_certification@alibabacloud.com),您需要提供以下内容。
代码库位置(提供board文件夹代码位置)
自测报告
模组开发板 8块 + 配套供电线 + 串口线(用于获取设备端日志)+ 天线等配件
模组测试流程如下。
常见问题
Q:生活物联网平台SDK与AliOS和Link Kit是什么关系?
A:生活物联网平台SDK是基于AliOS v1.3.4和Link Kit v2.3.0的适合量产的稳定版本,优化了海外连接,并针对生活物联网平台业务进行了定制。
Q:我的模组已经适配过AliOS或者Link Kit别的版本,是否还需要切换生活物联网平台SDK?
A:生活物联网平台SDK针对配网成功率、稳定性、海外连接、生活物联网平台业务定制等方面进行了优化,对于量产产品,特别是要在海外大量出货的产品,需要切换到生活物联网平台SDK,否则可能会出现配网、连云、稳定性、兼容性等问题。
Q:模组如何开始配网绑定?
A:可以编译linkkitapp(编译命令aos make clean; aos make linkkitapp@yourboardname
),启动后依次执行awss命令和active_awss命令,设备会进入配网绑定流程。