智能門磁傳感器在智能安防領域扮演著重要的角色,應用的場合也越來越多。離家后不確定家中門窗是否關閉?不妨打開手機確認一下。文介紹如何使用涂鴉三明治開發(fā)板快速完成一個智能門磁傳感器產(chǎn)品原型。
第 1 步:方案介紹
MCU 方案與 SoC 方案不同,傳感器和聯(lián)網(wǎng)模組的驅動代碼寫在 MCU 中,開發(fā)者可以自己開發(fā) MCU 代碼,擁有更多的可玩性。因此在開發(fā)前,我們需要對方案有個整體了解,方便后續(xù)開發(fā)。
涂鴉三明治開發(fā)板門磁傳感套件中,傳感器板干簧管根據(jù)開合狀態(tài)輸出高低電平給MCU 控制板,MCU 通過串口 與 Wi-Fi 通信板連接,使用涂鴉智能 App 配網(wǎng),可以將門磁狀態(tài)展現(xiàn)在手機端,并與其他智能設備聯(lián)動。MCU 型號為 STM32G071RB,Demo 教程采用 Arduino IDE 進行編程,可方便的移植于各 Arduino 系列開發(fā)板。
第 2 步:硬件連接
本次使用的涂鴉三明治開發(fā)板門磁傳感套件主要包含:門磁傳感器功能板,板載兩路干簧管一路觸發(fā)輸出為低,一路觸發(fā)輸出為高,開發(fā)者可根據(jù)實際情況選用。Wi-Fi MCU 通信板,板載涂鴉 TYWE3S 模組,負責智能化連接。模組已燒錄通用固件,MCU 對接涂鴉串口協(xié)議,即可使用模組+App+云涂鴉一站式智能化服務。
MCU控制板,采用ST官方 NUCLEO-G071RB 開發(fā)板,負責傳感數(shù)據(jù)接收和模組通訊控制。NUCLEO-G071RB 開發(fā)板支持 Arduino 接口,本片教程demo我們也將基于 Arduino 開發(fā)演示。將三明治開發(fā)板套件控制板、通訊板、功能板拼接組裝。
第 3 步:軟件開發(fā)-模組調試,軟件開發(fā)過程主要基于 Arduino 實現(xiàn) MCU 與傳感器和模組協(xié)議對接。首先調通 MCU 和模組的通訊,可以實現(xiàn)App配網(wǎng),MCU 數(shù)據(jù)傳輸?shù)紸pp。
步驟 3.1:環(huán)境搭建,環(huán)境搭建教程:搜索“三明治開發(fā)板環(huán)境搭建”,環(huán)境搭建的教程主要講如何在 Arduino IDE 中添加ST開發(fā)板,集成 STM32CubeProgrammer 實現(xiàn)編譯下載功能,初學開發(fā)者需仔細閱讀。
步驟 3.2:下載開發(fā)資料包
創(chuàng)建工程,下載移植涂鴉 MCU SDK 開發(fā)包詳細教程:MCU快速上手。具體步驟教程已比較詳細,這里不做贅述,不過在創(chuàng)建產(chǎn)品過程中要注意我們要創(chuàng)建的產(chǎn)品是門磁傳感器,MCU 對接時選擇自定義方案,才能下載到 MCU 開發(fā)資料包。

功能根據(jù)自身需求選擇,這里基本功能DP建議選擇門磁、告警、電量。

固件選擇時要注意,Wi-Fi 模組默認的固件是通用固件,非低功耗固件,我們需要將功耗類型改為標準功耗,固件選擇標準通用固件,我們才能下載到相關 MCU 開發(fā)包。


步驟 3.3:移植調試,移植調試詳細教程:MCU SDK開發(fā)包移植調試,移植成功配網(wǎng)會看到選擇的產(chǎn)品面板,接下來我們需要編寫獲取干簧管狀態(tài)的邏輯代碼。
第 4 步:軟件開發(fā)-傳感器調試,干簧管受磁力影響,輸出的狀態(tài)為高或低電平,因此 MCU 只需讀取 IO 狀態(tài),判斷門磁狀態(tài)即可,代碼比較簡單。官網(wǎng)讀取 IO 狀態(tài)代碼示例:
int ledPin = 13; // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 7 as input
}
void loop()
{
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button‘s value
}
MCU 需要將數(shù)據(jù)傳輸給App展示,上報函數(shù)如下:mcu_dp_bool_update(DPID_DOORCONTACT_STATE,當前門磁); //BOOL型數(shù)據(jù)上報;
第 5 步:場景聯(lián)動(擴展功能)
所有功能調試通過后,App 端已經(jīng)可以接收到門磁感器的數(shù)據(jù)。智能傳感器最大的應用場景是用來收集傳感數(shù)據(jù)來和其它產(chǎn)品進行聯(lián)動,如果開發(fā)者手中有涂鴉生態(tài)設備或開發(fā)板,可以在App端實現(xiàn)場景聯(lián)動功能的配置。
小結,基于涂鴉平臺,使用涂鴉三明治開發(fā)板,Arduino IDE編程,快速實現(xiàn)一款智能門磁傳感器產(chǎn)品原型搭建
fqj
電子發(fā)燒友App














































































評論