製作一個有趣的塗鴉物聯網小專案(塗鴉模組SDK開發 CBU BK7231N WiFi+藍芽模組 HSV彩色控制)

東小東發表於2021-12-11

實現的功能:

l  APP控制月球燈

l  本地月球燈控制

l  APP控制“大白”顏色,實現各種顏色變身

l  門狀態感測器狀態APP顯示

l  網路狀態指示燈,連線伺服器長亮,斷開後閃爍

l  配網按鍵

l  雲端定時功能

l  雲端報警提示功能

l  雲端歷史資料檢視

l  遠端升級介紹

 

視訊演示:https://www.bilibili.com/video/BV1jg411P7f6

 

一、介面展示

       

       

二、 塗鴉開發概述

零程式碼開發

提供視覺化功能配置介面,無需任何程式設計經驗,只需要線上配置好產品的功能,及可自動生成韌體

 

MCU SDK開發

在MCU上進行程式碼開發,通過串列埠和塗鴉模組進行通訊,從而實現與平臺通訊

 

模組SDK開發

開發者利用塗鴉提供的SDK對模組進行二次開發,靈活性強,節省成本

 

先註冊一個賬號:

https://t.tuya.com/AY1D3R8gZc

 

三、硬體選型

Wi-Fi&BLE SoC NANO主控板(BK7231N)

l  Wi-Fi &BLE 雙模晶片

l   1:MICROUSB(CN1) :即是 5V DC 輸入口,也擴充套件了 2 個串列埠功能。

l   2:撥碼開關(S1): 撥碼切到 ON 方向導通,通斷 USB 轉串列埠晶片的雙串列埠和晶片串列埠之間的鏈路。

l   3: 指示燈(D3):3.3V 電源指示燈。

l   4:按鍵(S2):通過 P9 檢測,初始化高電平,按下為低電平。

l   5:指示燈(D2):通過 P16 控制,低電平點亮。

l   6:按鍵(RST):復位按鍵,按下後晶片復位。

原理圖:

 

兩個串列埠:

其中

l  A可以作為程式下載使用的

l  B通常是用來列印日誌的

參考:

https://developer.tuya.com/cn/docs/iot/tuya-sandwich-wifi-and-ble-soc-board-BK7231N?id=Kao72e6net3bs

對標的模組為:

l  內建低功耗 32 位 CPU,可以兼作應用處理器

l  主頻達 120MHz

l  工作電壓:3.0V~3.6V

l  內建2Mbyte 快閃記憶體和 256 KB RAM

l  外設:5×PWM,2×UART,1×SPI

l  Wi-Fi 連通性

n  802.11 b/g/n

n  通道1-14@2.4GHz

n  支援WEP,WPA/WPA2,WPA/WPA2 PSK (AES) 安全模式

n  802.11b模式下最大+16dBm的輸出功率

n  支援STA/AP/STA+AP工作模式

n  支援SmartConfig和AP兩種配網方式(包括Android和IOS裝置)

n  板載PCB天線,天線峰值增益2.2dBi

n  工作溫度:-40℃ to 105℃

l  藍芽連通性

n  藍芽模式支援6 dBm 發射功率

n  完整的藍芽共存介面

n  板載PCB天線,天線峰值增益2.2dBi

https://developer.tuya.com/cn/docs/iot/cbu-module-datasheet?id=Ka07pykl5dk4u

四、 建立一個產品(模組SDK開發)

建立產品步驟:

  1. 選擇品類
  2. 選擇開發方式為“自定義方案”
  3. 配置功能點(DP點)
  4. 製作介面,推薦使用Studio皮膚製作
  5. 硬體開發選型,點選“TuyaOS”,選擇支援模組SDK開發的模組
  6. 下載模組的SDK和領取授權碼

五、程式設計環境搭建

Ubuntu虛擬機器環境搭建

https://developer.tuya.com/cn/docs/iot/SoC-redevelopment_Windows?id=Kauqrxxka0wv6

 

安裝編譯工具

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install net-tools build-essential wget git python libc6-i386

共享資料夾

共享Linux資料夾,可以實現在Windows中程式設計,在Linux中編譯

Samba安裝

sudo apt-get install samba cifs-utils samba-common

在使用者目錄(/home/dong/)下建立共享資料夾,並且給資料夾可讀可寫可執行許可權

mkdir share
chmod 777 -R share

修改samba配置

sudo gedit /etc/samba/smb.conf

在檔案最後面新增配置資訊

[share] 
   path = /home/dong/share 
   available = yes 
   browseable = yes 
   public = no
   writable = yes

設定共享資料夾登入賬號

