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