国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于云端的車內(nèi)環(huán)境監(jiān)控管理系統(tǒng)的開發(fā)

2024-01-23 07:32倪志平覃曉飛
物聯(lián)網(wǎng)技術(shù) 2024年1期
關(guān)鍵詞:服務(wù)端后臺(tái)溫濕度

倪志平,覃曉飛

(1.柳州工學(xué)院 信息科學(xué)與工程學(xué)院,廣西 柳州 545000;2.柳州工學(xué)院 保衛(wèi)部,廣西 柳州 545000)

0 引 言

為了提高環(huán)境監(jiān)控信息數(shù)據(jù)的準(zhǔn)確性、真實(shí)性、實(shí)時(shí)性,促進(jìn)信息管理的智能化、精細(xì)化、網(wǎng)絡(luò)化,為我國(guó)的環(huán)境保護(hù)事業(yè)長(zhǎng)遠(yuǎn)、合理、科學(xué)地發(fā)展提供不竭的動(dòng)力和創(chuàng)新思想,應(yīng)順應(yīng)科學(xué)技術(shù)發(fā)展趨勢(shì),根據(jù)現(xiàn)有環(huán)境、現(xiàn)有資源采取有效措施,對(duì)我國(guó)環(huán)境監(jiān)測(cè)技術(shù)進(jìn)行創(chuàng)新升級(jí),將環(huán)境監(jiān)控與物聯(lián)網(wǎng)技術(shù)進(jìn)行有機(jī)整合,使終端系統(tǒng)與線上系統(tǒng)結(jié)合,讓終端硬件系統(tǒng)聯(lián)網(wǎng),將數(shù)據(jù)送上云。通過終端系統(tǒng)采集數(shù)據(jù)后聯(lián)網(wǎng)發(fā)送到云端進(jìn)行處理,然后保存至云端數(shù)據(jù)庫中,并通過前后端分離的后臺(tái)管理系統(tǒng)進(jìn)行展示和處理,從而實(shí)現(xiàn)人、機(jī)、物的泛在連接,提供信息感知、數(shù)據(jù)傳輸、數(shù)據(jù)處理等服務(wù),以此促進(jìn)我國(guó)環(huán)境保護(hù)事業(yè)的進(jìn)步與發(fā)展[1-4]。

1 系統(tǒng)的總體設(shè)計(jì)

1.1 系統(tǒng)整體架構(gòu)

本文設(shè)計(jì)的基于阿里云IoT Studio 的環(huán)境監(jiān)控系統(tǒng)的整體結(jié)構(gòu)[1]如圖1 所示。終端硬件系統(tǒng)的傳感器檢測(cè)到數(shù)據(jù)后封裝成阿里云IoT 支持的數(shù)據(jù)格式并發(fā)送至阿里云物聯(lián)網(wǎng)平臺(tái);數(shù)據(jù)到達(dá)阿里云后,管理員可通過阿里云IoT 提供的網(wǎng)頁端(IoT Studio)實(shí)時(shí)查看和顯示終端硬件系統(tǒng)傳來的溫濕度數(shù)據(jù);阿里云IoT 會(huì)將接收到的數(shù)據(jù)通過AQMP 協(xié)議轉(zhuǎn)發(fā)至已準(zhǔn)備好的服務(wù)器中,并由部署在服務(wù)器中的后臺(tái)管理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行接收和處理,同時(shí)在后臺(tái)界面展示和處理數(shù)據(jù)。管理員能在任何地方聯(lián)網(wǎng),通過后臺(tái)管理系統(tǒng)查看和處理從環(huán)境現(xiàn)場(chǎng)的終端硬件系統(tǒng)采集到的所有環(huán)境數(shù)據(jù),從而實(shí)現(xiàn)環(huán)境監(jiān)測(cè)系統(tǒng)的智能化、精細(xì)化、網(wǎng)絡(luò)化[5]。

圖1 系統(tǒng)整體結(jié)構(gòu)

