涂鸦蓝牙SDK开发系列教程——4.烧录授权
固件開發完成后,需要將固件和授權碼燒錄到設備內,才可以連接云服務。涂鴉提供多種燒錄授權方式供您使用,您可在不同的開發階段選擇合適的燒錄授權方式。
一. 方案介紹
1.1 燒錄授權一體方案
燒錄授權一體方案指的是 燒錄 和 授權 都通過 涂鴉云模組燒錄授權平臺 實現,涂鴉云模組燒錄授權平臺已經集成了涂鴉標準芯片的燒錄軟件,您需要將固件按規范傳到 涂鴉 IoT 平臺,然后獲取 授權碼 (生產憑證) 進行燒錄授權。
1.2 燒錄授權分立方案
燒錄授權分立方案適用于 開發調試階段 或 涂鴉云模組燒錄授權平臺 未集成芯片的燒錄軟件 時,您可使用芯片燒錄軟件進行固件燒錄,根據授權方式的不同可分為以下兩種情況:
- 自行寫入授權碼:涂鴉以 MS Excel 文件形式提供 授權碼 (授權碼清單),您需要將其寫入固件實現授權,然后通過芯片燒錄軟件完成燒錄授權。
- 使用涂鴉上位機寫入授權碼:您需要將固件按規范傳到 涂鴉 IoT 平臺,獲取 授權碼 (生產憑證-僅授權) 后即可通過 涂鴉云模組燒錄授權平臺 完成授權,通過芯片燒錄軟件進行固件燒錄。
二. 固件上傳
如果選擇通過 涂鴉云模組燒錄授權平臺 進行授權,需要先在 涂鴉 IoT 平臺 的【硬件開發】頁面上傳固件。
新增固件。
進入產品【硬件開發】頁面,單擊下圖中的【新增自定義固件】。
填寫固件信息。(點擊各條目的 “?” 圖標查看填寫說明)
- 固件標識名:必須與 步驟 3 中配置的固件標識名保持一致;
- Flash 大小:可以在 模組規格書 的產品概述中找到;
填寫完成后點擊【生成固件 KEY】,如果提示【標識名已存在】,則需重新填寫新的標識名。固件標識名具有 唯一性,不可與已創建的固件重復,可根據產品規格或個人喜好進行命名,例如【芯片平臺+產品類型+產品特性+廠商標識名/個人姓名縮寫】。
配置固件。
打開 SDK 中 tuya_ble_sdk_demo\app 路徑下的 tuya_ble_sdk_demo.h 文件,修改 產品 ID 、固件標識名 和 固件版本號,固件標識名必須與 步驟 2 中填寫的 保持一致。固件版本的定義可以參考 固件版本說明,藍牙單點固件的版本號一般采用 bv.sv (0.0~99.99) 格式,對應于代碼中 TY_DEVICE_FVER_NUM 的低 16 位,比如版本號為 1.10 時,TY_DEVICE_FVER_NUM 為 0x0000010A (00 00 01 0A)。
/* 將“xxxxxxxx”替換為在涂鴉IoT平臺上創建的產品的PID */ #define TY_DEVICE_PID "xxxxxxxx"/* 修改固件名稱和版本號,上傳固件時填寫的信息需與這里一致 */ #define TY_DEVICE_FIR_NAME "ble_module_sdk_development_demo" #define TY_DEVICE_FVER_NUM 0x00000001 #define TY_DEVICE_FVER_STR "0.1"打開 SDK 中 tuya_ble_sdk_demo\app 路徑下的 tuya_ble_sdk_test.h 文件,將 TUYA_BLE_SDK_TEST 的值修改為 0,以關閉測試模式;
/* 將 1 修改為 0,關閉測試模式 */ #define TUYA_BLE_SDK_TEST 0生成固件。
對修改后的代碼進行編譯,生成用于燒錄的固件。對于 TLSR825x 平臺而言,代碼編譯前建議對工作區文件進行刷新后再編譯,編譯生成的固件為 ble_sdk_multimode\8258_module\8258_module.bin。
新增固件版本。
在 步驟 2 生成 固件 KEY 后,可以看到【當前版本】中提示【!無生產版本】,點擊下方的【新增固件版本】進入【上傳固件】頁面。
上傳固件。(點擊各條目的 “?” 圖標查看填寫說明)
-
固件版本:必須與 步驟 3 中配置的固件版本 保持一致。
-
生產固件:用于傳遞給工廠燒錄的固件文件。
-
用戶區固件:用于傳遞給工廠燒錄的固件文件。
-
升級固件:用于固件升級 (OTA) 的固件文件,首次上傳固件時可忽略。
對于 TLSR825x 平臺而言,生產固件、用戶區固件、升級固件均為 8258_module\8258_module.bin。
如果是在 步驟 2 直接點擊【上傳固件】進入 步驟 6 的,那么可能會在點擊【保存】后才提示【標識名已存在】,可以點擊【返回上一步】回到 步驟 2 所示頁面,修改固件標識名,同時要修改 本地固件 中的標識名。然后再點擊【上傳固件】進入 步驟 6 所示頁面,并將鼠標移至已上傳的 8258_module.bin 上,點擊右側出現的 刪除 圖標,再上傳新的固件。
進行固件上架。
設置上架內容和上架范圍后上架固件。
固件管理。
可在左側導航欄【固件管理】中找到固件,點擊【詳情】可查看更多固件信息。
三. 授權碼獲取
3.1 模組
在【硬件開發】頁面選擇好云模組后即可獲取授權碼,操作步驟如下:
點擊【立即購買】進入 購買詳情 頁。(新用戶可免費申請 2 個授權碼,參考步驟 5)
設置 數量 后,點擊【立即購買】進入 訂單信息確認 頁面,確認信息無誤后 提交訂單 完成購買。
如果僅購買授權碼,可點擊右上角“×”號退出模組的 購買詳情 頁,并在 通用備貨采購 頁面選擇 授權碼-通用版 進行購買。該頁面也可通過左側導航欄的 采購 - 采購商品 - 生產研發采購 中進入。
在 購買詳情 頁設置 產品 和 交付形式 后完成授權碼購買。
如果選擇 “免費領取 2 個激活碼”,在 免費領取授權碼 頁面設置好 交付形式 后下單即可。
訂單提交后,可在 采購 - 訂單管理 - 采購訂單 中進入 調試樣品&樣品訂單 頁面,下載產品對應的授權碼。
3.2 三明治開發板
如果使用 涂鴉三明治開發板 進行開發,獲取授權碼的步驟如下:
進入 三明治開發板 管理界面,綁定開發板。
單擊【申請新的授權碼】,選擇對應的 產品 后,單擊【確定】即可獲得授權碼。
如果申請失敗并提示“您需要先申請到燒錄軟件專門的賬號”,請先在 涂鴉PMS 系統 注冊頁面完成賬號申請,申請的手機號 (賬號) 要與 IoT 平臺的手機號 (賬號) 保持一致。
四. 固件燒錄授權
在燒錄授權之前,請確認是否已按照 第 3 課:環境搭建 中的方法準備好了以下燒錄環境:
- 已注冊了 PMS 賬號;
- 已安裝了 生產解決方案 和 原廠燒錄軟件 ( BTU模組:Telink BDT );
- 已準備了安裝有 涂鴉藍牙模組的 的 開發板 、芯片專用燒錄器 和 USB 轉串口工具。
下面根據授權碼的三種交付形式進行固件燒錄授權的操作步驟說明。
4.1 生產憑證
將 開發板 與 USB 轉串口工具 及 燒錄器 (Telink) 連接。
有些芯片平臺只需要連接 USB 轉串口工具,TLSR825x 芯片平臺必須兩個都連接!
打開 生產解決方案 軟件,登錄 PMS 賬號。
點擊 云模組 進入 涂鴉云模組燒錄授權平臺。
選擇 端口號,輸入 生產憑證,工位選擇 燒錄授權。
點擊 運行 完成燒錄授權。
4.2 授權碼清單
將 開發板 與 燒錄器 (Telink) 連接。
從授權碼清單中選取一組 uuid、authkey 和 mac 地址 填入 tuya_ble_sdk_demo.h 中的對應位置。
#define TY_DEVICE_PID "xxxxxxxx" /* PID */ #define TY_DEVICE_MAC "xxxxxxxx" /* mac */ #define TY_DEVICE_DID "xxxxxxxx" /* uuid */ #define TY_DEVICE_AUTH_KEY "xxxxxxxx" /* authkey */在 tuya_ble_sdk_demo.c 中的將初始化參數 use_ext_license_key 和 device_id_len 分別修改為 1 和 DEVICE_ID_LEN (即 16),以使上述授權碼生效。
static tuya_ble_device_param_t tuya_ble_device_param = {.use_ext_license_key = 1, /* 1-info in tuya_ble_sdk_demo.h, 0-auth info */.device_id_len = DEVICE_ID_LEN, /* DEVICE_ID_LEN-info in tuya_ble_type.h, 0-auth info */.p_type = TUYA_BLE_PRODUCT_ID_TYPE_PID,.product_id_len = 8,.adv_local_name_len = 4,.firmware_version = TY_DEVICE_FVER_NUM,.hardware_version = TY_DEVICE_HVER_NUM, };對代碼進行編譯后,使用芯片原廠燒錄工具 Telink BDT 燒錄固件 8258_module.bin。
4.3 生產憑證-僅授權
將 開發板 與 USB 轉串口工具 及 燒錄器 (Telink) 連接。
打開 生產解決方案 軟件,登錄 PMS 賬號。
點擊 云模組 進入 涂鴉云模組燒錄授權平臺。
單擊【文件】-【設置】,啟用【只授權】選項。
選擇 端口號,輸入 生產憑證,工位選擇 燒錄授權。
點擊 運行 完成授權。
打開芯片原廠燒錄工具 Telink BDT,按下圖步驟完成固件 (8258_module.bin) 燒錄。
五. 固件二次燒錄
如果是在 開發調試階段,在完成首版固件燒錄授權之后,如果要二次燒錄修改后的固件,一般使用 原廠燒錄軟件和芯片專用 燒錄器 進行固件燒錄。(即一次授權,多次燒錄)
將 開發板 與 燒錄器 (Telink) 連接。
對代碼進行編譯后,使用芯片原廠燒錄工具 Telink BDT 燒錄固件 8258_module.bin。
六. 設備聯網測試
完成固件燒錄授權后,即可通過 智能生活 APP 測試設備是否能正常配網。
打開 智能生活 APP,添加設備。
方法 ①:在 首頁 點擊右上角 “+” 號進入 添加設備 頁面,看到產品圖標時進行添加;
方法 ②:在 添加設備 頁面找到 傳感 品類,選擇 溫濕度傳感器(藍牙),掃描到設備后點擊 “+” 號進行添加。
進入設備面板,查看固件版本。
成功連接設備后,可從 首頁 進入設備面板,然后點擊右上角圖標進入 設置 頁面,點擊 設備升級 即可查看設備的固件版本。
獲取設備虛擬 ID,查看云端日志。
在 設置 頁面點擊 設備信息 即可獲得設備的 虛擬 ID;
進入 涂鴉 IoT 平臺,從左側導航欄的【產品】-【設備】進入 設備管理 頁面或 設備日志 頁面,根據 設備 ID 找到對應的設備,即可查看該設備的狀態和日志等信息。
七. 常見問題解答
7.1 不同芯片平臺的燒錄授權方法
本節課主要介紹了 TLSR825x 平臺下 BTU 模組 的燒錄授權方法,如果您使用的是其他芯片平臺的涂鴉標準藍牙模組,可以同時參考 燒錄授權 - BLE 模組 中的文檔來完成燒錄授權工作。
7.2 云模組燒錄授權平臺常見問題
7.2.1 獲取token失敗:沒有操作權限
輸入【生產憑證】點擊【確定】后出現【獲取token失敗:沒有操作權限】提示,可在 PMS 系統的【生產管理 - 工單管理 - 生產憑證確認】中進行生產憑證確認后,再重新嘗試。
7.2.2 端口異常
點擊【運行】按鈕后出現【端口異常2】提示,可能的原因有:
- 串口驅動未安裝;
- 串口工具沒插好、接線有誤或接觸不良等硬件連接問題;
- 端口被占用,如串口調試助手上打開了該端口。
7.2.3 獲取固件指紋錯誤
點擊【運行】按鈕后出現【獲取固件指紋錯誤】提示,說明模組內已燒錄的固件的 固件標識名 或 固件版本 與授權碼綁定固件的固件標識名或固件版本不一致。該錯誤一般出現在 僅授權 情況下,解決方法有:
- 使用和模組內固件標識名及版本號一致的生產憑證進行授權;
- 使用非僅授權方案,重新對模組進行 燒錄授權。
7.2.4 進入產測失敗
點擊【運行】按鈕后出現【進入產測失敗】提示,可能原因有:
-
設備已聯網超過 15 分鐘,產測關閉,需要擦除 Flash 中的對應區域的數據信息;
-
串口選錯或者 TX 和 RX 接錯,請檢查接線是否正確;
-
波特率選擇錯誤,需在【文件 - 設置】中選擇正確的【燒錄波特率】;
-
對于一些供電要求比較高的芯片,需要供電穩定的 USB 口進行燒錄授權。
更多關于涂鴉藍牙模組產測的信息可查看 藍牙 SDK 產測。
上一篇: 第 3 課:環境搭建
下一篇: 第 5 課:應用開發
總結
以上是生活随笔為你收集整理的涂鸦蓝牙SDK开发系列教程——4.烧录授权的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言自学门槛,初学C语言的人最常问的几
- 下一篇: Matplotlib学习---用matp