趙越,趙昕怡,袁景熙,潘世晨
(東南大學 成賢學院,江蘇南京,210088)
物聯網技術的飛速發展為人們的生活提供了很多便利,在人們的日常生活領域中有很大的應用場景。本系統以智能家居的理念為出發點,運用中央微處理器處理傳感器數據,且利用物聯網技術實現傳感器、設備和網絡相互連接,促進設備與網絡之間以及設備自身之間的通信。在目前的中國市場中,智能家居及其類似產品均已成型。對于智能家居產品廣泛投入宿舍場景,則會帶來投入成本高和系統維護難度過高的問題。
隨著大學生入學數量逐年增多,宿舍安全問題也越發引起社會大眾的重視。無論是宿舍用電不慎引起的火災還是多發的盜竊事故,都讓大學生的日常生活存在安全隱患且嚴重影響著高校的正常教學秩序。傳統的宿舍安全管理方式主要依靠人力巡視監管以及傳統監控設施,而隨著宿舍數量、住宿學生的基數以及隱私意識的不斷增加,這種傳統方式浪費大量的人力物力財力的傳統方式已經難以滿足目前管理的需求。為了解決這類問題,本系統運用物聯網技術設計防火防盜智能化三大功能模塊,為學生的人身安全及隱私提供保障。
本宿舍智能安防便利系統整體主要分為嵌入式STC89C52 和ESP8266-WIFI 模塊接入互聯網兩部分。其整體網絡結構如圖1 所示。

圖1 整體網絡結構圖
系統要實現網絡控制和通訊功能,首先需要連接一個服務器。在本設計中,ESP8266 有兩種網絡通訊方式,即連接兩種服務器。第一種通訊方式需運用MQTT 協議,此協議是用于實現客戶端與服務器的消息發布和訂閱傳輸。通過阿里云服務器與然也物聯之間的通訊,ESP8266 利用此通信建立局域網,將客戶端和阿里云服務器進行連接。客戶端通過阿里云服務器和MQTT 協議發布消息,ESP8266訂閱消息得到溫濕度數據??蛻舳艘部沙蔀橄⒌挠嗛喺逧SP8266 向客戶端發布消息,可實現系統的網絡控制功能。同時本設計也用到了MQTT 協議的心跳機制,用于反映ESP8266 建立的通訊是否在線。第二種通訊方式運用到HTTP 協議,利用互聯網或已建好的局域網向巴法云服務器發送HTTP 請求,并且分析巴法云服務器返回的HTTP 響應信息。通過巴法云控制臺產生的信息密鑰,響應信息能夠利用密鑰向手機微信建立通信,從而發出報警消息。網絡通訊建立過程如圖2 所示。

圖2 網絡通訊建立過程圖
本系統主要采用STC89C52 為主控芯片,所需功能為以下模塊實現:mq-6 可燃氣體傳感器模塊、DHT11 溫濕度傳感器模塊、SG90-舵機、YD-A1 雨滴傳感器模塊、0.96寸OLED 顯示屏模塊、ESP8266-NodeMCU 無線WIFI 模塊、電磁鎖模塊、HC-SR04 超聲波測距模塊、蜂鳴器報警模塊。系統硬件結構如圖3 所示。

