智能插座是一款常見的智能設(shè)備,使用智能插座可以遠(yuǎn)程控制連接的電器,可以實(shí)時(shí)查看電器的狀態(tài),極大的方便了人們的生活?;谕盔f IoT 平臺(tái)可以簡(jiǎn)單、快速完成一款智能插座的開發(fā),本文介紹如何使用涂鴉三明治開發(fā)板快速完成一個(gè)智能插座產(chǎn)品原型。
方案介紹
MCU 方案與 SoC 方案不同,開關(guān)和聯(lián)網(wǎng)模組的驅(qū)動(dòng)代碼寫在 MCU 中,您可以自行開發(fā) MCU 代碼,擁有更多的可玩性。
涂鴉三明治開發(fā)板插座套件中,MCU輸出高低電平給插座功能板控制開關(guān)通斷,MCU 通過串口與 BLE 通信板連接,使用涂鴉智能 App 配網(wǎng),可以將開關(guān)狀態(tài)展現(xiàn)在手機(jī)端,并與其他智能設(shè)備聯(lián)動(dòng)。MCU 型號(hào)為 STM32G071RB,本教程采用 Arduino IDE 進(jìn)行編程,可方便的移植于各 Arduino 系列開發(fā)板。
物料清單
硬件 (3) 軟件 (1)
提供交流電通斷功能與電量統(tǒng)計(jì)功能。采用晶豐BT01 電源芯片、貝嶺 BL9037 計(jì)量芯片、貝嶺 BL1117-3.3 LDO芯片、宏發(fā)繼電器等關(guān)鍵器件實(shí)現(xiàn)計(jì)量,輸出斷電等功能。
STM32G071RB MCU 官方開發(fā)板。負(fù)責(zé)插座開關(guān)控制和模組通訊控制。NUCLEO-G071RB 開發(fā)板支持 Arduino 接口。
板載涂鴉 BT3L 模組,負(fù)責(zé)智能化連接。模組已燒錄通用固件,MCU 對(duì)接涂鴉串口協(xié)議,即可使用涂鴉模組、App、云等一站式智能化服務(wù)。
步驟:
第 1 步:硬件連接
本次使用的涂鴉三明治開發(fā)板溫濕度傳感套件主要包含:
將三明治開發(fā)板套件控制板、通訊板、功能板拼接組裝。
第 2 步:例程環(huán)境
軟件開發(fā)過程主要基于 Arduino 實(shí)現(xiàn) MCU 與插座和模組協(xié)議對(duì)接。首先調(diào)通 MCU 和模組的通訊,可以實(shí)現(xiàn) App 配網(wǎng),MCU 數(shù)據(jù)傳輸?shù)紸pp。
參考 搭建 MCU 環(huán)境 完成三明治開發(fā)板環(huán)境搭建。您需要在 Arduino IDE 中添加 ST 開發(fā)板,集成 STM32CubeProgrammer 實(shí)現(xiàn)編譯下載功能。
您可以根據(jù)以下步驟,快速在涂鴉 IoT 平臺(tái)上開發(fā)一個(gè)智能插座。
1、進(jìn)入 涂鴉智能IoT平臺(tái)。
2、參考 選品類創(chuàng)建產(chǎn)品 創(chuàng)建一款插座產(chǎn)品。其中產(chǎn)品屬性如下:
開發(fā)方式:自定義方案
聯(lián)網(wǎng)方式:BLE
功耗類型:標(biāo)準(zhǔn)功耗
3、根據(jù)頁(yè)面提示選擇產(chǎn)品的標(biāo)準(zhǔn)功能和自定義功能。例如,功能選擇為開關(guān)。
4、選擇您喜歡的面板,第一次開始調(diào)試也可以選擇為開發(fā)調(diào)試面板,便于調(diào)試,后面也可以更換面板。
5、進(jìn)入硬件開發(fā)階段,硬件開發(fā)步驟中模組選擇 BT3L 藍(lán)牙模組,固件選擇藍(lán)牙單點(diǎn)通用方案。
6、在頁(yè)面拉到最下面,下載開發(fā)資料。
7、硬件測(cè)試。
下載到 MCU 開發(fā)包后,使用開發(fā)包中的涂鴉模組調(diào)試助手,您可以使用助手模擬 MCU 模式,配合調(diào)試模組通訊板,驗(yàn)證模組是否通訊正常,同時(shí)也可以熟悉涂鴉串口協(xié)議提高對(duì)接效率。確定通信板正??捎玫?,可以跳過此步驟。若調(diào)試過程中對(duì)協(xié)議收發(fā)有疑問,也可以使用此助手協(xié)助查看正確數(shù)據(jù)交互格式。 使用步驟可參考 涂鴉模組調(diào)試助手。
8、參考 MCU SDK開發(fā)包移植調(diào)試 進(jìn)行移植調(diào)試。
移植成功配網(wǎng)會(huì)看到選擇的產(chǎn)品面板。
第 4 步:功能板調(diào)試
本章節(jié)中,您可以參考應(yīng)用層示例代碼實(shí)現(xiàn) App 下發(fā)指令到模組,通過 MCU 控制插座開關(guān),獲取開關(guān)狀態(tài)后,MCU 將狀態(tài)傳輸給 App 展示。
#include"bluetooth.h"#includeSoftwareSerialmySerial(0,1);//RX,TX#define_SS_MAX_RX_BUFF300#definerelay10inttime_cnt=0,cnt=0,init_flag=0;voidsetup(){//putyoursetupcodehere,torunonce: pinMode(relay,OUTPUT);//繼電器IO初始化 digitalWrite(relay,LOW); pinMode(PC13,INPUT);//重置藍(lán)牙按鍵初始化 pinMode(8,OUTPUT);//藍(lán)牙狀態(tài)指示燈初始化 mySerial.begin(9600);//軟件串口初始化 mySerial.println("myserialinitSUCCESS_ful!"); Serial.begin(115200);//PA3RXPA2TX Serial.println("serialinitSUCCESS_ful!"); bt_protocol_init(); }voidloop(){//putyourmaincodehere,torunrepeatedly: if(init_flag==0){ time_cnt++;if(time_cnt%6000==0){ time_cnt=0; cnt++; } bt_stat_led(&cnt);//藍(lán)牙狀態(tài)處理 } bt_uart_service(); myserialEvent();//串口接收處理 key_scan();//重置配網(wǎng)按鍵檢測(cè)}voidmyserialEvent(){if(mySerial.available()){unsignedcharch=(unsignedchar)mySerial.read(); uart_receive_input(ch); } }voidbt_stat_led(int*cnt){#definebt_stat_led8 switch(mcu_get_bt_work_state()) {case0x00://0x00 init_flag=0;if(*cnt==2){ *cnt=0; }if(*cnt%2==0)//LED快閃 { digitalWrite(bt_stat_led,LOW); }else { digitalWrite(bt_stat_led,HIGH); }break;case0x01://0x01 init_flag=0;if(*cnt>=30){ *cnt=0; }if(*cnt==0)//LED慢閃 { digitalWrite(bt_stat_led,LOW); }elseif(*cnt==15) { digitalWrite(bt_stat_led,HIGH); }break;case0x02://0x02 digitalWrite(bt_stat_led,HIGH);//LED熄滅 break;case0x03://0x03 break;case0x04://0x04 if(0==init_flag) { digitalWrite(bt_stat_led,LOW);//LED常亮 init_flag=1;//bt連接上后該燈可控 *cnt=0; }break;default: digitalWrite(bt_stat_led,HIGH);break; } }
基于涂鴉平臺(tái),使用涂鴉三明治開發(fā)板,Arduino IDE編程,您就可以快速實(shí)現(xiàn)一款智能智能插座產(chǎn)品原型搭建。
auth.tuya.com/?from=https%3A%2F%2Fiot.tuya.com%2F&_source=795a75d7c1af33f95d8ea55409e4b22e |
隔壁鄰居看了都眼紅的產(chǎn)品,堪稱“家電小助手”,有了它,家里的電器都掌握在你手中~ 快來試試吧~
涂鴉三明治插座功能板數(shù)量:1
NUCLEO-G071RB數(shù)量:1
涂鴉三明治 BLE MCU 通信板(BT3L)數(shù)量:1
插座功能板
BLE MCU 通信板
ST 官方 NUCLEO-G071RB 開發(fā)板(MCU控制板)
第 3 步:創(chuàng)建產(chǎn)品和項(xiàng)目
編輯:jq
-
mcu
+關(guān)注
關(guān)注
146文章
17316瀏覽量
352346 -
STM32
+關(guān)注
關(guān)注
2271文章
10923瀏覽量
357208 -
代碼
+關(guān)注
關(guān)注
30文章
4823瀏覽量
68935 -
BLE
+關(guān)注
關(guān)注
12文章
670瀏覽量
59518 -
SDK開發(fā)
+關(guān)注
關(guān)注
0文章
12瀏覽量
7787
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論