1.2 硬件終端設(shè)計(jì)

(1)NodeMCU 數(shù)據(jù)采集主控芯片

根據(jù)整體模塊設(shè)計(jì)可知,NodeMCU 的整個(gè)工作流程包括溫濕度傳感器的數(shù)據(jù)采集、主控模塊的數(shù)據(jù)處理、OLED屏顯示數(shù)值以及通過WiFi 將數(shù)據(jù)上傳云端等步驟。如圖2 所示是本系統(tǒng)下位機(jī)進(jìn)行單次數(shù)據(jù)采集顯示并上云的工作流程。

圖2 終端溫濕度采集流程

(2)DHT22 溫濕度傳感器設(shè)計(jì)

DHT22 的驅(qū)動(dòng)程序設(shè)計(jì)部分需要引入DHT 庫文件,使用DHT dht(對(duì)應(yīng)引腳,模式)語句實(shí)例初始化DHT22 對(duì)應(yīng)的引腳和模式后即可讀取溫濕度,dht.readHumidity()為讀取濕度值,dht.readTemperature()為讀取溫度值;同時(shí)需要配合DHT22 的采樣周期(2 s),因此在讀取溫濕度值之前要設(shè)置延遲2 s。DHT22 單次數(shù)據(jù)采集工作流程如圖3 所示,當(dāng)讀取溫濕度數(shù)值失敗時(shí)將直接終止程序運(yùn)行。

圖3 DHT22 溫濕度傳感器的工作流程

(3)OLED 顯示模塊設(shè)計(jì)

圖4 為本系統(tǒng)OLED 刷新一次顯示內(nèi)容的程序流程。OLED 的驅(qū)動(dòng)程序非常簡(jiǎn)單,本系統(tǒng)使用的驅(qū)動(dòng)庫為u8g2庫,OLED 的初始化和一系列操作只需調(diào)用相關(guān)庫方法即可。OLED 每次顯示新內(nèi)容都需要清屏,然后寫入所顯示的字體類型以及顯示位置,最后寫入要顯示的數(shù)據(jù)。到此,OLED顯示內(nèi)容的工作就完成了。其中所設(shè)置的坐標(biāo)是否合適非常重要,這決定最終顯示的效果,同時(shí)還需要根據(jù)顯示屏大小控制所顯示數(shù)據(jù)的平面大小。

圖4 OLED 驅(qū)動(dòng)程序流程

1.3 阿里云IoT 物聯(lián)網(wǎng)平臺(tái)管理設(shè)計(jì)

硬件設(shè)備接入阿里云IoT 需要使用MQTT 協(xié)議[6],同時(shí)阿里云IoT 對(duì)于設(shè)備接入也已為我們?cè)贏rduino 庫中加入了相關(guān)的SDK—AliyunIoTSDK。AliyunIoTSDK 是基于PubSubClient 底層庫開發(fā),兼容列表與PubSubClient 相同,而PubSubClient 是對(duì)MQTT 進(jìn)行了封裝以簡(jiǎn)化開發(fā)的第三方庫。設(shè)備接入如圖5 所示。

圖5 硬件接入云

設(shè)備接入云所上傳的數(shù)據(jù)格式還需要根據(jù)阿里云IoT 的設(shè)備接入上傳數(shù)據(jù)的格式進(jìn)行設(shè)計(jì),需要上傳設(shè)備的產(chǎn)品密鑰、設(shè)備名稱、設(shè)備密鑰和所在的IoT Studio 區(qū)域,這些數(shù)據(jù)在阿里云物聯(lián)網(wǎng)平臺(tái)實(shí)例的設(shè)備管理中可以獲取。

