張 兵 王澤偉 孫曉葉
(防災科技學院,河北 三河065200)
在智能互聯(lián)的推動下,各種通信技術迅速更新迭代。國內(nèi)外也涌現(xiàn)出了一大批的以通信和物聯(lián)網(wǎng)為基礎的產(chǎn)業(yè)。在硬件開發(fā)板領域野火、樹莓派、Arduino 成為電子行業(yè)快速發(fā)展起來的開發(fā)板套件;在通訊領域5G 通信、NB-IOT、藍牙5.0 等通信技術的發(fā)展也在不斷推動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的發(fā)展;在云平臺領域阿里云平臺、中國移動云平臺、騰訊云等的云服務也逐步成熟。在智能環(huán)境監(jiān)測領域,物聯(lián)網(wǎng)技術作為主要技術被廣泛應用。把物聯(lián)網(wǎng)與環(huán)境監(jiān)測結(jié)合起來具有十分明顯的優(yōu)勢。我國空氣污染形勢嚴峻,監(jiān)測霧霾,有害氣體的含量成為空氣指標的剛需。目前,智能環(huán)境監(jiān)測系統(tǒng)已經(jīng)有一定的應用,但是仍然具有很大的發(fā)展前景。本文就是基于以上背景和理念下,利用Arduino 和中國移動的OneNET 平臺對環(huán)境進行智能監(jiān)測。旨在采用Arduino 對環(huán)境數(shù)據(jù)進行采集,并將數(shù)據(jù)上傳到云端,從而幫助用戶采集到指定環(huán)境條件下的數(shù)據(jù),并對環(huán)境進行遠程控制。本系統(tǒng)設計擬定采用Arduino 開發(fā)板和傳感器模塊,實現(xiàn)環(huán)境數(shù)據(jù)的采集。并將環(huán)境數(shù)據(jù)上傳到OneNET 平臺,通過OneNET 所提供的云服務,和實時數(shù)據(jù)處理, 實現(xiàn)環(huán)境監(jiān)測和控制。用戶只需要在移動端或在網(wǎng)頁上登錄就可以遠程看到環(huán)境的數(shù)據(jù),并可以通過頁面上的按鈕遠程對指定的LED 燈和繼電器進行控制。本系統(tǒng)擬定將實現(xiàn)以下開發(fā)目標:(1)本系統(tǒng)開發(fā)路線清晰,程序可用度高,能夠?qū)崿F(xiàn)對環(huán)境數(shù)據(jù)的準確采集和直觀的數(shù)據(jù)展示。(2)在界面上直觀的展示采集到的數(shù)據(jù),可以遠程監(jiān)控指定環(huán)境下的溫度、濕度、光照、煙霧氣體等數(shù)據(jù)。并且可以通過界面上的操作,對指定的繼電器等進行控制。(3)在后臺的管理界面實現(xiàn)用戶的登錄、注銷、修改、授權(quán)等操作。(4)可以通過后臺對傳感器信息進行的更新,實現(xiàn)傳感器等管理,以方便管理員對傳感器的維護處理;(5)本系統(tǒng)在注重功能實現(xiàn)的同時,具有頁面簡單整潔,數(shù)據(jù)傳輸高效準確等目標。
本設計包括下位機部分和管理系統(tǒng)兩部分內(nèi)容,下位機部分主要是單片機、傳感器、WiFi 模塊的設計,管理系統(tǒng)部分是WEB 管理系統(tǒng)的設計,二者共同組成本系統(tǒng)。
本系統(tǒng)是基于Arduino 和傳感器技術進行數(shù)據(jù)采集,通過WiFi 技術和HTTP 技術進行數(shù)據(jù)交互,采用OneNET 云平臺進行數(shù)據(jù)展示。傳感器采集環(huán)境的光照、煙霧、溫度、濕度數(shù)據(jù),通過HTTP 協(xié)議上傳到OneNET 平臺。云平臺收到數(shù)據(jù)之后,用戶可以再在移動端或者電腦端實現(xiàn)對環(huán)境的監(jiān)測和遠程控制。因為OneNET 不開放數(shù)據(jù)庫,所以采用Python 爬蟲將數(shù)據(jù)轉(zhuǎn)存到本地數(shù)據(jù)庫,在本地數(shù)據(jù)庫對環(huán)境數(shù)據(jù)進行管理。并且可以通過管理系統(tǒng)進行用戶管理和對歷史數(shù)據(jù)進行查看。
圖1 智能環(huán)境檢測系統(tǒng)圖
本設計系統(tǒng)結(jié)構(gòu)如圖1 所示。
本系統(tǒng)硬件部分采用傳感器監(jiān)測環(huán)境數(shù)據(jù),并將數(shù)據(jù)實時上傳到OneNET 云平臺。再通過OneNET 云平臺的返回的數(shù)據(jù)顯示到顯示屏上。同時移動端或電腦端可以通過網(wǎng)頁或者APP對云平臺進行數(shù)據(jù)訪問。本設計的硬件部分包括各類Arduino Mega 2560、傳感器、WiFi 模塊、供電電源等實現(xiàn)如下功能:
本設計硬件功能結(jié)構(gòu)圖2。
圖2 硬件功能結(jié)構(gòu)圖
本系統(tǒng)選擇了Arduino Mega 2650 作為主控模塊。Arduino Mega 開發(fā)板上集成了54 路數(shù)字輸入/輸出端口,16 路模擬輸入端口[1]。本設計中選擇Arduino Mega 的主要原因是其的閃存較大,具有較多的引腳,能夠更好的滿足本設計的需求。本智能環(huán)境監(jiān)測系統(tǒng)在硬件部分主要采用了溫濕度傳感器、光照傳感器、煙霧傳感器,用來采指定環(huán)境條件下的溫度、濕度、光照和煙霧氣體的參數(shù)。本系統(tǒng)的無線通信模塊采用了由上海樂鑫信息科技開發(fā)的,可以作為微控制器使用WiFi 控制芯片ESP8266。選用其的原因是低功耗、高集成度,成本低、且具有完整TCP/IP 協(xié)議棧。其常用于串口CH340 轉(zhuǎn)WiFi、WiFi 遠程監(jiān)控/控制、安防一體化管理等領域。本設計的數(shù)據(jù)顯示模塊采用了LCD1602A 液晶顯示屏。用來顯示當前狀態(tài)的溫度、濕度、煙霧氣體、光照參數(shù)。LCD1602 屏幕為2 行,每行顯示16 個字符,為字符型顯示器,只能顯示數(shù)字和字符,不可以顯示漢字[2]。常用于少量字符顯示的電子設計。本設計中采用該模塊顯示從OneNET 端獲得的傳感器數(shù)據(jù)。本系統(tǒng)中使用了常規(guī)的LED 燈和繼電器作為控制器,蜂鳴器作為煙霧超標預警進行報警。LED燈是一種常用的控制發(fā)光源,其的基本結(jié)構(gòu)是一個被環(huán)氧樹脂封裝好的半導體芯片,在通電后可進行發(fā)光。因為其節(jié)能、長效、環(huán)保等優(yōu)點被應用于各類場景。繼電器是一種常用的控制器,能夠通過對較小電流去控制較大的電流??梢酝ㄟ^控制電路實現(xiàn)被控電路的通斷。在本設計中為了提高硬件部分的功能可拓展性。所以選擇繼電器為第二個控制器。蜂鳴器是一種常用的警報模塊。其是直流電壓供電的電子訊響設備,發(fā)聲原理是通過采用震蕩源發(fā)聲。在物聯(lián)網(wǎng)和電子設計中。常用于系統(tǒng)警報或作為提示音出現(xiàn)。蜂鳴器分為有源蜂鳴器和無源蜂鳴器兩種:區(qū)別主要在于蜂鳴器內(nèi)部是否有震動源。有源蜂鳴器其內(nèi)部自帶震蕩源,只需要進行通電就可以發(fā)聲,無源蜂鳴器內(nèi)部不帶震蕩源,具有類似與擴音器一樣的效果,需要接入震蕩源才能進行發(fā)聲。本系統(tǒng)中采用了有源蜂鳴器作為煙霧濃度超標的報警。
在硬件部分按照接線圖,搭建完成,并編譯,上傳成功后,將系統(tǒng)接電,在OneNET 云平臺上進行設置相關參數(shù),使得其能夠?qū)崿F(xiàn)數(shù)據(jù)的交互。在瀏覽器輸入網(wǎng)址https://open.iot.10086.cn/,或搜索OneNET,搜索到OneNET 中國移動物聯(lián)網(wǎng)開放平臺后,點擊進入。在注冊登錄之后,點擊右上角的開發(fā)者中心可以跳轉(zhuǎn)到開發(fā)者中心,在這里可以進行添加產(chǎn)品,在此處有已經(jīng)創(chuàng)建好的產(chǎn)品;點擊進入后,會對單獨的產(chǎn)品有一個特有的產(chǎn)品id和Master-APIkey 和接入的協(xié)議,在此處,可以進行一系列的編輯和權(quán)限操作,在本系統(tǒng)中,我們采用了HTTP 協(xié)議進行通訊。右側(cè)點擊選擇數(shù)據(jù)流模板,確定數(shù)據(jù)流的模板,在此處根據(jù)本系統(tǒng)的規(guī)劃,設置了temp,humi,light,smoke,led,relay6 個數(shù)據(jù)流,分別對應溫度、濕度、光照、煙霧氣體、LED 燈、繼電器,在觸發(fā)器管理部分,添加觸發(fā)器,當溫度大于80 攝氏度時給指定的郵箱發(fā)送郵件,提醒溫度或濕度異常.因為OneNET 云平臺并不開放提供數(shù)據(jù)庫和數(shù)據(jù)保存,所以采用Python 腳本程序?qū)⒕W(wǎng)站的數(shù)據(jù)實時的轉(zhuǎn)存到MySQL 本地數(shù)據(jù)庫中去。
智能環(huán)境監(jiān)測系統(tǒng)使用MySQL 數(shù)據(jù)庫存儲數(shù)據(jù),使用MyEclipse 編寫JSP 網(wǎng)頁。網(wǎng)站前臺設置部分主要實現(xiàn)了用戶的登錄、個人信息修改、管理員權(quán)限的修改、管理員密碼修改、傳感器的增刪改查、歷史數(shù)據(jù)的查詢。
登錄頁面:智能監(jiān)測環(huán)境系統(tǒng)的首頁,用戶必須登錄后方能使用系統(tǒng)功能,網(wǎng)站的首頁是也登錄界面,其中內(nèi)置管理員為admin,密碼為123,且不允許刪除該管理員。
用戶列表頁面:智能監(jiān)測環(huán)境系統(tǒng)在登錄進入后,顯示功能菜單。第一項是用戶列表。本系統(tǒng)不支持用戶注冊,但可以在系統(tǒng)中進行用戶的管理和權(quán)限設置。
傳感器管理頁面:智能監(jiān)測環(huán)境系在傳感器界面可以進行傳感器的添加、查詢、修改和刪除。
歷史數(shù)據(jù)頁面:智能監(jiān)測環(huán)境系在歷史數(shù)據(jù)界面可以通過傳感器名稱的查詢,查詢歷史的傳感器數(shù)據(jù)。
本文詳細介紹了WiFi 技術的智能環(huán)境檢測系統(tǒng)的設計與實現(xiàn)過程,從硬件環(huán)境的搭建到實際工作的完成。本設計在硬件組成部分,沒有使用常規(guī)的單片機進行開發(fā),而是對已有的開發(fā)板上連接傳感器和通訊模塊實現(xiàn)數(shù)據(jù)傳輸,在數(shù)據(jù)傳輸中,使用HTTP 請求,將數(shù)據(jù)傳輸?shù)街袊苿覱neNET 云平臺。實現(xiàn)了數(shù)據(jù)的交互。然后在本地服務器,使用Python 語言完成數(shù)據(jù)請求,將已經(jīng)在云端的數(shù)據(jù)傳輸?shù)奖镜財?shù)據(jù)庫中,再通過WEB 頁面進行數(shù)據(jù)展示和管理員的管理操作。