圖3 系統硬件結構圖
STC89C52 是一款內置4KB EEPROM、集成MAX810專用復位電路、擁有4 路外部中斷的微處理器,工作電壓為3.8V~5.5V,工作溫度為-40℃~+85℃。它具有強抗干擾、成本低廉、超低功耗及超大容量SRAM 的特點。本設計采用數字信號的檢測對STC89C52 和無線WiFi 模塊ESP8266-NodeMCU 建立聯系,并對Sg90-舵機進行控制。
MQ-6 可燃氣體傳感器所使用的氣敏材料是在空氣中電導率較低的二氧化錫(SnO2)。當傳感器所處環境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大,使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應輸出的TTL 信號。通過調節傳感器中的電位器,可改變MQ-6 的靈敏度。
DHT11 是一款有校準數字信號輸出的溫濕度傳感器,采用簡化的單總線通信。單片機發送一次開始信號后,DHT11 從低功耗模式轉換到高速模式,待單片機開始信號結束后,再發送響應信號,送出 40bit 的數據后觸發一次信息采集。DHT11 的 DATA 引腳檢測到外部信號有低電平時,該引腳處于輸出狀態,輸出 80 微秒的低電平作為應答信號后,傳感器繼續輸出80 微秒的高電平通知外設準備接收數據。精度濕度±5%RH,溫度±2℃,量程濕度20%~90%RH,溫度0℃~50℃,滿足宿舍的檢測需求。
SG90 舵機是一種直流電能轉換成機械能(直流電動機)的旋轉電機,有三根線:紅線接VCC,棕線接GND,橙線接PWM 信號。PWM 信號是舵機的控制信號,該信號是周期為20ms 的脈寬調制(PWM)信號,其中脈沖寬度從0.5ms~2.5ms。由于舵機內部有一個基準電路,會產生一個周期20ms,寬度1.5ms 的基準信號,當舵機收到一個PWM 信號時,舵機內部的比較器會將PWM 信號與基準信號進行比較,從而判斷出舵機要轉動的方向和大小,進而產生電機的轉動信號,其轉動角度與脈沖寬度呈線性關系。
YD-A1 雨滴傳感器是一款采用高品質的FR-04 雙面材料、抗氧化、高導電性、長壽命的傳感器。由LM393(雙電壓比較器)和雨滴檢測片組成。LM393 有6 個引腳+和-接與雨滴檢測片連接。VCC 是電源正接口,可外接3.3~5V供電電源,GND 電源負極接口,可外接電源負極或地線,
DO 接數字信號輸出接口,可外接單片機的GPIO 口,AO接模擬信號輸出接口,可外接單片的ADC 采樣通道。當雨滴檢測片上檢測到有水時,DO 引腳輸出低電平,否則輸出高電平。與DO 口不同的是AO 口會輸出模擬信號,單片機可以通過模擬信號達到雨滴檢測片上的雨量大小。
本設計選用分辨率為128×64 的0.96 寸7 針OLED 模塊。它具有6800、8080 兩種并行接口方式、3 線或4 線的串行SPI 接口方式和IIC 接口方式。該模塊體型較小、抗震性能好、可視角度大,可以保證在很大的視角下觀看且畫面不失真。結合本系統主控芯片的計算能力和該顯示屏的優點,選用該OLED 作為顯示模塊。
ESP8266-NodeMCU 是由樂鑫科技設計的一款支持WiFi 功能的開源硬件開發板,用于開發物聯網環境。該開發板有30 個引腳,其中有17 個GPIO 引腳,其中GPIO6—GPIO11 被用于連接開發板的閃存。開發板可以用AT 指令開發、使用lua 腳本進行開發、Arduino IDE 開發和VS Code配置Arduino 開發環境,能夠適應于各種操作環境。
本系統選用XG-07E 的5V 四線的電磁鎖模塊。因ESP8266 輸出電壓為3.3V,未達到電磁鎖的驅動電壓,所以本設計選用1 路5V 支持高低電平觸發繼電器作為電磁鎖的驅動開關。電磁鎖與繼電器連接圖如圖4 所示。

圖4 電磁鎖連接圖
HC-SR04 超聲波測距模塊可提供2cm~400cm 的非接觸式距離感測功能,測距精度可達到3mm。該模塊包含超聲波發射器、接收器與控制電路。在本系統中,該模塊用于判斷外人闖入情況。若測出距離小于設定值,HC-SR04 會發出高電平反饋給主控芯片和ESP8266,實現報警和向微信發送短信的功能。
蜂鳴器報警模塊選用的是有源蜂鳴器高電平觸發模塊。其工作原理為:直流電源輸入經過振蕩系統的放大取樣電路在諧振裝置作用下產生聲音信號。當傳感器達到指定數值時,向主控芯片傳輸高電平信號給蜂鳴器接入的GPIO 口,能達到實時報警的效果。
本系統軟件部分主要由可燃氣體傳感器模塊、溫濕度傳感器模塊、舵機、雨滴傳感器模塊、OLED 顯示屏模塊、ESP8266 無線WiFi 模塊、HC-SR04 超聲波測距模塊組成。程序燒錄后,先對各個模塊進行初始化,然后對傳感器數值進行監測,判斷被測對象是否達到設置預警值,最后將達到預警值模塊的消息反饋給用戶。系統程序設計流程圖如圖5所示。

