黃利紅
(湖南軟件職業(yè)學(xué)院,湖南湘潭 411100)
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,其產(chǎn)物已經(jīng)滲透到了我們?nèi)粘9ぷ骱蜕钪械拿恳粋€部分。我國教育現(xiàn)代化建設(shè)的發(fā)展,學(xué)生宿舍紛紛建成,對宿舍的智能化、人性化的要求有了第一步的提高。本文提出了一種基于Arduino開發(fā)板的低成本智能宿舍監(jiān)控系統(tǒng),該控制系統(tǒng)通過Arduino微控制器接收傳感器設(shè)備傳遞的數(shù)據(jù),處理后由傳送至物聯(lián)網(wǎng)云平臺存入數(shù)據(jù)庫中,上位機(jī)和移動終端也可以通過物聯(lián)網(wǎng)平臺查看數(shù)據(jù)或者發(fā)送控制命令。本文主要闡述該系統(tǒng)的軟件模塊的設(shè)計。
系統(tǒng)主要由四個部分構(gòu)成:
(1)數(shù)據(jù)采集部分。(2)嵌入式平臺部分。(3)物聯(lián)網(wǎng)云平臺部分。(4)終端控制部分。各部分的交互情況如圖1所示。
圖1 基于Arduino的低成本智能宿舍監(jiān)控系統(tǒng)的總體設(shè)計Fig.1 Overall design of low cost intelligent dormitory monitoring system based on Arduino
系統(tǒng)的硬件包括了數(shù)據(jù)采集模塊和嵌入式平臺模塊:
數(shù)據(jù)采集模塊硬件主要包括溫濕度傳感器DHT11、人體紅外傳感器HC-SR501、煙霧傳感器MQ-2、火焰?zhèn)鞲衅鱕L-38等。人體紅外傳感器,煙霧傳感器,火焰?zhèn)鞲衅骱头澍Q器結(jié)合使用。
嵌入式平臺模塊硬件采用了Arduino mega 2560主板,搭配ESP8266作為無線模塊。
系統(tǒng)的軟件模塊設(shè)計包括了三個部分:嵌入式平臺模塊與數(shù)據(jù)采集模塊的交互、物聯(lián)網(wǎng)平臺與嵌入式平臺的交互、終端控制模塊的界面設(shè)計。
嵌入式平臺模塊與數(shù)據(jù)采集模塊的軟件開發(fā)是在Arduino IDE中進(jìn)行的,主要的功能是協(xié)同已集成設(shè)計的各傳感器完成相應(yīng)功能。Arduino IDE是官方為Arduino系列的開發(fā)板專門設(shè)計的開源開發(fā)環(huán)境軟件。安裝好CH340驅(qū)動后,配置IDE,選擇開發(fā)板的型號后就可以使用連接到計算機(jī)的Arduino開發(fā)板了。以溫濕度為例,傳感器采集宿舍環(huán)境中溫度、濕度變量,將接收到的數(shù)據(jù)變量按一定規(guī)律轉(zhuǎn)化為電信號,然后傳送至嵌入式平臺模塊,由嵌入式平臺模塊進(jìn)行相應(yīng)的處理。在Arduino IDE中,先引用dht11庫文件,定義溫濕度的針腳號,然后讀取DHT11傳遞的溫濕度值。因?yàn)闇貪穸鹊闹凳亲兓?所以將上述取值過程循環(huán)調(diào)用,獲得一系列的溫濕度值。如圖2所示。
圖2 獲取溫濕度程序Fig.2 Program for obtaining temperature and humidity
硬件部分搭建好之后,嵌入式平臺模塊將與物聯(lián)網(wǎng)平臺進(jìn)行連接。物聯(lián)網(wǎng)云平臺選擇了中國移動物聯(lián)網(wǎng)開放平臺OneNET云平臺。目前這個平臺對設(shè)備的接入是免費(fèi)的,符合該系統(tǒng)“低成本”的需求。OneNET是由中國移動打造的PaaS物聯(lián)網(wǎng)開放平臺。平臺能夠幫助開發(fā)者輕松實(shí)現(xiàn)設(shè)備接入與設(shè)備連接,快速完成產(chǎn)品開發(fā)部署,為智能硬件、智能家居產(chǎn)品提供完善的物聯(lián)網(wǎng)解決方案。它提供了豐富的API接口,作為連接和數(shù)據(jù)中心,OneNET平臺能夠適應(yīng)各種傳感網(wǎng)絡(luò)和通信網(wǎng)絡(luò),支持眾多類型的傳輸協(xié)議,并且在云端提供數(shù)據(jù)存儲功能,平臺上規(guī)范化的產(chǎn)品管理應(yīng)用能夠滿足大場景下的設(shè)備互聯(lián)以及遠(yuǎn)程調(diào)度需求[1]。
嵌入式平臺模塊與物聯(lián)網(wǎng)平臺進(jìn)行連接,首要在OneNET上注冊用戶賬號,來創(chuàng)建個人“控制臺”。注冊完成后需要在OneNET Studio上創(chuàng)建自己的項(xiàng)目并將硬件設(shè)備添加進(jìn)去。流程大致如下:登錄注冊-控制臺-項(xiàng)目管理-設(shè)備管理-添加設(shè)備。如圖3所示。
圖3 OneNET平臺的登錄注冊界面Fig.3 Login and registration interface of onenet platform
用戶可以添加本項(xiàng)目所需要的設(shè)備、數(shù)據(jù)流、觸發(fā)器、APIKey等。在該系統(tǒng)里,Arduino開發(fā)板被添加成設(shè)備之后,嵌入式平臺模塊將收集并上傳各類數(shù)據(jù)。以溫度濕度數(shù)據(jù)的上傳為列: Arduino開發(fā)板與平臺建立連接后開始上傳檢測的溫濕度數(shù)據(jù),設(shè)置為一分鐘上傳一次。登錄onenet賬號打開設(shè)備管理,然后查看設(shè)備下的數(shù)據(jù)流管理來確認(rèn)數(shù)據(jù)是否上傳。當(dāng)查看到數(shù)據(jù)的顯示圖時,可根據(jù)上傳的數(shù)據(jù)添加自己的應(yīng)用,比如將溫度或者濕度用折線圖或者柱狀圖顯示。也可以添加觸發(fā)器,比如溫度超過某個值時會發(fā)送郵件等。如圖4所示
圖4 OneNET平臺的數(shù)據(jù)流管理Fig.4 Data flow management of onenet platform
簡單的說,嵌入式平臺模塊可以將各傳感器采集到的數(shù)據(jù)打包發(fā)送至OneNET平臺,打包的格式有嚴(yán)格的要求。OneNET平臺將上傳的數(shù)據(jù)進(jìn)行可視化處理,并且能夠添加發(fā)送控制指令的,嵌入式平臺模塊接收到控制指令的時能及時進(jìn)行響應(yīng)。
在OneNET云平臺上,還可在數(shù)據(jù)展示區(qū)建立數(shù)據(jù)可視化界面。這是目前國內(nèi)其他物聯(lián)網(wǎng)云平臺所不具備的一大優(yōu)點(diǎn)。當(dāng)嵌入式平臺模塊設(shè)備與OneNET建立了穩(wěn)定的連接后,根據(jù)一定的網(wǎng)絡(luò)協(xié)議打包的數(shù)據(jù)會成功傳送到OneNET,產(chǎn)生相對應(yīng)的數(shù)據(jù)流。
此時在數(shù)據(jù)應(yīng)用展示區(qū),也就是監(jiān)控界面設(shè)計區(qū),可以自由進(jìn)行相應(yīng)的編輯。用戶結(jié)合實(shí)際需要,拖拽頂部列表的組件添加至可視化編輯頁面,可自定義修改組件樣式。組件包括了組件圖表、文字、地圖、多媒體、控制、素材等。在設(shè)計時,只要將數(shù)據(jù)流與相對應(yīng)的組件進(jìn)行關(guān)聯(lián)即可。如圖5所示。
圖5 基于OneNET智能宿舍監(jiān)控系統(tǒng)的溫濕度顯示Fig.5 Temperature and humidity display of OneNET based intelligent dormitory monitoring system
基于OneNET云平臺的遠(yuǎn)程監(jiān)控界面建立完成后即可在電腦端通過賬號登錄云平臺進(jìn)行遠(yuǎn)程操作,此外中國移動物聯(lián)網(wǎng)開放平臺還有手機(jī)APP客戶端登錄,只要完成監(jiān)控界面的建立,就可登錄手機(jī)實(shí)現(xiàn)移動遠(yuǎn)程監(jiān)控的目的[2]。
本文以物聯(lián)網(wǎng)以及其關(guān)鍵技術(shù)為出發(fā)點(diǎn),對基于Arduino的低成本智能宿舍監(jiān)控系統(tǒng)進(jìn)行軟件方面的設(shè)計,將OneNET云平臺作為數(shù)據(jù)中心,減少了軟件開發(fā)的工作量,極大地提高了工作效率,達(dá)到了夠用、低成本的目的。