本文檔介紹如何基于TG7100C芯片開發Combo Mesh節點設備(BLE Mesh & WiFi Combo)。
簡介
Combo Mesh節點設備基于支持BLE & WiFi的雙模芯片,在特定的雙模芯片(TG7100C芯片)上實現了雙模射頻的共存,使得在應用開發時無需感知底層的雙模協議,通過配網的步驟能夠完成BLE Mesh與WiFi的鏈路配網綁定,并能夠在控制和數據傳輸時選擇合適的鏈路,使某些特殊情況下設備仍可被控制。
Combo Mesh節點設備的數據通信模型遵循BLE Mesh格式規范,關于BLE Mesh數據格式規范詳情請參考藍牙Mesh設備開發指南,底層通過WiFi鏈路的數據傳輸也是使用的BLE Mesh數據格式,不再支持Alink json的物模型格式。
場景說明
WiFi未聯網,或WiFi聯網后斷開,此時通過BLE Mesh可控制設備,控制端可以是天貓精靈音箱或天貓精靈App。
WiFi已聯網,可遠程控制設備,也可本地通過BLE Mesh控制設備。
相關限制說明
當前Combo Mesh節點設備只支持天貓精靈生態項目的接入,暫不支持自有品牌項目的接入。
當前Combo Mesh節點設備產品的人機交互>設備面板暫只支持宜控面板。
當前Combo Mesh節點設備的數據傳輸格式只支持BLE Mesh數據格式。
當前Combo Mesh節點設備僅支持走WiFi鏈路OTA,不支持手機端走藍牙鏈路OTA。
TG7100C芯片資料下載
TG7100C芯片相關文檔和軟件可以訪問資源中心獲取。
創建產品
在生活物聯網平臺控制臺創建產品,詳細的賬號登錄、項目創建、產品創建和配置流程請參考平臺操作指南的說明。目前Combo Mesh節點設備只支持天貓精靈生態項目的產品。
產品創建流程
創建項目
在新建項目時選擇天貓精靈生態項目。
創建產品
詳細說明請參考創建產品并定義產品功能。Combo Mesh節點設備必須勾選BLE Mesh & WiFi Combo選項,接入網關協議選擇BLE Mesh。
配置人機交互
完成必填配置項,詳細說明請參考配置App。
在配網引導頁面選擇藍牙Mesh配網。
在設備面板頁面選擇宜控面板。
生成測試五元組
目前的平臺方案設計要求Combo Mesh節點設備的MAC地址與五元組中的Device Name保持一致。如基于開發板開發,可以在固件運行后通過串口輸入MAC指令,查詢到芯片當前的MAC地址,并用此MAC地址作為Device Name在設備調試頁面申請測試五元組。
輸入MAC指令讀取芯片WiFi MAC,查詢WiFi MAC地址示例:
以下圖格式輸入讀取的MAC地址:
開發環境與代碼編譯
1、準備開發環境
請參考編譯SDK的詳細介紹。
2、下載SDK
請參考獲取SDK的步驟獲取。
3、編譯SDK
請根據以下步驟來編譯SDK,如下以Products/example/smart_outlet
為例。
編譯宏開關確認,
smart_outlet.mk
文件中,將CONFIG_BLEMESH_COMBODEV_ENABLE
的值設置為1
,表示編譯Combo Mesh節點設備。#combo mesh節點功能 CONFIG_BLEMESH_COMBODEV_ENABLE ?= 1
設置固件的版本號,
smart_outlet.mk
文件中,設置CONFIG_VERSION_STR
為對應的固件版本號,用于固件版本管理以及OTA固件升級,在平臺進行OTA固件升級時會比對該版本值,因此Combo Mesh節點設備的固件版本號需要在此設置并遞增。./build.sh example smart_outlet tg7100cevb MAINLAND ONLINE 1
編譯指令。
./build.sh example smart_outlet tg7100cevb MAINLAND ONLINE 1
SDK根目錄build.sh
文件說明:
根據硬件使用的模組型號和要編譯的應用,修改文件中的如下參數。
default_type="example" //配置產品類型
default_app="smart_outlet" //配置編譯的應用名稱
default_board="tg7100cevb" //配置編譯的模組型號
default_region=MAINLAND //配置設備的連云區域,配置為MAINLAND或SINGAPORE都可以,設備可以全球范圍內激活
default_env=ONLINE //配置連云環境,默認設置為線上環境(ONLINE)
Debug log:default_debug=0
default_args="" //配置其他編譯參數
//更多介紹請參見README.md
編譯完成后,在out/smart_outlet@tg7100cevb/
目錄下會生成smart_outlet@tg7100cevb.bin
文件。該文件為需要燒錄到真實設備中的固件。tg7100cevb_ota.bin
文件為OTA使用的固件。
build.sh腳本會自動判斷模組的toolchain(交叉編譯工具鏈)是否已經安裝,如果沒有安裝,腳本會自動安裝。
編譯出錯常見問題:
不要使用Windows下Ubuntu子系統,建議使用虛擬機軟件安裝Ubuntu。
不要在Windows下載解壓代碼再拷貝到Ubuntu系統中,建議直接在Ubuntu系統內下載和解壓代碼。
不要把代碼存放在Windows共享目錄下,然后通過mount掛載到Ubuntu系統里。建議直接在Ubuntu系統內下載和解壓代碼。
不要通過sudo執行編譯指令。
固件燒錄與運行
固件工具與開發板
請在資源下載頁面獲取TG7100C_FlashEnv燒錄調試工具。
固件燒錄步驟
如下以TG7100C官方開發板為例說明,如果是另外的開發板,請聯系相應的開發板廠商獲取對應資料。
首先切換開發板短路帽為燒錄模式,如下圖所示,短路帽前面會有3根空出的引腳:
打開下載好的燒錄工具目錄中的
TGFlashEnv.exe
,點擊Finish:然后會進入燒錄界面,Interface選擇Uart,并點擊Refresh按鍵,然后如下圖所示設置好串口參數,以及選擇好對應的燒錄文件。確認好配置后,點擊
Download
按鈕,并同時按下開發板上的復位按鍵,即可開始燒錄固件。
設備重啟與固件運行
需要切換開發板的短路帽為設備使用模式,如下圖所示,短路帽前面會有2根空出的引腳:此時串口工具設置波特率為2000000,然后按下開發板的復位按鍵,就看到設備復位開始運行的日志了。
主要cli指令
reset:設備重置,清除設備配網信息。
free:查看內存使用情況。
linkkey:寫入與查看五元組。
調試設備功能
設置五元組
在按照前面的步驟,將設備固件燒錄到開發板之后,可以通過linkkey命令設置五元組,然后通過reset命令重置設備。命令說明如下。
設置五元組信息,該五元組信息在飛燕控制臺創建的產品與設備信息中找到,在設備上電初始后就需要設置此設備信息:
linkkey、ProductKey、DeviceName、DeviceSecret、ProductSecret、ProductID
設備重置,清除設備配網信息:
reset
天貓精靈App配網
在開發板上設置天貓精靈產品的五元組,并重置設備。設備正常啟動后會處于待配網狀態(一般會維持在待配網狀態10分鐘),設備會通過BLE廣播自己的設備信息。
天貓精靈App可在其設備發現頁面發現到處于待配網狀態的Combo Mesh節點設備,通過App界面可發起對Combo Mesh節點設備的配網。
在對Combo Mesh節點設備的配網界面,需要輸入附近路由器的WiFi SSID和密碼,接下來不僅會將Combo Mesh節點設備配入BLE Mesh網絡,同時還會使Combo Mesh節點設備的WiFi連上路由器。
注意支持TG7100C藍牙輔助配網的天貓精靈App版本為V6.3.0及以上版本,請下載更新版本。
配網連云設備端關鍵日志
配網狀態 | 命令/動作 | 預期日志 |
設備重置 | 輸入cli指令:reset | --------Firmware info-------- |
收到BLE Mesh配網消息 | 手機或音箱對設備發起藍牙Mesh配網 | Prov start |
解析WiFi ssid和密碼信息 | 收到WiFi配網信息 | _parser_wifi_config |
連云 | 連云成功 | Cloud Connected |
設備OTA說明
下面介紹Combo Mesh節點設備產品OTA的過程,在OTA前必須要確認Combo Mesh節點設備的WiFi連接正常,否則會無法完成OTA過程。
登錄生活物聯網平臺運營中心。
進入設備運維>固件升級頁面為對應項目下的對應產品添加新版本固件。
CONFIG_VERSION_STR = 2.0.0
。獲取待升級固件文件和版本號。TG7100C固件編譯成功后在
readme.txt
文件中保存固件的版本信息,tg7100cevb_ota.bin
文件即為OTA的bin文件。添加固件,注意簽名算法需要選擇SHA256。
驗證固件。
進入天貓精靈App,查看待驗證設備的設備詳情頁面,可以看到已有設備升級的提示,點擊立即更新即可開始OTA。
量產五元組說明
上述介紹了測試五元組的獲取,本節介紹量產階段如何獲取五元組。
生活物聯網平臺設備量產詳細說明請參考量產流程介紹與量產設備。
天貓精靈項目三元組
對于天貓精靈項目的產品,天貓精靈有MAC地址段,在人機交互-配網引導里面選擇藍牙Mesh配網后,生成三元組(又稱設備證書,其中包含ProductKey、DeviceName、DeviceSecret)時可以分配合法MAC地址作為Device Name。
燒錄時通過量產燒錄工具寫入Device Name同時覆蓋芯片WiFi MAC即可實現WiFi MAC與Device Name保持一致的要求。
天貓精靈生態項目的產品在量產設備時,選擇自動生成即可。
三元組擴展五元組
按以上操作步驟下載的csv格式文件都是三元組清單,需要通過文本處理才能生成符合TG7100C批量燒錄工具需要的五元組清單的格式。
注意csv格式文件的處理要保持文本格式,通過文本編輯器可編輯。建議編寫一個程序來處理。不要通過Excel編輯,這會將其轉為Excel的格式。
下載后的三元組csv清單示例如下:處理后的五元組csv清單示例如下,按文本格式增加ProductSecret
,ProductID
的內容。其中第1行的ProductSecret
,ProductID
拼寫(含大小寫)也嚴格保持一致。
五元組燒錄
在資源下載頁面下載TG7100C批量燒寫工具與文檔《TG7100C五元組量產工具使用說明》,完成包含五元組的.csv文件導入到數據庫后進行燒錄。