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