丁小一,劉宏斌
(合肥職業技術學院,安徽合肥,230000)
隨著中國經濟的飛速發展,高層住宅樓越來越多,這也導致了兒童發生意外的概率大幅提升。據統計,在兒童意外傷害事件中,高空跌落發生比例較高,達到34.6%。發生這樣的意外,一方面是因為大人疏于看護[1],另一方面是由于高層住宅陽臺缺乏完善的防護措施。在考慮到兒童行動的不確定性以及防護的時效性,提出了一種基于LoRa 技術的智能陽臺監測系統。該系統不僅可以第一時間起到防護作用,集成室外環境實時監測系統,并實現遠程交互為人們的生活提供便利。
按照數據處理流程,陽臺監測系統可以分為LoRa 采集節點、LoRa 網關節點。LoRa 采集節點采集傳感器數據并通過LoRa 無線模塊發送到LoRa 網關節點,接收網關節點的命令操作執行器;LoRa 網關節點將接收到的數據,通過WiFi 模塊發送到云服務器,并且接收服務器下發的指令發送給采集節點。
本系統主要包含智能防護、環境監測以及遠程交互三大功能。其中,智能防護功能是監測系統的核心功能,通過多組激光傳感器監測是否有兒童單獨進入陽臺,如果有,執行關窗操作,避免意外發生;通過溫濕度、光敏及雨滴傳感器實時監測天氣情況,同時OLED顯示下雨情況和實時溫濕度,從而實現環境監測;Web 后端顯示、存儲采集的數據,同時可以通過這些數據對應的策略來自動下發控制指令到執行器,實現窗戶的開關和晾衣桿的拉伸,從而實現遠程交互功能。

圖1 系統總體設計結構圖
處理器采用意法半導體公司的STM32L151C8T6D 微控制器,如圖2 所示,內置64KB Flash 存儲器,價格較為便宜,耗電低,工作的環境溫度區間在-40℃~85℃。

圖2 STM32L151C8T6D主控模塊
由于網關安裝于小區配電房,采集節點安裝于陽臺,兩者直線距離相距數十米。如果使用有線,則需要鋪設線纜,耗費人力物力,故采用無線方式進行通信。目前常用的無線通信方式較多,如LoRa、NB-IoT 等[2]。在本系統中,通信距離長,信號需要穿過建筑物墻體,而且NB-IoT 會產生相關的通信費用,綜合考慮選用LoRa 作為通信方式。
本系統選用利爾達LSD4RF-2F717N30 無線模塊,如圖3 所示,它是SEMTECH 公司的SX1278 射頻芯片,具有傳輸距離遠、速度快、功耗低、體積小的優點[3]。

圖3 LSD4RF-2F717N30無線模塊
基于以上選用的微控制器、LoRa 無線模塊,根據需求,添加相應傳感器及電源模塊,設計LoRa 采集節點,具體硬件框圖如圖4 所示。

圖4 采集節點硬件結構框圖
2.3.1 溫濕度傳感器模塊
溫濕度數據的采集選用DHT11 模塊,它的濕度測定范圍大概在20%~90%之間(精度5.0%);溫度測定的范圍大概在0℃~50℃(精度2℃)[4],主要用來采集陽臺的溫度與濕度數據,其典型電路如圖5 所示。

圖5 DHT11 典型電路
2.3.2 激光傳感器模塊
由于激光具有傳輸快、相干性好、直線傳播且穩定的物理特性,本系統采用多組激光收/發組來判定兒童是否獨自進入陽臺。激光收/發組由可調激光頭和激光接收管組成,其中,可調激光發射頭的工作電壓為5V、發射功率為50mW、波長為650nm;通電時,激光接收管被激光照射后,從低電平變為高電平。
通過在陽臺兩側安裝多組激光發射與接收裝置,根據家庭成員身高調節相應高度,高位配合低位檢測成人進出情況,低位檢測兒童進出情況。當激光收/發組僅低位觸發時,表示兒童獨自進入陽臺,控制步進電機關閉窗戶;當激光收/發組僅高位或高低位觸發時,表示成人進入或成人陪同兒童進入,不執行任何操作。
2.3.3 雨量傳感器模塊
雨量傳感器模塊含LM393 比較器,用于檢測室外是否下雨,其電路原理圖如圖6 所示。當感應電路板上沒有水的時候,它不會被觸發,模塊的數字引腳會輸出高電平;當感應電路板上有水時,它會被觸發,數字引腳會輸出低電平。

圖6 雨量傳感器原理圖
2.3.4 步進電機
本系統每個采集節點均選用5 線4 相永磁式電機28BYJ48,用來驅動陽臺窗戶的開關和陽臺晾衣架的推出與收起。選用ULN2003 驅動電機,原理圖如圖7 所示。核心板每發送一個脈沖信號給ULN2003 驅動板,28BYJ48 按設定的方向轉動一定的度數。實際上,分別通過調整脈沖的頻率和個數來控制28BYJ48 齒輪速度、加速度以及位移的角度,從而實現電機的調速。

