含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
安全相關的參數存儲區(如ID2密鑰)
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命令,設備會進入配網綁定流程。