圖5 系統程序設計流程圖
首先引入傳感器和STC89C52 中需要調用函數的頭文件,對所需變量和GPIO 口進行定義。其次對各模塊的驅動代碼進行封裝,將其放入對應函數中。這樣既增加了函數的可讀性,也方便程度的連續調用。然后將各模塊的初始化代碼放入主函數中,并在主循環中調用所有模塊的封裝函數,即可啟用各個模塊,并做出響應。
首先定義ESP8266 的設備連接類型,本系統需連接ESP8266 的串口、WIFI 和小愛同學語音控制設備。其次,引入傳感器和建立網絡通訊的頭文件,設置為AP 工作模式。然后對ESP8266 進行配網和默認API 網址的設置,存入局域網名稱、密碼和設備連接密鑰。初始化服務器和web 配網,當ESP8266 的藍燈閃爍顯示配網成功時,再與設備進行連接。最后初始化串口函數(串口波特率設置為115200)、與blinkerAPP 同名的組件函數和微信消息推送函數void doHttpStick1(),即可通過手機對設備進行控制。為了溫濕度傳感器能夠及時刷新且發送報警消息,本系統在loop 函數中增加了if(WiFi.status()==WL_CONNECTED)的判斷語句,檢查設備的網絡連接狀態。在網絡連接完成后,放入DHT11.read()函數更新傳感器信息,可得到溫濕度數值的反復更新。
本設計的實物圖如圖6 所示。
本系統需連入物聯網測試的功能有:①ESP8266 與blinker 軟件的設備連接;②ESP8266 向巴法云服務器發送報警消息;③小愛同學語音控制。
①ESP8266 與blinker 軟件的設備連接
Blinker 軟件的顯示界面如圖所示。當程序燒錄完成后,設備與手機進行連接,顯示在線狀態。如圖7 所示,溫濕度數值已傳輸到手機軟件的顯示界面。溫濕度數值下的三個按鍵分別為開關燈、開關窗、開關鎖的功能。下方的兩個滑動條為溫濕度的閾值設置,可隨意更改預設值。最下方的調試界面用來觀測數據的傳輸狀態。從圖7 可看出,數據傳輸狀態良好。

圖7 軟件顯示界面
②ESP8266 向巴法云服務器發送報警消息
本系統有三種情況需要發送消息:①溫度達到預設值時,ESP8266 向手機發送“溫度過高”消息;②氣體濃度達到預設值時,ESP8266 向手機發送“氣體濃度過高”消息;③超聲波傳感器達到預設值時,ESP8266 向手機發送“有人闖入”消息;消息發送成功界面如圖8 所示。

圖8 微信收到消息界面
③小愛同學語音控制
本設計的語音控制采用小愛同學APP,首先將米家APP 與blinkerAPP 進行設備同步。其次登錄小愛同學APP,其中小愛同學和米家APP 的小米賬號須一致。然后在小愛同學的訓練計劃中,設置語音開關燈指令,可以手機語音控制開關的功能。語音控制如圖9 所示。

圖9 語音控制
基于物聯網的宿舍智能安防便利系統的設計,通過傳感器控制和物聯網技術,對學生宿舍進行全方位、實時的數據監控,提高了學生的安全管理效率和精準度。且通過實時數據采集,系統能夠快速、準確地發現異常情況,及時進行報警和處置,從而保障學生的人身安全。此項目解決了宿舍管理帶來的人力物力財力等問題,為未來宿舍管理提供了一種新的思路和解決方案。