sudo smbpasswd -a dong

重啟服務

sudo service smbd restart

Windows操作

查詢Linux IP ,使用如下進行訪問

\\192.168.199.129\share

六、SDK使用及程式編寫

下載剛剛建立產品的模組SDK

複製到Linux共享目錄下,通過命令解壓

tar -zxvf b1daf5huhq0w.tar.gz

l  apps資料夾:用於存放示例工程和後續建立的工程放置處

l  platforms資料夾:用於存放模組的原廠庫和工具,在編譯時會由build_app.sh進行下載

l  sdk資料夾:塗鴉模組SDK的標頭檔案和庫檔案

l  build_app.sh:編譯指令碼

官方例程:

git clone https://github.com/Tuya-Community/bk7231n_light1_io_xx.git

文件:https://developer.tuya.com/cn/docs/iot/quick-start?id=Kaytf7h5yhp8y

 

在有build_app.sh檔案下編譯:

指令格式:

sh build_app.sh ./apps/工程名目錄名/ 工程名(工程名目錄名) 版本號

示例:

sh build_app.sh ./apps/bk7231n_light1_io_dxd/ bk7231n_light1_io_dxd 1.5

編譯成功:

編譯成功後在工程目錄下會建立“output”資料夾,並且裡面有對應的版本

輸出

l  QIO是生產韌體,生產時下載

l  UA是使用者韌體,本地除錯用原廠工具燒錄時使用

l  UG是升級韌體

 

程式介紹:

https://developer.tuya.com/cn/docs/iot/redevelopment?id=Kaytfdoorwc24

七、 韌體燒錄&授權

上傳韌體

必須要上傳一個韌體,然後進行授權燒錄一次,如果直接用原廠工具燒錄,不上傳韌體,硬體會始終無法配對

上架前:

上架後:

韌體標識名是非常重要的,編譯時的“工程名目錄名”,這個授權之後就是繫結關係了,後續如果更改,需要雲端也下架更改,比較麻煩。原廠工具燒錄時也必須同名編譯。

獲取授權碼

每個硬體都要有個獨立的授權碼,才能正常連線到雲平臺,就像硬體身份證一樣

 

方式一(模組):

如果是第一次使用平臺,可以獲取兩個免費的授權碼

方式二(開發板):

開發板可以通過ID和PASSWD獲取一個授權碼,這個開發板上一般會有貼紙

燒錄方式1,雲模組燒錄平臺,新板子必須經過一次

這裡是燒錄也是授權,燒錄的韌體是上傳到雲平臺的韌體

將編譯輸出的韌體上傳到產品下,獲取啟用碼(生產憑證)

 申請一個PMS賬號

https://pms.tuya.com/login

需要將我們的生成憑證在此確認

下載雲模組燒錄軟體進行燒錄

https://github.com/TuyaInc/TUYA_PTS_SDK/raw/master/Tools/TYDA_Setup_Online.exe

點選執行即可開始下載,點選後需要手動復位模組

 

原廠工具燒錄

在使用原廠工具燒錄前,為了確保APP可以正常控制裝置,必須進過一次“雲模組”燒錄,後續就不需要每次更改後上傳雲平臺,直接下載會更加方便些,燒錄的韌體是使用者韌體(UA)

 

下載原廠工具

https://images.tuyacn.com/smart/shiliu_zone/SOC_Develop/tools/bk_writer_gui_V1.6.3.rar

這是個免安裝的軟體

  1. 選擇燒錄的模組的晶片,建立產品時可以檢視到
  2. 選擇燒錄的UA檔案
  3. 起始地址
  4. 地址長度
  5. 選擇燒錄串列埠,燒錄波特率可以大一些
  6. 點選燒錄,後要進行手動復位

燒錄可能會遇到的問題

使用雲模組燒錄授權平臺時,燒錄到一半可能會出現這個問題,使用Wi-Fi&BLE SoC NANO主控板時,若出現“獲取RF標誌位失敗”的情況,可在授權階段,將串列埠2的RXD引腳(P01引腳)和GND短接。

 

更多異常解決:

https://developer.tuya.com/cn/docs/iot/flash-and-authorize?id=Kaytfatwdbfj2

八、設計思路

設計思路

https://www.bilibili.com/video/BV1jg411P7f6

 

九、個人導航

【B站 | 東小東bili】 https://space.bilibili.com/162091292

【部落格園 | 東小東 】https://www.cnblogs.com/dongxiaodong/

【CSDN | 東小東部落格】https://blog.csdn.net/dongxiaodongvip

【微信 | 東小東】dongxiaodongwx

 

相關文章