引言
隨著物聯網應用技術的發展,人們的生活融入著越來越多網絡化、數字化的行為方式。物聯網應用技術的一個重要分支便是智能家居,這一分支對于改善人們的生活水平至關重要。近些年來,消費者對家居的舒適性、便捷性有了一定的要求。針對現階段己有的智能家居系統成本高、功耗大、集成度低等缺陷,分析并選取合適的平臺、傳感器和無線組網方式,設計了一款成本低、功耗低、集成度高的智能家居系統,該系統具有較好的應用和參考價值。 本系統采用涂鴉智能涂鴉模組二次開發版本,綜合涂鴉Wi-Fi&BLE通信組網技術,以及傳感器的應用技術,實現家居環境的智能聯網,下圖為涂鴉智能的Wi-Fi&BLE SoC NANO主控板(BK7231N)。
涂鴉模組二次開發產品
本章節介紹涂鴉模組二次開發方案項目流程,涂鴉IoT平臺為客戶提供一站式物聯網解決方案,涵蓋設備智能化、云服務、App 軟件開發、運營維護等各方面,助力各行業客戶實現研發端、生產端、銷售端、運營端全產業互聯網化。 當您確定好產品需求后,需要將產品具體化到IoT平臺上,便于您管理產品并擁有產品運營能力。
產品開發流程
涂鴉模組二次開發方案開發周期短、成本低,您在IoT工作臺上配置完成后,模塊即會攜帶完整的控制程序,免去外置MCU及繁瑣的程序開發,助您快速實現產品智能化,創建項目,標準類目選擇“照明”,選擇“幻彩燈帶”。
選擇開發方案,根據下圖指示選擇“自定義方案”,這里我們是對涂鴉模組進行二次開發,所以選擇“自定義方案”。
按照自己將要開發的產品和模組填寫產品名稱,選擇對應的通信協議,配置完成后點擊“創建產品”。 這里準備使用CBU模組開發一個可以幻彩燈帶的產品。CBU模組是一款Wi-Fi&Bluetooth LE雙模模組,選擇的通信協議是“WiFi-藍牙”。
根據產品想要實現的功能,選擇對應的功能點,選擇完成后點擊“確認”。 如果有些你需要的功能點在標準功能點里面沒有,可以在標準功能點選擇完成后,自定義你需要的功能點。(標準功能點可以在公版面板上很好的顯示和操作。如果選擇了自定義功能點,可能無法在面板上顯示和操作)。
在設備交互中選擇自己喜歡的APP界面,也可以自己進行定義。
點擊“硬件開發”,選擇“TuyaOS”,選擇“CBU Wi-Fi&Bluetooth 模組”(如果你使用的是其他模組,選擇對應的模組即可)。
箭頭①指向的“新增自定義固件”是指上傳你已經開發好的產品固件(如何開發將會在后面的內容進行講解)。 點擊箭頭②指向的“ty_iot_light_app_sdk_bk7231n”下載該模組的SDK。
應用場景
涂鴉三明治 Wi-Fi&BLE SoC NANO主控板(BK7231N)采用上海博通開發的高性價比的 Wi-Fi &BLE 雙模芯片 BK7231N。開發板包含 Wi-Fi 芯片BK7231N、按鍵、LED 指示燈、 I/O 接口、電源和USB轉串口芯片等。 I/O 口及各接口功能定義如下所示:
1:MICROUSB(CN1) :即是 5V DC 輸入口,也擴展了 2 個串口功能。 2:撥碼開關(S1): 撥碼切到 ON 方向導通,通斷 USB 轉串口芯片的雙串口和芯片串口之間的鏈路。 3: 指示燈(D3):3.3V 電源指示燈。 4:按鍵(S2):通過 P9 檢測,初始化高電平,按下為低電平。 5:指示燈(D2):通過 P16 控制,低電平點亮。 6:按鍵(RST):復位按鍵,按下后芯片復位。
原理圖及PCB
涂鴉三明治 Wi-Fi&BLE SoC NANO 主控板(BK7231N)的原理圖如下所示:
涂鴉三明治 Wi-Fi&BLE SoC NANO 主控板(BK7231N) 的 PCB 如下圖,頂層:
底層:
Wi-Fi&BLE SoC NANO主控板(BK7231N)接口說明
涂鴉三明治 Wi-Fi&BLE NANO 主控板(BK7231N)內置 USB 轉串口芯片,單路 USB 口可擴展出 2 個串口。可通過撥碼開關(S1)切換模組的兩路串口是否連接到 USB 轉串口芯片上。撥碼開關引腳說明如下表所示。
撥碼切到 ON 方向導通,通斷 USB 轉串口芯片的雙串口和芯片串口之間的鏈路。 芯片 UART 引腳用于與MCU通信或普通 I/O 口使用時,需將相應的撥碼位置撥到斷開的位置,即數字字母方向。 電腦 COM 口與 USB 芯片串口和芯片 BK7231N 對應關系。
通常情況下A是用來下載程序用的,B是用來打印日志的
燒錄授權接線方式
將撥碼開關(S2)的 1、2 路都撥至 ON 方向,BK7231N 的串口 UART1 與上位機鏈路導通。 注意:若出現“獲取RF標志位失敗”的情況,可在授權階段,將串口2的RXD引腳(P01引腳)和GND短接。
環境搭建
環境搭建請參考涂鴉智能配置說明: https://developer.tuya.com/cn/docs/iot/Module-SDK-development_tutorial?id=Kauqptzv5yo8a
從涂鴉 IoT 開發平臺下載 SDK 進行驗證
在涂鴉IoT 開發平臺上成功創建自定義開發的產品后,在硬件開發中選擇 TuyaOS,即可下載該模組的 SDK。**此前需聯系涂鴉工作人員開通白名單授權,聯系方式放在文末。
**
將下載好的 SDK 復制到 Windows 和 Ubuntu 的共享文件夾中,在 Ubuntu 虛擬機中輸入下列命令進行編譯:
cd /home/share/samba/
tar -xzvf *.tar.gz #注意:該命令會將當前目錄下所有后綴名為.tar.gz的文件進行解壓,建議將*.tar.gz改為你實際要解壓的文件的完整名字
cd ty_iot_light_app_sdk_bk7231n_0.1.1
sh build_app.sh ./apps/xh0623_demo_pixel_light_ty xh0623_demo_pixel_light_ty 1.0.0
執行成功如下所示:
模組二次開發流程
啟動流程介紹
在開始開發前,需要了解 SDK 的初始化流程。這里需要重點關注四個函數pre_app_init()、pre_device_init()、app_init()和device_init()。啟動流程如下圖所示。
修改代碼
產品PID定義
可以根據下面的提示填寫產品的 PID 信息,也可以不對代碼進行任何更改,跳過該步驟直接進入下一步編譯生成固件。 將apps下的include/light_system目錄下的light_system.h中的PRODUCT_KEY修改為您創建得到的 PID,FIRMWARE_KEY是固件key,可以填NULL。
燈珠數量定義
在/home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1/app/xh0623_demo_pixel_light_ty/include/src/light_system/light_init.c中可以進行修改。
燈帶長度定義
在/home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1/app/xh0623_demo_pixel_light_ty/include/src/light_upload/light_upload.c中可以進行修改,其中DPID_LED_NUM是燈珠數量,DPID_LED_LENGTH是燈帶長度,單位為厘米。
編譯和生成產物介紹
在 Ubuntu 終端中將路徑切換到有 build_app.sh 的路徑下,輸入下列命令進行編譯。 例:我這里處于home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1路徑下,開始執行下列命令。
sh build_app.sh ./apps/xh0623_demo_pixel_light_ty xh0623_demo_pixel_light_ty 1.0.0
命令 | 含義 |
---|---|
sh build_app.sh | 命令執行 build_app.sh 腳本。 |
./apps/tuya_demo_light_pwm | 編譯的工程所在的路徑。 |
tuya_demo_light_pwm | 固件名稱,固件標識名,必須要和工程文件夾名稱一致。 |
1.0.0 | 軟件版本號。 |
執行后如下所示。
生成產物
編譯完成后,將生成的固件按照不同版本放在所編譯的工程目錄 output 文件夾內。 例:如果我們編譯的是 apps 文件夾中的 xh0623_demo_pixel_light_ty工程,編譯版本為1.0.0,那么生成的固件將會放在 apps/xh0623_demo_pixel_light_ty/output/1.0.0 中。
編譯后的產物如上圖所示,這里主要關注的xh0623_demo_pixel_light_ty_QIO_1.0.0.bin、xh0623_demo_pixel_light_ty_UA_1.0.0.bin和xh0623_demo_pixel_light_ty_UG_1.0.0.bin這三個文件。
文件名 | 功能 |
---|---|
xh_bk7231n_light1_io_xx_QIO_1.0.0.bin | 生產區固件:boot+用戶區固件+檢測固件。 |
xh_bk7231n_light1_io_xx_UA_1.0.0.bin | 用戶區固件 |
xh_bk7231n_light1_io_xx_UG_1.0.0.bin | 升級固件 |
上傳固件
自定義開發固件如果不上傳到云平臺,直接將 UA 文件燒錄到已授權的模組中,會導致配網一直無法成功。 進入涂鴉 IoT 平臺,在開發的產品中找到“硬件開發”,按照下圖指示點擊“新增自定義固件”,填寫相關固件信息。 “固件標識名”必須和您編譯時的 apps 下的工程文件夾的名稱一致。 如果固件標識名填寫為 wifi_one_light,上傳的固件應為 SDK 包中 apps 目錄下的 wifi_one_light 文件夾中編譯所生成的固件。 “Flash 大小”為 16Mbit 也就是 2M 大小。不同模組的 flash 大小可以在涂鴉文檔中心 中查看相關模組的 flash 大小。 1byte(字節) = 8bit(位)。 16Mbit / 8 = 2M。 相關信息填寫完成后(沒有被②的框框圈到使用默認設置即可),點擊“上傳固件”,進入“上傳固件“步驟。
“固件版本”需要和編譯時輸入的版本號對應一致。“生產固件”上傳包含 QIO 的 bin 文件,“用戶區”上傳包含 UA的bin 文件,“升級固件”上傳包含 UG 的 bin 文件。運行模式選擇 QIO。點擊保存。 注意:該順序不一定固定,在后續固件管理中就不是按照“生產固件”,“用戶區固件”和“升級固件”的順序來排序,所以一定要看清楚是什么類型的固件在進行上傳。
點擊“進行固件上架”。
選擇“不限范圍”,點擊“確認上架”。 注意:這里選擇不限范圍是為了方便個人開發。如果是公司將要量產的產品,請嚴格限定固件的使用范圍。
燒錄授權
通過涂鴉 IoT 開發平臺涂鴉模組二次開發方案成功生成固件,或使用自定義開發方案生成固件并上傳到涂鴉 IoT 開發平臺后,下一步需要對模組進行燒錄授權。 本文將詳細講解 3 種不同的燒錄授權方式: 自定義開發燒錄授權:適用于發布階段,使用自定義開發方式創建的產品。 三明治開發板方式燒錄授權:僅適用于涂鴉三明治開發板的燒錄授權。 使用原廠工具燒錄:適用于開發階段。方案的特點是授權一次,重復燒錄。
燒錄準備工作
燒錄授權所需工具如下:
- PMS 賬號
- CBU Nano開發板或涂鴉WiFi模組+usb轉UART串口工具
- 云模組燒錄授權工具
- 原廠燒錄工具
PMS 賬號
PMS賬號申請網址:
PMS是涂鴉智慧生產管理系統,一個輕量化的生產管理系統,助力中小微生產企業實現降本、提質、增效和減存,完成數字化轉型。 登錄涂鴉PMS系統。登錄成功后,依次點擊知識庫管理->軟件下載->生產解決方案開始下載「生產解決方案」。
安裝過程中,程序安裝的位置可以根據自身需求進行設置,建議不要有中文路徑,避免出現一些意想不到的問題。 安裝完成后,啟動「生產解決方案」,登錄的賬號和密碼與涂鴉PMS系統(涂鴉智造)的賬號和密碼一樣。 由于是開發CBU Wi-Fi & Bluetooth 模組,故選擇生產測試->云模組即可。
選擇文件->設置,進行燒錄設置,授權波特率最好設置在9600。
授權設置
點擊產品->三明治開發板->綁定開發板進行綁定。
一般情況下,開發板背部都有一張標簽,上面附帶了ID和密碼。
點擊申請新的授權碼,即可選擇需要添加的產品。
使用云模組燒錄授權平臺燒錄
設置完畢之后將授權碼輸入到生產憑證中,選擇燒錄模式。
點擊運行,在對開發板進行復位就可以進行下載。
原廠工具燒錄UA文件
使用該方法只能燒錄應用區固件,無法給模組進行授權操作。可以使用該方法給已經授權過的模組進行燒錄,避免每次更新代碼生成固件后都要上傳到涂鴉loT平臺使用「云模組燒錄授權平臺」工具進行燒錄授權。 下降鏈接如下:
https://images.tuyacn.com/smart/shiliu_zone/SOC_Develop/tools/bk_writer_gui_V1.6.3.rar
使用此方法只能燒錄應用區固件,無法給模組進行授權操作。可以使用該方法給已經授權過的模組進行燒錄,避免每次更新代碼生成固件后都要上傳到涂鴉 IoT 開發平臺使用云模組工具進行燒錄授權。 按照下圖步驟,在箭頭 ① 所指向的燒錄對象中,根據實際燒錄的模組選擇對應的芯片型號,可在文檔中心查看相關模組規格書,確認模組使用的芯片型號。 單擊箭頭 ② 指向的瀏覽按鈕,選擇成功編譯生成的包含了 UA 字樣的 bin 文件(該文件就是應用區固件,這里選擇的固件就是wifi_one_light)。 在箭頭 ③ 和箭頭 ④ 指向的起始地址中填入0x00011000,操作長度中填入0x00119000。 在箭頭 ⑤ 指向的位置選擇正確的燒錄串口,將箭頭 ⑥ 指向的通訊波特率調整為最高,可以加快燒錄速度。 單擊箭頭 ⑦ 指向的燒錄,給模組通斷電或復位模組使模組重啟,開始燒錄。燒錄完成后,更改后的代碼就成功燒錄到模組中。你可以不再使用云模組工具對該模組再次進行授權操作。 燒錄設置如下所示。
燒錄完成如下所示。
涂鴉APP
可以在涂鴉手機APP中對模組進行添加。 一般情況下可以自動識別出來。
若沒有識別,點擊照明,燈帶進行添加。
若APP無法搜索到模組,需要對模組進行重置,查看原理圖可以知道P9管腳對應用戶按鍵。
查看/home/share/samba/ty_iot_light_app_sdk_bk7231n_0.1.1/app/xh0623_demo_pixel_light_ty/include/src/light_button/light_button_init.c下有個按鍵配置代碼,可以看到對按鍵點擊4次可以進入復位模式。
幻彩燈帶功能介紹
涂抹功能
用戶可以根據自己的喜好給燈帶進行設置,配置為自己喜歡的顏色組合,例如配置為藍綠紅。
實際配置如下所示。
還有豐富的色卡組合。
場景設置
用戶可以根據自己的喜好定義場景。
例如設置為海上焰火,效果如下所示。
音樂律動
音樂律動分為本地模式和APP模式,在本地模式下有搖滾、爵士、古典、滾動、能量、頻頻。 以爵士為例,設置之后可以選擇靈敏度來改變燈帶頻率。
實際演示如下所示。
在APP模式下,燈光根據手機麥克風采集到的音樂隨之律動。 如設置為音樂律動,顯示如下所示。
其他功能
用戶可以給幻彩燈帶進行設置,指定打開時間。 同時也可以定義燈帶的長度。
審核編輯:湯梓紅
-
soc
+關注
關注
38文章
4122瀏覽量
217955 -
wi-fi
+關注
關注
14文章
2113瀏覽量
124334 -
BLE
+關注
關注
12文章
652瀏覽量
59344 -
涂鴉智能
+關注
關注
7文章
198瀏覽量
19450
發布評論請先 登錄
相關推薦
評論