圖7 步進電機原理圖
2.3.5 OLED 顯示屏
本系統選用0.96 寸OLED 顯示屏,具有自發光、清晰度高、體積輕薄、刷新頻率快等特點,該顯示屏與核心板使用I2C 進行通信。
一般小區設置一個網關節點,安裝于小區配電房。基于以上選用的微控制器、LoRa 無線模塊,添加WiFi 模塊及電源模塊構成LoRa 網關節點,具體硬件框圖如圖8 所示。

圖8 網關節點硬件結構框圖
其中,WiFi 模塊選用 ESP8266 模塊,它是一個低成本的無線連接設備,本系統采用的是體積小巧、功能齊全、價格低廉的ESP 系列ESP-01 模塊。ESP-01 模塊和主控芯片進行串口通信,主控芯片將打包好的Json 格式數據通過串口發送給ESP-01 模塊,ESP-01 模塊將數據通過MQTT 協議用WiFi 熱點發送至服務器。
智能監測系統采集節點和網關節點采用星型組網,數據傳輸方式采用數據幀模式,為保證監測數據傳輸過程中的可靠性和準確性,采用CRC 算法對數據進行校驗[5]。LoRa 模塊通信協議請求命令結構[6]如表1所示,響應命令結構如表2 所示。

表1 LoRa模塊通信協議請求命令結構

表2 LoRa模塊通信協議響應命令結構
LoRa 采集節點采集傳感器數據(是否有兒童單獨進入陽臺、溫濕度數據、當前是否下雨等),在接收到網關節點請求命令后,對數據進行CRC 校驗,解析請求命令,如果是讀傳感器的命令,根據響應命令結構封裝數據,并上傳給網關節點;如果是控制命令,則控制步進電機,開關窗戶或者推拉晾衣桿,具體程序流程圖如圖9 所示。
網關節點的LoRa 模塊接收采集節點發送過來的數據,通過SPI 接口發送給主控模塊,主控模塊通過串口發送給WiFi 模塊,進而發送至服務器。同時,網關節點需要解析服務器發來的Json 數據,向采集節點發送命令,具體程序流程圖如圖10 所示。

圖10 網關節點程序流程圖
3.4.1 Web 后端的業務介紹
本系統Web 后端使用原生Java Web 技術與Mybatis 框架。用戶在瀏覽器成功登錄系統后,自動跳轉到首頁,首頁會加載當前采集的傳感器實時數據,以及來自第三方天氣API 提供的實時天氣數據、晾曬指數等。在控制頁面,可以手動控制執行器,也可以啟動并配置策略自動控制執行器,完成控制操作。在傳感器數據顯示頁面,包括實時數據和歷史數據,實時數據顯示的是每個傳感器數據的實時折線圖,歷史數據顯示的是存入數據的記錄。Web 后端的業務圖如圖11 所示。

圖11 Web 后端業務圖
3.4.2 數據庫的搭建
本系統的Web 后端使用MySQL 數據庫,在數據庫中創建兩張表,一張用來存儲管理員賬戶的信息,包括管理員賬號的用戶名、密碼等;另外一張用來存儲傳感器數據,包括有溫度數據、濕度數據、雨滴數據、光照數據、是否僅有兒童進入陽臺、發送這些數據的設備id、發送的來源IP、接收到這條數據的時間信息。
選用天氣較好的一天,根據成人(175cm)和兒童(110cm)的身高調整采集節點1 的激光傳感器。用戶登錄系統后,后臺首頁定時刷新當前采集的傳感器實時數據,并顯示來自第三方天氣API 提供的當前實時天氣數據、晾曬指數等信息,具體如圖12 所示。

圖12 后臺首頁
在執行器頁面,選中設備1,可以手動操作設備1 窗戶打開、晾衣架打開,也可以利用配置策略啟用/停用自動模式,自動打開/關閉設備1 的窗戶和晾衣架,具體如圖13 所示。

圖13 執行器控制頁面
在網頁端可以查看傳感器實時數據,剛開始是否有小孩進入陽臺顯示0,說明沒有兒童單獨進入陽臺;從0 變成1,說明有兒童單獨進入陽臺,自動操作執行器,關閉窗戶,具體如圖14 所示。

圖14 傳感器實時數據顯示折線圖
實驗表明,本文設計的基于LoRa 技術的智能陽臺監測系統,能夠實時監測兒童是否單獨進入陽臺這一危險區域,實現智能防護;
實時監測室外環境,實現環境監測;將采集的數據上傳到平臺,在Web 后端對所有監測數據進行實時顯示、歷史查詢、數據分析和決策控制,對陽臺窗戶和晾衣桿實現遠程控制,實現遠程交互功能,是智能家居的補充,具有一定的推廣應用價值。