譚汶易
(武漢理工大學(xué)自動化學(xué)院,湖北 武漢 430070)
在現(xiàn)在的智能家居市場中,大部分智能家居系統(tǒng)只能實現(xiàn)檢測功能,且檢測數(shù)據(jù)也有較大的誤差。本系統(tǒng)以NB-IOT為核心,解決數(shù)據(jù)傳輸云端的問題,以較低的成本實現(xiàn)了更加完善的功能。為解決一些安全隱患,本系統(tǒng)配置的報警系統(tǒng)在檢測到有害氣體濃度超標時,能夠及時提醒用戶。在最易發(fā)生事故的廚房,配備了檢測和自動關(guān)閉天然氣閥門的裝置,同時用戶可以通過云平臺下發(fā)指令,遠程關(guān)閉天然氣閥門,降低火災(zāi)發(fā)生的概率。
本設(shè)計主要由傳感器采集系統(tǒng)、數(shù)據(jù)處理與傳輸系統(tǒng)、電源控制系統(tǒng)、無線通信系統(tǒng)、報警系統(tǒng)、自動關(guān)閥系統(tǒng)組成。數(shù)據(jù)處理與傳輸系統(tǒng)主要由Zigbee模塊控制,電源控制系統(tǒng)采用自制的降壓電路控制板,無線通信系統(tǒng)指NB-IOT模塊和云端互傳數(shù)據(jù),報警系統(tǒng)主要包括聲光報警和短信報警兩部分,自動關(guān)閥系統(tǒng)通過步進電機來執(zhí)行。
傳感器主要用于實時監(jiān)測室內(nèi)情況,為單片機提供及時、準確的信息,使其做出最優(yōu)判斷。
溫濕度采集部分使用STM8L051F3芯片和SHT20芯片控制的高精度傳感器。溫度測量精度0.3℃,濕度測量精度可達3%RH,單片機串口采集其輸出的TTL電平,經(jīng)過內(nèi)部轉(zhuǎn)換處理后可得測量的溫濕度值。
氣體傳感器部分由DS-HCHO甲醛傳感器、MQ-135傳感器、天然氣檢測傳感器、煙霧傳感器組成。STM32F4單片機自帶12位ADC接口,可以檢測氣體傳感器輸出的電壓信號,氣體濃度的大小與輸出的電壓值成正比關(guān)系,通過單片機內(nèi)部計算后得到氣體濃度。
為提高檢測速度和精度,使用DMA傳輸方式采集電壓。ADC采集并轉(zhuǎn)換后的數(shù)值被保存到一個16位的規(guī)則通道數(shù)據(jù)寄存器中,通過DMA將其值讀取并傳輸?shù)酵ㄐ拍K,無需通過CPU進行傳輸,極大提高了檢測效率。
Zigbee模塊相較于藍牙模塊、wife模塊,傳輸速率更快,價格更低。因此在本系統(tǒng)中,單片機通過串口與Zigbee連接實現(xiàn)數(shù)據(jù)互傳。
為了避免因斷電而致使設(shè)備無法使用的情況發(fā)生,本系統(tǒng)采用220 V交流電和12 V備用電池的雙電源方案。通過開關(guān)電源將220 V電壓轉(zhuǎn)換為12 V電壓輸出,將鋰電池供電部分接到備用接口,電源轉(zhuǎn)換通過繼電器控制,從而實現(xiàn)24 h不間斷工作,增強了系統(tǒng)的穩(wěn)定性。
由于本系統(tǒng)中所用傳感器核心主控板的供電電壓為3.3V、5 V。設(shè)計以TPS54360芯片、AMS1117芯片為核心電源控制板。
步進電機具有扭矩大,反應(yīng)快速、精準的特點。步進電機的轉(zhuǎn)向控制端與單片機的IO口連接,通過輸出高低電平來實現(xiàn)其正反轉(zhuǎn)。同時將單片機的PWM輸出口與步進電機相連,通過改變輸出的TTL電平來控制其轉(zhuǎn)動的距離。
在本系統(tǒng)中,以移遠NB-IOT BC26模塊作為通信模塊,其具有超低功耗、安全性強、穩(wěn)定可靠、低成本的優(yōu)勢,使用MQTT協(xié)議與云端互傳數(shù)據(jù)。MQTT是一個基于客戶端與服務(wù)器的用于發(fā)布和訂閱消息的傳輸協(xié)議。傳輸數(shù)據(jù)穩(wěn)定、快速,能適應(yīng)低寬帶、低開銷的情況。
通過該模塊與阿里云物聯(lián)網(wǎng)平臺連接,單片機通過串口與其互傳數(shù)據(jù)。單片機通過發(fā)送AT指令建立和BC26模塊間的通信,同時將卡號發(fā)送給模塊,同時發(fā)送激活網(wǎng)絡(luò)的指令,等待應(yīng)答成功后,查詢并保存當前的激活狀態(tài)。等待模塊網(wǎng)絡(luò)激活成功,配置前景場景并激活,此時單片機發(fā)送指令控制BC26模塊從MQTT服務(wù)器斷開一個客戶端,并將其網(wǎng)絡(luò)關(guān)閉,同時將阿里云平臺上配置的設(shè)備參數(shù)發(fā)送給模塊,完成模塊和云端的連接后,將MQTT客戶端網(wǎng)絡(luò)打開。此時,單片機向BC26模塊發(fā)送傳感器檢測的數(shù)據(jù),模塊通過建立的MQTT協(xié)議將數(shù)據(jù)傳輸傳送到云平臺。
3.5.1 聲光報警
聲光報警的設(shè)計部分主要由LED燈和語音播放模塊兩部分組成。當報警功能啟動時,單片機控制LED快速閃爍,同時串口發(fā)送指令到語音模塊,播放存放在SD卡中的錄音。
3.5.2 短信報警
短信報警的設(shè)計部分主要由GPRS模塊控制短信的發(fā)送。在本系統(tǒng)中,采用SIM800C模塊,附著GPRS網(wǎng)絡(luò)傳輸數(shù)據(jù),具有傳輸距離遠、傳輸速度快的特點。單片機與模塊連接成功后,通過發(fā)送AT指令來實現(xiàn)控制。短信報警功能啟動時,串口發(fā)送AT指令初始化SIM800C模塊的短消息模式,設(shè)置短信為text模式,單片機將短信內(nèi)容轉(zhuǎn)成Unicode字符串存放到數(shù)組中。此時,單片機等待SIM800C模塊應(yīng)答,應(yīng)答成功后,串口發(fā)送指令設(shè)置接收方電話號碼和短信中心號碼,將設(shè)置的短信發(fā)送出去。
系統(tǒng)以STM32芯片為載體,通過keil軟件編寫程序。每次進入主程序時,通過接收各種傳感器數(shù)據(jù)并進行處理,將數(shù)據(jù)通過MQTT協(xié)議傳到用戶操作的云平臺。采集的數(shù)據(jù)與設(shè)定值進行比對分析,若檢測的數(shù)據(jù)超過設(shè)定值,就會觸發(fā)系統(tǒng)的兩種報警方式,提醒用戶。軟件系統(tǒng)工作流程如圖1所示。
圖1 軟件系統(tǒng)工作流程圖
測試系統(tǒng)工作的穩(wěn)定性。各傳感器正常工作,兩塊單片之間數(shù)據(jù)傳輸穩(wěn)定,NB-IOT模塊成功與阿里云物聯(lián)網(wǎng)平臺通信,實時傳輸數(shù)據(jù)。
本系統(tǒng)以STM32F407、NB-IOT模塊為核心,實現(xiàn)數(shù)據(jù)與云端的互傳,配置多種傳感器同時檢測,使用Zigbee模塊實現(xiàn)單片機之間近距離傳輸數(shù)據(jù),供電方式采用雙電源供電,實現(xiàn)24 h不間斷運作,同時配備報警系統(tǒng),解決用戶居住的一些安全隱患。登錄云平臺,可以遠程監(jiān)控室內(nèi)環(huán)境,支持查詢歷史數(shù)據(jù)。
隨著智能家居行業(yè)的飛速發(fā)展,本系統(tǒng)成本低、可操作性強,可以在其基礎(chǔ)上添加更多的功能,為保障人們生活的舒適、安全和便利提供一些新的發(fā)展方向。