圖6 為單次數(shù)據(jù)上傳阿里云的流程。設(shè)備接入云需要在Arduino 中引入兩個(gè)庫,一是AliyunIoTSDK 庫,另一個(gè)是PubSubClient 庫。在開發(fā)前需要在阿里云IoT 平臺(tái)的實(shí)例中新建產(chǎn)品和添加設(shè)備。新建產(chǎn)品步驟如圖7 所示,添加設(shè)備在產(chǎn)品菜單項(xiàng)第二項(xiàng)中添加即可,新建產(chǎn)品和添加設(shè)備的具體過程還需要根據(jù)實(shí)際應(yīng)用而改變。有了產(chǎn)品和設(shè)備后可查看設(shè)備信息,設(shè)備證書如圖8 所示。根據(jù)設(shè)備信息調(diào)用AliyunIoTSDK 庫函數(shù)創(chuàng)建一個(gè)實(shí)例IoT,在每次讀取到溫濕度值時(shí)通過實(shí)例IoT 調(diào)用發(fā)送函數(shù)即可將數(shù)據(jù)上傳至阿里云。

圖6 數(shù)據(jù)上云流程

圖7 阿里云IoT 創(chuàng)建產(chǎn)品

圖8 設(shè)備證書

1.4 數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器

數(shù)據(jù)轉(zhuǎn)發(fā)流程如圖9 所示。阿里云IoT 轉(zhuǎn)發(fā)數(shù)據(jù)可在規(guī)則引擎中設(shè)置[7],如圖10 所示。本系統(tǒng)使用服務(wù)端訂閱進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),服務(wù)端訂閱有兩種方式:(1)AMQP 服務(wù)端訂閱消息;(2)MNS 服務(wù)端訂閱消息。本系統(tǒng)使用AMQP 服務(wù)端訂閱消息。AMQP(Advanced Message Queuing Protocol)為高級(jí)消息隊(duì)列協(xié)議,利用此協(xié)議可實(shí)現(xiàn)客戶端與消息中間件之間的信息交互,而且不受客戶端和中間件的不同產(chǎn)品、不同開發(fā)語言等條件的限制。

圖9 數(shù)據(jù)轉(zhuǎn)發(fā)流程

圖10 規(guī)則引擎

在阿里云物聯(lián)網(wǎng)平臺(tái)配置AMQP 服務(wù)端訂閱后,當(dāng)對(duì)應(yīng)終端硬件開始正常運(yùn)行并將數(shù)據(jù)上云時(shí),所配置的訂閱會(huì)將收到的數(shù)據(jù)通過AMQP 通道推送至已準(zhǔn)備好的服務(wù)器[8]。而在服務(wù)器中,還需要編寫相應(yīng)的AMQP 客戶端接口及業(yè)務(wù)邏輯用于接收和回應(yīng)AMQP 服務(wù)端所發(fā)送的數(shù)據(jù)。

在AMQP 客戶端的應(yīng)用實(shí)現(xiàn)方面,阿里云IoT 已經(jīng)為我們提供了AMQP SDK 接入示例,我們可根據(jù)自己的需求更改[6]。

1.5 用戶后臺(tái)管理系統(tǒng)的設(shè)計(jì)

1.5.1 功能結(jié)構(gòu)

后臺(tái)管理系統(tǒng)的功能結(jié)構(gòu)如圖11 所示,擁有基礎(chǔ)的登錄退出功能以及登錄超時(shí)自動(dòng)退出功能,并提供了一些對(duì)溫濕度數(shù)據(jù)進(jìn)行基礎(chǔ)操作的功能,如歷史數(shù)據(jù)查詢、數(shù)據(jù)導(dǎo)出、數(shù)據(jù)刪除等[7]。

圖11 功能結(jié)構(gòu)

1.5.2 架構(gòu)設(shè)計(jì)

用戶后臺(tái)管理系統(tǒng)為前后端分離架構(gòu),前后端分離是為了實(shí)現(xiàn)前后端解耦[9],將前端和后端的工作界限分清,前端專門負(fù)責(zé)頁面跳轉(zhuǎn)、數(shù)據(jù)的展示與人機(jī)交互;后端則負(fù)責(zé)為前端提供數(shù)據(jù)接口,返回JSON 數(shù)據(jù),為前端處理和存儲(chǔ)數(shù)據(jù)。應(yīng)用分層如圖12 所示,明確了前后端分工,使兩者各司其職、互不干涉;同時(shí),后端業(yè)務(wù)分層采用控制層、業(yè)務(wù)層、數(shù)據(jù)訪問層(數(shù)據(jù)持久層、通用處理層)三層架構(gòu),以實(shí)現(xiàn)系統(tǒng)的高內(nèi)聚、低耦合。

