智能插座是一款常見(jiàn)的智能設(shè)備,使用智能插座可以遠(yuǎn)程控制連接的電器,可以實(shí)時(shí)查看電器的狀態(tài),極大的方便了人們的生活?;谕盔f IoT 平臺(tái)可以簡(jiǎn)單、快速完成一款智能插座的開(kāi)發(fā),本文介紹如何使用涂鴉三明治開(kāi)發(fā)板快速完成一個(gè)智能插座產(chǎn)品原型。
方案介紹
MCU 方案與 SoC 方案不同,開(kāi)關(guān)和聯(lián)網(wǎng)模組的驅(qū)動(dòng)代碼寫(xiě)在 MCU 中,您可以自行開(kāi)發(fā) MCU 代碼,擁有更多的可玩性。
涂鴉三明治開(kāi)發(fā)板插座套件中,MCU輸出高低電平給插座功能板控制開(kāi)關(guān)通斷,MCU 通過(guò)串口與 BLE 通信板連接,使用涂鴉智能 App 配網(wǎng),可以將開(kāi)關(guān)狀態(tài)展現(xiàn)在手機(jī)端,并與其他智能設(shè)備聯(lián)動(dòng)。MCU 型號(hào)為 STM32G071RB,本教程采用 Arduino IDE 進(jìn)行編程,可方便的移植于各 Arduino 系列開(kāi)發(fā)板。
物料清單
硬件 (3) 軟件 (1)
提供交流電通斷功能與電量統(tǒng)計(jì)功能。采用晶豐BT01 電源芯片、貝嶺 BL9037 計(jì)量芯片、貝嶺 BL1117-3.3 LDO芯片、宏發(fā)繼電器等關(guān)鍵器件實(shí)現(xiàn)計(jì)量,輸出斷電等功能。
STM32G071RB MCU 官方開(kāi)發(fā)板。負(fù)責(zé)插座開(kāi)關(guān)控制和模組通訊控制。NUCLEO-G071RB 開(kāi)發(fā)板支持 Arduino 接口。
板載涂鴉 BT3L 模組,負(fù)責(zé)智能化連接。模組已燒錄通用固件,MCU 對(duì)接涂鴉串口協(xié)議,即可使用涂鴉模組、App、云等一站式智能化服務(wù)。
步驟:
第 1 步:硬件連接
本次使用的涂鴉三明治開(kāi)發(fā)板溫濕度傳感套件主要包含:
將三明治開(kāi)發(fā)板套件控制板、通訊板、功能板拼接組裝。
第 2 步:例程環(huán)境
軟件開(kāi)發(fā)過(guò)程主要基于 Arduino 實(shí)現(xiàn) MCU 與插座和模組協(xié)議對(duì)接。首先調(diào)通 MCU 和模組的通訊,可以實(shí)現(xiàn) App 配網(wǎng),MCU 數(shù)據(jù)傳輸?shù)紸pp。
參考 搭建 MCU 環(huán)境 完成三明治開(kāi)發(fā)板環(huán)境搭建。您需要在 Arduino IDE 中添加 ST 開(kāi)發(fā)板,集成 STM32CubeProgrammer 實(shí)現(xiàn)編譯下載功能。
您可以根據(jù)以下步驟,快速在涂鴉 IoT 平臺(tái)上開(kāi)發(fā)一個(gè)智能插座。
1、進(jìn)入 涂鴉智能IoT平臺(tái)。
2、參考 選品類創(chuàng)建產(chǎn)品 創(chuàng)建一款插座產(chǎn)品。其中產(chǎn)品屬性如下:
開(kāi)發(fā)方式:自定義方案
聯(lián)網(wǎng)方式:BLE
功耗類型:標(biāo)準(zhǔn)功耗
3、根據(jù)頁(yè)面提示選擇產(chǎn)品的標(biāo)準(zhǔn)功能和自定義功能。例如,功能選擇為開(kāi)關(guān)。
4、選擇您喜歡的面板,第一次開(kāi)始調(diào)試也可以選擇為開(kāi)發(fā)調(diào)試面板,便于調(diào)試,后面也可以更換面板。
5、進(jìn)入硬件開(kāi)發(fā)階段,硬件開(kāi)發(fā)步驟中模組選擇 BT3L 藍(lán)牙模組,固件選擇藍(lán)牙單點(diǎn)通用方案。
6、在頁(yè)面拉到最下面,下載開(kāi)發(fā)資料。
7、硬件測(cè)試。
下載到 MCU 開(kāi)發(fā)包后,使用開(kāi)發(fā)包中的涂鴉模組調(diào)試助手,您可以使用助手模擬 MCU 模式,配合調(diào)試模組通訊板,驗(yàn)證模組是否通訊正常,同時(shí)也可以熟悉涂鴉串口協(xié)議提高對(duì)接效率。確定通信板正??捎玫模梢蕴^(guò)此步驟。若調(diào)試過(guò)程中對(duì)協(xié)議收發(fā)有疑問(wèn),也可以使用此助手協(xié)助查看正確數(shù)據(jù)交互格式。 使用步驟可參考 涂鴉模組調(diào)試助手。
8、參考 MCU SDK開(kāi)發(fā)包移植調(diào)試 進(jìn)行移植調(diào)試。
移植成功配網(wǎng)會(huì)看到選擇的產(chǎn)品面板。
第 4 步:功能板調(diào)試
本章節(jié)中,您可以參考應(yīng)用層示例代碼實(shí)現(xiàn) App 下發(fā)指令到模組,通過(guò) MCU 控制插座開(kāi)關(guān),獲取開(kāi)關(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),使用涂鴉三明治開(kāi)發(fā)板,Arduino IDE編程,您就可以快速實(shí)現(xiàn)一款智能智能插座產(chǎn)品原型搭建。
| auth.tuya.com/?from=https%3A%2F%2Fiot.tuya.com%2F&_source=795a75d7c1af33f95d8ea55409e4b22e |
隔壁鄰居看了都眼紅的產(chǎn)品,堪稱“家電小助手”,有了它,家里的電器都掌握在你手中~ 快來(lái)試試吧~
涂鴉三明治插座功能板數(shù)量:1
NUCLEO-G071RB數(shù)量:1
涂鴉三明治 BLE MCU 通信板(BT3L)數(shù)量:1
插座功能板
BLE MCU 通信板
ST 官方 NUCLEO-G071RB 開(kāi)發(fā)板(MCU控制板)
第 3 步:創(chuàng)建產(chǎn)品和項(xiàng)目
編輯:jq
-
mcu
+關(guān)注
關(guān)注
147文章
19129瀏覽量
404004 -
STM32
+關(guān)注
關(guān)注
2313文章
11195瀏覽量
374662 -
代碼
+關(guān)注
關(guān)注
30文章
4976瀏覽量
74384 -
BLE
+關(guān)注
關(guān)注
13文章
810瀏覽量
66585 -
SDK開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
12瀏覽量
8041
發(fā)布評(píng)論請(qǐng)先 登錄
2026,避坑這7類MCU芯片
RX62N/RX621系列MCU:高性能32位MCU的技術(shù)剖析
深入剖析RX610 Group 32位MCU:功能特性與設(shè)計(jì)要點(diǎn)
Freescale MC9RS08KA8系列MCU深度剖析
深入剖析Renesas RX71M Group MCU:特性、參數(shù)與設(shè)計(jì)考量
MCU BLE低功耗藍(lán)牙CH592
STM32L071xx:超低功耗32位MCU的技術(shù)剖析與應(yīng)用指南
BLE無(wú)線藍(lán)牙方案MCU/SoC CH573
BNC插座產(chǎn)品應(yīng)用說(shuō)明
深入剖析CC2541-Q1:藍(lán)牙低功耗無(wú)線MCU的卓越之選
分享足浴盆MCU控制方案
小米智能插座評(píng)測(cè)拆解 10年前的小米智能插座 用料比現(xiàn)在99%的同類產(chǎn)品都能打
請(qǐng)問(wèn)ModusToolbox?是否支持與 Infineon WiFi BLE 配對(duì)的 ST MCU?
RX140 MCU的快速原型板 數(shù)據(jù)手冊(cè)和設(shè)計(jì)資料
剖析BLE智能插座產(chǎn)品原型設(shè)計(jì)(MCU主控)
評(píng)論