智能插座是一款常見的智能設備,使用智能插座可以遠程控制連接的電器,可以實時查看電器的狀態,極大的方便了人們的生活。基于涂鴉 IoT 平臺可以簡單、快速完成一款智能插座的開發,本文介紹如何使用涂鴉三明治開發板快速完成一個智能插座產品原型。
方案介紹
MCU 方案與 SoC 方案不同,開關和聯網模組的驅動代碼寫在 MCU 中,您可以自行開發 MCU 代碼,擁有更多的可玩性。
涂鴉三明治開發板插座套件中,MCU輸出高低電平給插座功能板控制開關通斷,MCU 通過串口與 BLE 通信板連接,使用涂鴉智能 App 配網,可以將開關狀態展現在手機端,并與其他智能設備聯動。MCU 型號為 STM32G071RB,本教程采用 Arduino IDE 進行編程,可方便的移植于各 Arduino 系列開發板。
物料清單
硬件 (3) 軟件 (1)
提供交流電通斷功能與電量統計功能。采用晶豐BT01 電源芯片、貝嶺 BL9037 計量芯片、貝嶺 BL1117-3.3 LDO芯片、宏發繼電器等關鍵器件實現計量,輸出斷電等功能。
STM32G071RB MCU 官方開發板。負責插座開關控制和模組通訊控制。NUCLEO-G071RB 開發板支持 Arduino 接口。
板載涂鴉 BT3L 模組,負責智能化連接。模組已燒錄通用固件,MCU 對接涂鴉串口協議,即可使用涂鴉模組、App、云等一站式智能化服務。
步驟:
第 1 步:硬件連接
本次使用的涂鴉三明治開發板溫濕度傳感套件主要包含:
將三明治開發板套件控制板、通訊板、功能板拼接組裝。
第 2 步:例程環境
軟件開發過程主要基于 Arduino 實現 MCU 與插座和模組協議對接。首先調通 MCU 和模組的通訊,可以實現 App 配網,MCU 數據傳輸到App。
參考 搭建 MCU 環境 完成三明治開發板環境搭建。您需要在 Arduino IDE 中添加 ST 開發板,集成 STM32CubeProgrammer 實現編譯下載功能。
您可以根據以下步驟,快速在涂鴉 IoT 平臺上開發一個智能插座。
1、進入 涂鴉智能IoT平臺。
2、參考 選品類創建產品 創建一款插座產品。其中產品屬性如下:
開發方式:自定義方案
聯網方式:BLE
功耗類型:標準功耗
3、根據頁面提示選擇產品的標準功能和自定義功能。例如,功能選擇為開關。
4、選擇您喜歡的面板,第一次開始調試也可以選擇為開發調試面板,便于調試,后面也可以更換面板。
5、進入硬件開發階段,硬件開發步驟中模組選擇 BT3L 藍牙模組,固件選擇藍牙單點通用方案。
6、在頁面拉到最下面,下載開發資料。
7、硬件測試。
下載到 MCU 開發包后,使用開發包中的涂鴉模組調試助手,您可以使用助手模擬 MCU 模式,配合調試模組通訊板,驗證模組是否通訊正常,同時也可以熟悉涂鴉串口協議提高對接效率。確定通信板正常可用的,可以跳過此步驟。若調試過程中對協議收發有疑問,也可以使用此助手協助查看正確數據交互格式。 使用步驟可參考 涂鴉模組調試助手。
8、參考 MCU SDK開發包移植調試 進行移植調試。
移植成功配網會看到選擇的產品面板。
第 4 步:功能板調試
本章節中,您可以參考應用層示例代碼實現 App 下發指令到模組,通過 MCU 控制插座開關,獲取開關狀態后,MCU 將狀態傳輸給 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);//重置藍牙按鍵初始化 pinMode(8,OUTPUT);//藍牙狀態指示燈初始化 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);//藍牙狀態處理 } bt_uart_service(); myserialEvent();//串口接收處理 key_scan();//重置配網按鍵檢測}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; } }
基于涂鴉平臺,使用涂鴉三明治開發板,Arduino IDE編程,您就可以快速實現一款智能智能插座產品原型搭建。
auth.tuya.com/?from=https%3A%2F%2Fiot.tuya.com%2F&_source=795a75d7c1af33f95d8ea55409e4b22e |
隔壁鄰居看了都眼紅的產品,堪稱“家電小助手”,有了它,家里的電器都掌握在你手中~ 快來試試吧~
涂鴉三明治插座功能板數量:1
NUCLEO-G071RB數量:1
涂鴉三明治 BLE MCU 通信板(BT3L)數量:1
插座功能板
BLE MCU 通信板
ST 官方 NUCLEO-G071RB 開發板(MCU控制板)
第 3 步:創建產品和項目
編輯:jq
-
mcu
+關注
關注
146文章
17178瀏覽量
351680 -
STM32
+關注
關注
2270文章
10910瀏覽量
356591 -
代碼
+關注
關注
30文章
4802瀏覽量
68743 -
BLE
+關注
關注
12文章
660瀏覽量
59443 -
SDK開發
+關注
關注
0文章
12瀏覽量
7782
發布評論請先 登錄
相關推薦
評論