圖12 架構(gòu)設(shè)計(jì)

1.5.3 數(shù)據(jù)庫設(shè)計(jì)

本系統(tǒng)需要新建3 張數(shù)據(jù)庫表,分別是用戶表、存儲(chǔ)溫濕度數(shù)據(jù)的環(huán)境數(shù)據(jù)表、設(shè)置預(yù)警值及判斷每一刻溫濕度狀態(tài)的預(yù)警閾值表,數(shù)據(jù)庫ER 圖如圖13 所示。數(shù)據(jù)庫字段可根據(jù)需求自定義,即根據(jù)實(shí)際業(yè)務(wù)需求逐漸豐富和完善。由于本系統(tǒng)僅作為一個(gè)環(huán)境監(jiān)測(cè)系統(tǒng)開發(fā)樣例,因此只需要較少字段即可達(dá)到展示效果。

圖13 數(shù)據(jù)庫ER 圖

2 系統(tǒng)的實(shí)現(xiàn)

2.1 設(shè)備終端實(shí)現(xiàn)

給下位機(jī)上電啟動(dòng)后,系統(tǒng)正常監(jiān)測(cè)到了溫濕度值并顯示在OLED 屏幕上,如圖14 所示;并且每當(dāng)溫度超過預(yù)警值時(shí),蜂鳴器將會(huì)報(bào)警。

圖14 設(shè)備終端的實(shí)現(xiàn)

2.2 阿里云IoT 數(shù)據(jù)接入與轉(zhuǎn)發(fā)的實(shí)現(xiàn)

阿里云IoT 平臺(tái)為我們提供了設(shè)備模擬器,能夠模擬終端設(shè)備與云端建立MQTT 連接、上報(bào)數(shù)據(jù)、接收云端控制指令以及物模型通信等完整過程。

成功啟動(dòng)AMQP 客戶端后,客戶端程序會(huì)另開啟一個(gè)進(jìn)程監(jiān)聽10 min(為了節(jié)省資源,筆者設(shè)置為10 min),10 min 后客戶端沒有監(jiān)聽到任何數(shù)據(jù)將會(huì)結(jié)束進(jìn)程。如圖15所示,調(diào)試設(shè)備后啟動(dòng)設(shè)備模擬器,選擇屬性上傳,填入對(duì)應(yīng)屬性后點(diǎn)擊發(fā)送指令就完成了一次完整的服務(wù)流程。發(fā)送指令后可以看到右側(cè)日志打印的信息,成功模擬了終端設(shè)備將環(huán)境數(shù)據(jù)發(fā)送至阿里云IoT,阿里云IoT 也成功將數(shù)據(jù)轉(zhuǎn)發(fā)至AMQP 客戶端。

圖15 啟動(dòng)AMQP 客戶端

2.3 阿里云IoT Studio 網(wǎng)頁數(shù)據(jù)的展示

IoT Studio 網(wǎng)頁數(shù)據(jù)的展示如圖16 所示,可以在網(wǎng)頁端實(shí)時(shí)查看溫濕度數(shù)據(jù)。

圖16 IoT Studio 網(wǎng)頁數(shù)據(jù)的展示

2.4 后臺(tái)管理頁面的實(shí)現(xiàn)

