方 舟,王俊杰,朱海軒,呂 潔,馮俊杰,董 宇,張 旭
(1.金陵科技學(xué)院 網(wǎng)絡(luò)與通信工程學(xué)院,江蘇 南京 211169;2.金陵科技學(xué)院 國際教育學(xué)院,江蘇 南京 211169)
當(dāng)前,人們飼養(yǎng)寵物的需求越來越大,促進(jìn)了寵物用品行業(yè)蓬勃發(fā)展,市面上出現(xiàn)了大量智能寵物佩戴產(chǎn)品?!?019年中國寵物行業(yè)白皮書》顯示,我國寵物經(jīng)濟(jì)行業(yè)規(guī)模龐大、發(fā)展迅速,但與歐美發(fā)達(dá)國家相比,仍然有較大的增長空間?!?019中國寵物消費(fèi)趨勢報告》指出,我國寵物行業(yè)全產(chǎn)業(yè)鏈日趨完善,并逐漸面向市場。目前,寵物業(yè)已經(jīng)構(gòu)建出了一條較完整的產(chǎn)業(yè)鏈。市面上智能產(chǎn)品眾多,有的關(guān)注寵物智能投喂,有的是寵物防丟裝置,但針對寵物設(shè)計實現(xiàn)良好的實時報警功能的產(chǎn)品尚比較缺乏,所以本設(shè)計著重關(guān)注智能寵物佩戴產(chǎn)品的報警功能設(shè)計與實現(xiàn)。本設(shè)計有效避免了因環(huán)境或人為因素導(dǎo)致網(wǎng)絡(luò)狀態(tài)不佳而無法實時監(jiān)控以及智能寵物產(chǎn)品實時監(jiān)控界面在多平臺間不兼容的情況。采用傳統(tǒng)發(fā)送短信方式實現(xiàn)關(guān)鍵信息發(fā)送,不受3G/4G/5G網(wǎng)絡(luò)對信息發(fā)送的影響,網(wǎng)絡(luò)環(huán)境對功能的影響甚微,具有較高的穩(wěn)定性。實時短信消息的發(fā)送使監(jiān)護(hù)人員能夠快速實時了解寵物狀況,并可通過OneNET物聯(lián)網(wǎng)平臺實時監(jiān)測寵物信息。
總體設(shè)計主要由硬件和軟件兩部分組成。硬件部分主要由STM32開發(fā)板搭載各類傳感器、蜂鳴器而成。利用溫濕度、心率血氧傳感器、GPS模塊對寵物進(jìn)行實時數(shù)據(jù)采集,單片機(jī)負(fù)責(zé)處理數(shù)據(jù)。軟件部分主要包括數(shù)據(jù)處理功能代碼與報警功能代碼。整體系統(tǒng)如圖1所示。
圖1 系統(tǒng)整體設(shè)計
硬件設(shè)計包括許多部分,如STM32F407、電源模塊、附加傳感模塊等,各個硬件組成與接口電路如圖2所示。主控芯片上PA口連接到MAX232芯片,通過電阻分別將MAX232(1)和(2)相連接;通過電平轉(zhuǎn)換,最終4G RXD信號和4G TXD信號與通信模塊發(fā)出的EC20 RXD/7600RXD和EC20TXD/7600TXD信號整合輸入,從而實現(xiàn)通信信號的接收功能。該主板掛載的另外兩個功能模塊,分別是溫濕度傳感器(DHT11)、心率血氧傳感器(MAX30102)。主控模塊PB0引腳輸出信號以控制蜂鳴器,從而進(jìn)行實時報警反饋。
圖2 各個硬件組成與接口電路
(1)溫濕度傳感器(DHT11)
溫度監(jiān)測范圍:(0~50 ℃)±2 ℃;相對濕度監(jiān)測范圍:20%~90%。
DHT11數(shù)字溫濕度傳感器是一種已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它使用專業(yè)的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保有更高的可靠性和穩(wěn)定性。
DHT11采用單總線雙向串行通信協(xié)議,單片機(jī)發(fā)起開始信號后,進(jìn)行數(shù)據(jù)采集;DHT11向STM32單片機(jī)發(fā)送響應(yīng)信號并傳輸40位數(shù)據(jù)幀。
(2)心率血氧傳感器(MAX30102)
MAX30102是一個用于監(jiān)測脈搏、血氧和心率的傳感器模塊,集成了含有660 nm紅光LED、880 nm紅外光LED、光電檢測器和光器件以及帶環(huán)境光抑制的低噪聲電子電路。MAX30102在5.5 V的外部電壓配置下,增加一個1.8 V電源和一個獨(dú)立的3.3 V用于內(nèi)部LED的供電電源,傳感器使用了標(biāo)準(zhǔn)的IC兼容的通信接口。
心率:心率獲取是采用電容積脈搏波描記法(PPG);LED光射向皮膚,反射回的光波被光敏傳感器接收到,光敏傳感器中數(shù)據(jù)被轉(zhuǎn)換成電信號再經(jīng)過模數(shù)轉(zhuǎn)換,使其轉(zhuǎn)換成數(shù)字信號。血氧:由于血液中含有的氧合血紅蛋白和血紅蛋白的含量總是存在一定的比例。氧合血紅蛋白HbO和血紅蛋白Hb可吸收光的波長不同,從而可以利用不同波長的光分別檢測HbO和Hb含量,然后通過預(yù)先設(shè)計好的程序處理,得出相應(yīng)的比值,這個比值就是血氧值。
(3)通信模塊設(shè)計(EC20)
STM32單片機(jī)連接通信模塊,使用4G網(wǎng)絡(luò),通過MQTT協(xié)議上傳數(shù)據(jù)包至云端服務(wù)器,再由云端處理得到可視化的數(shù)據(jù)圖像。EC20模塊提供AT指令接口,模塊通過AT指令可以令使用者更為方便地與外部設(shè)備進(jìn)行信息傳輸。
(4)蜂鳴器設(shè)計
STM32的單個I/O接口最大可以提供25 mA大小的電流,蜂鳴器的驅(qū)動電流高達(dá)30 mA。因此需要使用一個NPN三極管(S8050)擴(kuò)流驅(qū)動蜂鳴器。的主要功能是用于防止誤觸蜂鳴器導(dǎo)致發(fā)聲。本系統(tǒng)規(guī)定,當(dāng)PB0輸出高電平時,蜂鳴器將發(fā)聲;當(dāng)PB0輸出低電平時,蜂鳴器發(fā)聲停止。
(1)報警系統(tǒng)原理程序設(shè)計
報警系統(tǒng)程序主要分為主控程序和報警程序兩個部分。系統(tǒng)開機(jī)初始化后,給賦值0,之后系統(tǒng)反復(fù)獲取當(dāng)前寵物及寵物周邊環(huán)境數(shù)據(jù),每4 s刷新一次數(shù)據(jù)。當(dāng)寵物身處不利環(huán)境中時,系統(tǒng)將根據(jù)設(shè)定好的程序自動獲取數(shù)值并與定義的安全數(shù)值進(jìn)行比對,如構(gòu)成觸發(fā)報警功能的條件,蜂鳴器會報警三次并給賦值1,通信模塊向緊急聯(lián)系人手機(jī)發(fā)送報警信息。報警功能完成后,系統(tǒng)重啟,并恢復(fù)正常運(yùn)行。整個功能實現(xiàn)的流程如圖3所示。
圖3 報警功能流程
(2)EC20通信模塊的信息發(fā)送
EC20模塊通過AT指令獲取基站地址,再由軟件處理數(shù)據(jù)得到經(jīng)緯度數(shù)據(jù);通過AT代碼發(fā)送報警信息,具體代碼如下:
Uart2_SendStr("AT+CMGF=1 ");
Uart2_SendStr("AT+CMGS="13776653560" ");
Uart2_SendStr("WARNING:實時坐標(biāo)地址 ");
sprintf(ss,"%c ",0x1A);
Uart2_SendStr(ss);
(3)硬件終端與OneNET云平臺通信
OneNET平 臺 目 前 支 持 MQTT、EDP、NB-IoT、Modbus、HTTP等協(xié)議,本次設(shè)計采用OneNET中的MQTT物聯(lián)網(wǎng)套件,MQTT物聯(lián)網(wǎng)套件以AccessKey為核心密鑰,即使用核心密鑰通過簽名算法計算簽名,與其他參數(shù)共同組成token,然后將token作為請求Header參數(shù)進(jìn)行鑒權(quán)。認(rèn)證通過后,在自定義協(xié)議數(shù)據(jù)解碼器解碼相關(guān)方法中構(gòu)造并返回MessageType為Login的ProtocolMessage,并將OneNET設(shè)備ID、設(shè)備名稱、設(shè)備密鑰、設(shè)備所屬的產(chǎn)品ID等信息輸入。在終端設(shè)計方面,OneNET云平臺為開發(fā)者提供了一個比較簡單實用的開發(fā)工具,提供了預(yù)先設(shè)定好的控件,使開發(fā)者可以更加迅速地構(gòu)建自己的應(yīng)用終端界面。
基于STM32的寵物報警系統(tǒng)是通過將傳感器收集到的數(shù)據(jù)與人為規(guī)定的安全值進(jìn)行對比,當(dāng)數(shù)據(jù)超過安全值時會觸發(fā)報警功能。硬件系統(tǒng)連接完成后開始測試,實時獲取當(dāng)前環(huán)境及傳感器數(shù)據(jù),通過人為操作模擬危險場景,激發(fā)報警功能。本系統(tǒng)可通過訪問OneNET平臺檢測實時數(shù)據(jù),平臺通過直觀的折線圖顯示數(shù)據(jù),并可實時顯示設(shè)備定位。平臺界面如圖4所示。
圖4 物聯(lián)網(wǎng)平臺界面
報警功能測試:圖5所示為OneNET物聯(lián)網(wǎng)平臺實時溫度數(shù)據(jù)顯示界面。測試報警功能時,通過人為操作模擬高溫環(huán)境,將環(huán)境溫度提升,當(dāng)溫度上升到警戒值(40 ℃)時觸發(fā)報警功能。
圖5 實時溫度數(shù)據(jù)顯示界面
當(dāng)系統(tǒng)激發(fā)報警功能后,會向緊急聯(lián)系人手機(jī)發(fā)送OneNET網(wǎng)頁,蜂鳴器會鳴叫三次進(jìn)行報警。圖6所示為短信內(nèi)容及報警所用蜂鳴器。
圖6 報警信息接收
本系統(tǒng)主要實現(xiàn)了寵物實時數(shù)據(jù)監(jiān)測及報警功能,系統(tǒng)通過各模塊配合作用可獲取寵物當(dāng)前所處環(huán)境位置、溫濕度及心率和血氧濃度等信息。通過溫度傳感器模塊實測獲取環(huán)境溫度值,系統(tǒng)進(jìn)行數(shù)據(jù)分析,當(dāng)數(shù)值超過設(shè)定的安全值時實現(xiàn)報警功能。經(jīng)過模擬驗證,結(jié)果顯示本系統(tǒng)兼容性良好且不受環(huán)境信號限制,能夠快速準(zhǔn)確地實現(xiàn)報警功能,緊急聯(lián)系人手機(jī)能快速接到信息并獲取寵物位置,解決了寵物的安全及遺失問題,使得未來寵物智能化管理更加容易實現(xiàn)。