丁小一,劉宏斌
(合肥職業(yè)技術(shù)學(xué)院,安徽合肥,230000)
隨著中國經(jīng)濟的飛速發(fā)展,高層住宅樓越來越多,這也導(dǎo)致了兒童發(fā)生意外的概率大幅提升。據(jù)統(tǒng)計,在兒童意外傷害事件中,高空跌落發(fā)生比例較高,達到34.6%。發(fā)生這樣的意外,一方面是因為大人疏于看護[1],另一方面是由于高層住宅陽臺缺乏完善的防護措施。在考慮到兒童行動的不確定性以及防護的時效性,提出了一種基于LoRa 技術(shù)的智能陽臺監(jiān)測系統(tǒng)。該系統(tǒng)不僅可以第一時間起到防護作用,集成室外環(huán)境實時監(jiān)測系統(tǒng),并實現(xiàn)遠程交互為人們的生活提供便利。
按照數(shù)據(jù)處理流程,陽臺監(jiān)測系統(tǒng)可以分為LoRa 采集節(jié)點、LoRa 網(wǎng)關(guān)節(jié)點。LoRa 采集節(jié)點采集傳感器數(shù)據(jù)并通過LoRa 無線模塊發(fā)送到LoRa 網(wǎng)關(guān)節(jié)點,接收網(wǎng)關(guān)節(jié)點的命令操作執(zhí)行器;LoRa 網(wǎng)關(guān)節(jié)點將接收到的數(shù)據(jù),通過WiFi 模塊發(fā)送到云服務(wù)器,并且接收服務(wù)器下發(fā)的指令發(fā)送給采集節(jié)點。
本系統(tǒng)主要包含智能防護、環(huán)境監(jiān)測以及遠程交互三大功能。其中,智能防護功能是監(jiān)測系統(tǒng)的核心功能,通過多組激光傳感器監(jiān)測是否有兒童單獨進入陽臺,如果有,執(zhí)行關(guān)窗操作,避免意外發(fā)生;通過溫濕度、光敏及雨滴傳感器實時監(jiān)測天氣情況,同時OLED顯示下雨情況和實時溫濕度,從而實現(xiàn)環(huán)境監(jiān)測;Web 后端顯示、存儲采集的數(shù)據(jù),同時可以通過這些數(shù)據(jù)對應(yīng)的策略來自動下發(fā)控制指令到執(zhí)行器,實現(xiàn)窗戶的開關(guān)和晾衣桿的拉伸,從而實現(xiàn)遠程交互功能。
圖1 系統(tǒng)總體設(shè)計結(jié)構(gòu)圖
處理器采用意法半導(dǎo)體公司的STM32L151C8T6D 微控制器,如圖2 所示,內(nèi)置64KB Flash 存儲器,價格較為便宜,耗電低,工作的環(huán)境溫度區(qū)間在-40℃~85℃。
圖2 STM32L151C8T6D主控模塊
由于網(wǎng)關(guān)安裝于小區(qū)配電房,采集節(jié)點安裝于陽臺,兩者直線距離相距數(shù)十米。如果使用有線,則需要鋪設(shè)線纜,耗費人力物力,故采用無線方式進行通信。目前常用的無線通信方式較多,如LoRa、NB-IoT 等[2]。在本系統(tǒng)中,通信距離長,信號需要穿過建筑物墻體,而且NB-IoT 會產(chǎn)生相關(guān)的通信費用,綜合考慮選用LoRa 作為通信方式。
本系統(tǒng)選用利爾達LSD4RF-2F717N30 無線模塊,如圖3 所示,它是SEMTECH 公司的SX1278 射頻芯片,具有傳輸距離遠、速度快、功耗低、體積小的優(yōu)點[3]。
圖3 LSD4RF-2F717N30無線模塊
基于以上選用的微控制器、LoRa 無線模塊,根據(jù)需求,添加相應(yīng)傳感器及電源模塊,設(shè)計LoRa 采集節(jié)點,具體硬件框圖如圖4 所示。
圖4 采集節(jié)點硬件結(jié)構(gòu)框圖
2.3.1 溫濕度傳感器模塊
溫濕度數(shù)據(jù)的采集選用DHT11 模塊,它的濕度測定范圍大概在20%~90%之間(精度5.0%);溫度測定的范圍大概在0℃~50℃(精度2℃)[4],主要用來采集陽臺的溫度與濕度數(shù)據(jù),其典型電路如圖5 所示。
圖5 DHT11 典型電路
2.3.2 激光傳感器模塊
由于激光具有傳輸快、相干性好、直線傳播且穩(wěn)定的物理特性,本系統(tǒng)采用多組激光收/發(fā)組來判定兒童是否獨自進入陽臺。激光收/發(fā)組由可調(diào)激光頭和激光接收管組成,其中,可調(diào)激光發(fā)射頭的工作電壓為5V、發(fā)射功率為50mW、波長為650nm;通電時,激光接收管被激光照射后,從低電平變?yōu)楦唠娖健?/p>
通過在陽臺兩側(cè)安裝多組激光發(fā)射與接收裝置,根據(jù)家庭成員身高調(diào)節(jié)相應(yīng)高度,高位配合低位檢測成人進出情況,低位檢測兒童進出情況。當激光收/發(fā)組僅低位觸發(fā)時,表示兒童獨自進入陽臺,控制步進電機關(guān)閉窗戶;當激光收/發(fā)組僅高位或高低位觸發(fā)時,表示成人進入或成人陪同兒童進入,不執(zhí)行任何操作。
2.3.3 雨量傳感器模塊
雨量傳感器模塊含LM393 比較器,用于檢測室外是否下雨,其電路原理圖如圖6 所示。當感應(yīng)電路板上沒有水的時候,它不會被觸發(fā),模塊的數(shù)字引腳會輸出高電平;當感應(yīng)電路板上有水時,它會被觸發(fā),數(shù)字引腳會輸出低電平。
圖6 雨量傳感器原理圖
2.3.4 步進電機
本系統(tǒng)每個采集節(jié)點均選用5 線4 相永磁式電機28BYJ48,用來驅(qū)動陽臺窗戶的開關(guān)和陽臺晾衣架的推出與收起。選用ULN2003 驅(qū)動電機,原理圖如圖7 所示。核心板每發(fā)送一個脈沖信號給ULN2003 驅(qū)動板,28BYJ48 按設(shè)定的方向轉(zhuǎn)動一定的度數(shù)。實際上,分別通過調(diào)整脈沖的頻率和個數(shù)來控制28BYJ48 齒輪速度、加速度以及位移的角度,從而實現(xiàn)電機的調(diào)速。
圖7 步進電機原理圖
2.3.5 OLED 顯示屏
本系統(tǒng)選用0.96 寸OLED 顯示屏,具有自發(fā)光、清晰度高、體積輕薄、刷新頻率快等特點,該顯示屏與核心板使用I2C 進行通信。
一般小區(qū)設(shè)置一個網(wǎng)關(guān)節(jié)點,安裝于小區(qū)配電房?;谝陨线x用的微控制器、LoRa 無線模塊,添加WiFi 模塊及電源模塊構(gòu)成LoRa 網(wǎng)關(guān)節(jié)點,具體硬件框圖如圖8 所示。
圖8 網(wǎng)關(guān)節(jié)點硬件結(jié)構(gòu)框圖
其中,WiFi 模塊選用 ESP8266 模塊,它是一個低成本的無線連接設(shè)備,本系統(tǒng)采用的是體積小巧、功能齊全、價格低廉的ESP 系列ESP-01 模塊。ESP-01 模塊和主控芯片進行串口通信,主控芯片將打包好的Json 格式數(shù)據(jù)通過串口發(fā)送給ESP-01 模塊,ESP-01 模塊將數(shù)據(jù)通過MQTT 協(xié)議用WiFi 熱點發(fā)送至服務(wù)器。
智能監(jiān)測系統(tǒng)采集節(jié)點和網(wǎng)關(guān)節(jié)點采用星型組網(wǎng),數(shù)據(jù)傳輸方式采用數(shù)據(jù)幀模式,為保證監(jiān)測數(shù)據(jù)傳輸過程中的可靠性和準確性,采用CRC 算法對數(shù)據(jù)進行校驗[5]。LoRa 模塊通信協(xié)議請求命令結(jié)構(gòu)[6]如表1所示,響應(yīng)命令結(jié)構(gòu)如表2 所示。
表1 LoRa模塊通信協(xié)議請求命令結(jié)構(gòu)
表2 LoRa模塊通信協(xié)議響應(yīng)命令結(jié)構(gòu)
LoRa 采集節(jié)點采集傳感器數(shù)據(jù)(是否有兒童單獨進入陽臺、溫濕度數(shù)據(jù)、當前是否下雨等),在接收到網(wǎng)關(guān)節(jié)點請求命令后,對數(shù)據(jù)進行CRC 校驗,解析請求命令,如果是讀傳感器的命令,根據(jù)響應(yīng)命令結(jié)構(gòu)封裝數(shù)據(jù),并上傳給網(wǎng)關(guān)節(jié)點;如果是控制命令,則控制步進電機,開關(guān)窗戶或者推拉晾衣桿,具體程序流程圖如圖9 所示。
網(wǎng)關(guān)節(jié)點的LoRa 模塊接收采集節(jié)點發(fā)送過來的數(shù)據(jù),通過SPI 接口發(fā)送給主控模塊,主控模塊通過串口發(fā)送給WiFi 模塊,進而發(fā)送至服務(wù)器。同時,網(wǎng)關(guān)節(jié)點需要解析服務(wù)器發(fā)來的Json 數(shù)據(jù),向采集節(jié)點發(fā)送命令,具體程序流程圖如圖10 所示。
圖10 網(wǎng)關(guān)節(jié)點程序流程圖
3.4.1 Web 后端的業(yè)務(wù)介紹
本系統(tǒng)Web 后端使用原生Java Web 技術(shù)與Mybatis 框架。用戶在瀏覽器成功登錄系統(tǒng)后,自動跳轉(zhuǎn)到首頁,首頁會加載當前采集的傳感器實時數(shù)據(jù),以及來自第三方天氣API 提供的實時天氣數(shù)據(jù)、晾曬指數(shù)等。在控制頁面,可以手動控制執(zhí)行器,也可以啟動并配置策略自動控制執(zhí)行器,完成控制操作。在傳感器數(shù)據(jù)顯示頁面,包括實時數(shù)據(jù)和歷史數(shù)據(jù),實時數(shù)據(jù)顯示的是每個傳感器數(shù)據(jù)的實時折線圖,歷史數(shù)據(jù)顯示的是存入數(shù)據(jù)的記錄。Web 后端的業(yè)務(wù)圖如圖11 所示。
圖11 Web 后端業(yè)務(wù)圖
3.4.2 數(shù)據(jù)庫的搭建
本系統(tǒng)的Web 后端使用MySQL 數(shù)據(jù)庫,在數(shù)據(jù)庫中創(chuàng)建兩張表,一張用來存儲管理員賬戶的信息,包括管理員賬號的用戶名、密碼等;另外一張用來存儲傳感器數(shù)據(jù),包括有溫度數(shù)據(jù)、濕度數(shù)據(jù)、雨滴數(shù)據(jù)、光照數(shù)據(jù)、是否僅有兒童進入陽臺、發(fā)送這些數(shù)據(jù)的設(shè)備id、發(fā)送的來源IP、接收到這條數(shù)據(jù)的時間信息。
選用天氣較好的一天,根據(jù)成人(175cm)和兒童(110cm)的身高調(diào)整采集節(jié)點1 的激光傳感器。用戶登錄系統(tǒng)后,后臺首頁定時刷新當前采集的傳感器實時數(shù)據(jù),并顯示來自第三方天氣API 提供的當前實時天氣數(shù)據(jù)、晾曬指數(shù)等信息,具體如圖12 所示。
圖12 后臺首頁
在執(zhí)行器頁面,選中設(shè)備1,可以手動操作設(shè)備1 窗戶打開、晾衣架打開,也可以利用配置策略啟用/停用自動模式,自動打開/關(guān)閉設(shè)備1 的窗戶和晾衣架,具體如圖13 所示。
圖13 執(zhí)行器控制頁面
在網(wǎng)頁端可以查看傳感器實時數(shù)據(jù),剛開始是否有小孩進入陽臺顯示0,說明沒有兒童單獨進入陽臺;從0 變成1,說明有兒童單獨進入陽臺,自動操作執(zhí)行器,關(guān)閉窗戶,具體如圖14 所示。
圖14 傳感器實時數(shù)據(jù)顯示折線圖
實驗表明,本文設(shè)計的基于LoRa 技術(shù)的智能陽臺監(jiān)測系統(tǒng),能夠?qū)崟r監(jiān)測兒童是否單獨進入陽臺這一危險區(qū)域,實現(xiàn)智能防護;
實時監(jiān)測室外環(huán)境,實現(xiàn)環(huán)境監(jiān)測;將采集的數(shù)據(jù)上傳到平臺,在Web 后端對所有監(jiān)測數(shù)據(jù)進行實時顯示、歷史查詢、數(shù)據(jù)分析和決策控制,對陽臺窗戶和晾衣桿實現(xiàn)遠程控制,實現(xiàn)遠程交互功能,是智能家居的補充,具有一定的推廣應(yīng)用價值。