首先我們?cè)诒镜貑?dòng)環(huán)境數(shù)據(jù)后臺(tái)管理系統(tǒng),打開后臺(tái)界面進(jìn)入登錄頁面,如圖17 所示;輸入賬號(hào)和密碼后進(jìn)入首頁,在導(dǎo)航欄菜單項(xiàng)選擇進(jìn)入數(shù)據(jù)監(jiān)控頁,如圖18 所示。點(diǎn)擊圖中開關(guān)開始接收數(shù)據(jù)并進(jìn)行監(jiān)控,溫濕度的數(shù)據(jù)能夠正常顯示,并且顯示的顏色會(huì)隨著頁面下方的閾值范圍而變化;同時(shí)下方的表格也會(huì)記錄接收到的數(shù)據(jù)。改變溫濕度適宜范圍時(shí),系統(tǒng)可以將數(shù)據(jù)同步至數(shù)據(jù)庫并提示同步成功,如圖19、圖20 所示。

圖17 登錄頁面

圖18 數(shù)據(jù)監(jiān)控頁

圖19 開始監(jiān)控界面

圖20 更新并同步溫濕度適宜范圍

在導(dǎo)航欄選擇進(jìn)入數(shù)據(jù)觀測(cè)頁,首先看到的是默認(rèn)加載每頁五條數(shù)據(jù),并用不同顏色的標(biāo)簽組件標(biāo)識(shí)了每條數(shù)據(jù)的不同狀態(tài),比如正常狀態(tài)為綠色,異常狀態(tài)為黃色,如圖21所示。同時(shí),可通過表格上方的檢索框檢索出想要的數(shù)據(jù),如圖22 所示,檢索出狀態(tài)正常、溫度為25℃、濕度為81%的所有數(shù)據(jù);也可以通過時(shí)間段檢索出指定時(shí)間段的數(shù)據(jù),如圖23 所示。

圖21 數(shù)據(jù)觀測(cè)頁

圖22 狀態(tài)和數(shù)值檢索

圖23 時(shí)間段檢索

3 結(jié) 語

本系統(tǒng)是對(duì)個(gè)別環(huán)境監(jiān)測(cè)對(duì)象(溫濕度)進(jìn)行監(jiān)測(cè)并將數(shù)據(jù)接入阿里云IoT,阿里云IoT 將數(shù)據(jù)轉(zhuǎn)發(fā)至服務(wù)器后臺(tái)管理系統(tǒng)的工作流程及解決方案的開發(fā)案例,重點(diǎn)介紹和分析了下位機(jī)以及后臺(tái)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方式,如下位機(jī)各功能模塊如何使用Arduino IDE 進(jìn)行開發(fā),后臺(tái)管理系統(tǒng)頁面跳轉(zhuǎn)、異步數(shù)據(jù)請(qǐng)求和界面UI 的設(shè)計(jì)與實(shí)現(xiàn)等。

本系統(tǒng)后臺(tái)管理系統(tǒng)所使用的的技術(shù)棧皆為目前主流技術(shù),在行業(yè)內(nèi)被大量應(yīng)用于實(shí)際項(xiàng)目的開發(fā)。本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)為環(huán)境監(jiān)測(cè)及物聯(lián)網(wǎng)應(yīng)用提供了一個(gè)可行且技術(shù)棧為目前主流技術(shù)的解決方案及項(xiàng)目實(shí)施過程[10],進(jìn)一步推進(jìn)我國(guó)環(huán)境監(jiān)測(cè)系統(tǒng)的發(fā)展,增加物聯(lián)網(wǎng)應(yīng)用場(chǎng)景案例。

猜你喜歡
服務(wù)端后臺(tái)溫濕度
溫濕度控制器在回收砂冷卻系統(tǒng)中的應(yīng)用
基于DSP的多路溫濕度監(jiān)測(cè)系統(tǒng)
基于溫濕度控制的天氣預(yù)測(cè)裝置
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
后臺(tái)暗戀
在Windows Server 2008上創(chuàng)建應(yīng)用
蒸發(fā)冷卻溫濕度獨(dú)立控制空調(diào)系統(tǒng)的應(yīng)用
前臺(tái)、后臺(tái)精彩花絮停不了
以“后臺(tái)”的名義節(jié)省電池用量