肖華 王亞剛
摘要:針對(duì)實(shí)驗(yàn)室智能管理方案, 為實(shí)現(xiàn)方便快捷的實(shí)驗(yàn)室監(jiān)督設(shè)備,設(shè)計(jì)了基于物聯(lián)網(wǎng)與云服務(wù)器的實(shí)驗(yàn)室設(shè)備監(jiān)督控制系統(tǒng)。系統(tǒng)運(yùn)用基于MQTT的無線Wi?Fi模塊采集實(shí)驗(yàn)設(shè)備數(shù)據(jù),利用執(zhí)行終端節(jié)點(diǎn)控制實(shí)驗(yàn)室設(shè)備,結(jié)合非阻塞式Node.js技術(shù)與MongoDB數(shù)據(jù)庫搭建物聯(lián)網(wǎng)服務(wù)器,將服務(wù)器部署在阿里云(ECS)服務(wù)器端,使用戶可通過Wi?Fi、4G在網(wǎng)頁端檢測(cè)和控制實(shí)驗(yàn)室設(shè)備。將網(wǎng)頁與微信公眾平臺(tái)結(jié)合,進(jìn)行智能交互,實(shí)現(xiàn)了實(shí)驗(yàn)室、物聯(lián)網(wǎng)、微信平臺(tái)三者結(jié)合。實(shí)驗(yàn)表明,系統(tǒng)性能穩(wěn)定、成本低、靈活性強(qiáng)、實(shí)用性高,實(shí)現(xiàn)了實(shí)驗(yàn)室設(shè)備的智能管理。
關(guān)鍵詞:物聯(lián)網(wǎng);云架構(gòu);實(shí)驗(yàn)室管理;B/S模式;微信公眾平臺(tái)
Laboratory Supervision and Management System Based
on Internet of Things and Cloud Architecture
XIAO Hua, WANG Ya?gang
(School of Optical?Electrical and Computer Engineering, University of
Shanghai for Science and Technology, Shanghai 200093, China)
Abstract:With the advent of the IoE era, the laboratory intelligent management scheme is implemented to realize convenient and rapid supervision of laboratory equipment, and a laboratory equipment supervision and control system based on the IOT and cloud server is designed. The system uses the MQTT?based wireless Wi?Fi module to collect experimental equipment data, uses the execution terminal node to control the laboratory equipment, and combines the non?blocking Node.js technology to build the IoT server with the MongoDB database.Finally, the server is deployed on the Alibaba Cloud (ECS) server side, and users can detect and control lab devices on the Web page through Wi?Fi and 4G. This article combines the Web page and the WeChat platform public number to realize the intelligent interaction with the WeChat public platform. Then the lab, the Internet of Things and the WeChat platform are combined. The whole system has been tested and has the characteristics of stable performance, low cost, high flexibility and high practicability, and realizes the intelligent management scheme of laboratory equipment.
Key Words:Internet of Things; cloud architecture; laboratory management; B/S mode; WeChat public platform
0?引言
實(shí)驗(yàn)室是進(jìn)行科研、教學(xué)最重要的場(chǎng)所,是科學(xué)研究的基地、科技發(fā)展的源泉,對(duì)科技發(fā)展起著非常重要的作用[1]。傳統(tǒng)實(shí)驗(yàn)室具有管理方式相對(duì)落后、管理不便、遠(yuǎn)程監(jiān)控缺乏、成本高等缺點(diǎn)[2]。隨著物聯(lián)網(wǎng)時(shí)代到來以及云平臺(tái)普及,開發(fā)基于物聯(lián)網(wǎng)和云技術(shù)的實(shí)驗(yàn)室監(jiān)督管理系統(tǒng)能有效解決傳統(tǒng)實(shí)驗(yàn)室監(jiān)管不便等問題[3?5]。物聯(lián)網(wǎng)的普及使智能家居得到了飛速發(fā)展,文獻(xiàn)[68]都提出了不同的面向智能家居的物聯(lián)網(wǎng)應(yīng)用,但應(yīng)用于實(shí)驗(yàn)室設(shè)備管理的物聯(lián)網(wǎng)方案相對(duì)較少。文獻(xiàn)[9]研發(fā)了一種基于RFID、無線傳感網(wǎng)、嵌入式和Internet等物聯(lián)網(wǎng)技術(shù)的實(shí)驗(yàn)室監(jiān)控系統(tǒng)。文獻(xiàn)[10] 設(shè)計(jì)了一種基于物聯(lián)網(wǎng)技術(shù)、RFID技術(shù)的計(jì)算機(jī)實(shí)驗(yàn)室管理系統(tǒng),使得整合計(jì)算機(jī)實(shí)驗(yàn)室各種紛繁復(fù)雜的海量電子設(shè)備以及軟硬件系統(tǒng)成為可能。但是,以上研究并未真正考慮到低成本、靈活性、跨平臺(tái)的實(shí)驗(yàn)室設(shè)備管理。本文基于物聯(lián)網(wǎng)和云架構(gòu)技術(shù),開發(fā)實(shí)驗(yàn)室設(shè)備監(jiān)督管理平臺(tái),可以通過電腦或者移動(dòng)終端實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室設(shè)備管理和環(huán)境數(shù)據(jù)的查看與分析,將實(shí)驗(yàn)環(huán)境的溫濕度、儀器開關(guān)量、顆粒濃度等參數(shù)傳到云平臺(tái)進(jìn)行管理和分析,遠(yuǎn)程監(jiān)控實(shí)驗(yàn)室設(shè)備的開關(guān)量和實(shí)驗(yàn)參數(shù),還創(chuàng)新開發(fā)了基于微信公眾平臺(tái)的實(shí)驗(yàn)室管理平臺(tái),實(shí)現(xiàn)了靈活方便的實(shí)驗(yàn)室管理。首先介紹系統(tǒng)軟硬件設(shè)計(jì)方案,然后對(duì)系統(tǒng)進(jìn)行了相應(yīng)測(cè)試,實(shí)驗(yàn)結(jié)果能達(dá)到預(yù)先要求。
1?總體架構(gòu)
基于物聯(lián)網(wǎng)與云技術(shù),設(shè)計(jì)了面向?qū)嶒?yàn)室的監(jiān)督管理系統(tǒng),分為3個(gè)部分:硬件、云服務(wù)器和客戶端。硬件部分采用搭載Wi?Fi?ESP8266芯片[11]的最小系統(tǒng)板,通過UART串口進(jìn)行通訊,Wi?Fi芯片通過連接互聯(lián)網(wǎng)從而接入云平臺(tái),將實(shí)驗(yàn)設(shè)備參數(shù)等數(shù)據(jù)實(shí)時(shí)傳遞到云端;服務(wù)器部分采用Node.js平臺(tái),結(jié)合MongoDB數(shù)據(jù)庫與Socket IO通訊協(xié)議,搭建Express 框架的Web服務(wù)器??蛻舳瞬糠值臏y(cè)試平臺(tái)借助于微信公眾平臺(tái),采用HTML5的B/S模式[12],具有天然的跨平臺(tái)特性,使不同設(shè)備都能終端訪問系統(tǒng)。系統(tǒng)整體架構(gòu)如圖1所示。
2?硬件設(shè)計(jì)
硬件部分主要由微控制器、無線收發(fā)模塊、通訊串口模塊、電源模塊和時(shí)鐘模塊組成。硬件結(jié)構(gòu)如圖2。
2.1?微控制器
如圖3所示,系統(tǒng)硬件集成Wi?Fi功能,還嵌入一個(gè)超低功率32位微型CPU,帶有16位精簡(jiǎn)模式,可以通過IBus、DBus和AHB接口訪問存儲(chǔ)控制器。NodeMCU在ESP8266基礎(chǔ)上增加了一些外圍的USB串口電路。軟件上,NodeMCU引入了輕量化腳本語言Lua,支持事件驅(qū)動(dòng)型API[13]。
2.2?無線收發(fā)模塊
系統(tǒng)采用AI?Thinker公司開發(fā)的ESP8266超低能耗Wi?Fi模塊。該模塊集成IEEE802.11協(xié)議,支持無線802.11 b/g/n標(biāo)準(zhǔn);內(nèi)置TCP/IP協(xié)議,支持多路TCP Client連接;同時(shí)兼容3.3V與5V微處理器系統(tǒng),采用串口與微處理器通信,微處理器可以通過串口輸入AT指令控制該模塊快速構(gòu)建無線數(shù)據(jù)傳輸方案。
2.3?通訊串口模塊
通信串口采用RS?485[14],兼容主流工業(yè)設(shè)備,RS?485接口采用平衡驅(qū)動(dòng)器和差分接收器組合,抗共模干擾能力增強(qiáng),抗噪聲干擾性好。只需要兩根通訊線,便可實(shí)現(xiàn)兩個(gè)或兩個(gè)以上設(shè)備之間的數(shù)據(jù)傳輸。
2.4?電源模塊
由于無線傳輸模塊ESP8266需要3.3V供電,所以采用AMS1117?3.3型電壓轉(zhuǎn)換芯片為系統(tǒng)提供3.3V穩(wěn)壓電源,如圖4所示[15]。AMS1117?3.3是一個(gè)正向低壓穩(wěn)壓器,在1A電流下電壓降為1.2V,具有1%的輸出精度。同時(shí),在電路輸入端、輸出端都加入了極性電容和旁路電容,該設(shè)計(jì)具有良好的去耦合和濾波作用,保證了電源電路的穩(wěn)定性。AMS1117內(nèi)部集成有限流和過熱保護(hù)電路,可以防止環(huán)境溫度異常導(dǎo)致硬件損壞,可較為安全地應(yīng)用于各種便攜式設(shè)備。
2.5?時(shí)鐘模塊
時(shí)鐘芯片采用PCF8563,為系統(tǒng)提供精確時(shí)鐘信息[16]。PCF8563有16個(gè)8位寄存器,其中包括一個(gè)可自動(dòng)增量的地址寄存器、一個(gè)內(nèi)置32.768KHz的振蕩器(帶有一個(gè)內(nèi)部集成電容)、一個(gè)分頻器(用于給實(shí)時(shí)時(shí)鐘RTC提供源時(shí)鐘)、一個(gè)可編程時(shí)鐘輸出、一個(gè)定時(shí)器、一個(gè)報(bào)警器、一個(gè)掉電檢測(cè)器和一個(gè)400KHz的I2C總線接口。
3?軟件設(shè)計(jì)
系統(tǒng)采用B/S架構(gòu),實(shí)現(xiàn)了跨平臺(tái)性,將HTML網(wǎng)頁嵌入微信公眾平臺(tái),實(shí)現(xiàn)了微信公眾平臺(tái)的設(shè)備管理。系統(tǒng)軟件設(shè)計(jì)分為設(shè)備感知層、服務(wù)器和系統(tǒng)應(yīng)用層。其中,服務(wù)器包括MQTT服務(wù)器、Web服務(wù)器、靜態(tài)網(wǎng)頁服務(wù)器、微信消息服務(wù)器等。將服務(wù)器搭建在阿里云服務(wù)器上,并在各大服務(wù)器中采用ngnix負(fù)載均衡分發(fā)請(qǐng)求,從而使各大服務(wù)器更好地配合工作。系統(tǒng)軟件整體框架如圖5所示。
3.1?設(shè)備數(shù)據(jù)采集與傳輸
如圖6所示,采用通用串口RS?485與設(shè)備進(jìn)行數(shù)據(jù)通訊,運(yùn)用Arduino集成開發(fā)環(huán)境對(duì)Wi?Fi模塊進(jìn)行編程,實(shí)現(xiàn)數(shù)據(jù)傳輸功能。首先啟動(dòng)Wi?Fi模塊的“AP模式”,掃描可用的Wi?Fi接入點(diǎn),連接到Wi?Fi網(wǎng)絡(luò)。Wi?Fi模塊便可通過TCP/IP協(xié)議,將設(shè)備參數(shù)如溫度、濕度、顆粒濃度等循環(huán)上傳到MQTT服務(wù)器[17]。
3.2?MQTT服務(wù)器
消息隊(duì)列遙測(cè)傳輸 (Message Queuing Telemetry Tran sport,MQTT)協(xié)議是由IBM開發(fā)的基于TCP/IP的輕量級(jí)發(fā)布/訂閱消息傳輸協(xié)議[18]。MQTT的生態(tài)非常完善,支持多種語言開發(fā),本文系統(tǒng)中采用Node.js搭建MQTT服務(wù)器,Node.js自帶mosca模塊可以快速搭建服務(wù)器,MQTT服務(wù)器負(fù)責(zé)設(shè)備、Web頁面、服務(wù)器之間的通信。搭建服務(wù)器的部分代碼如下:
var mosca = require("mosca");
var server = new mosca.Server(
{ http: { port: 3000, bundle: true, static: './' } });
server.on('ready', function(){
console.log('mqtt server started'); });
server.on('published', function(packet, client){
console.log('Published: ', packet.payload); })
server.on('subscribed', function(topic, client){
console.log('subscribed: ', topic); });
3.3?Web服務(wù)器
設(shè)備上傳數(shù)據(jù)由MongoDB數(shù)據(jù)庫進(jìn)行存儲(chǔ)并備份。為實(shí)現(xiàn)HTML數(shù)據(jù)的緩存效果,還用到了非關(guān)系型數(shù)據(jù)庫Redis,減少數(shù)據(jù)庫高頻次訪問,降低服務(wù)器壓力。瀏覽器端和數(shù)據(jù)庫通過Websocket協(xié)議與數(shù)據(jù)庫通信,它具有更輕量級(jí)的頭信息,提高了通信效率。為實(shí)現(xiàn)網(wǎng)頁端數(shù)據(jù)動(dòng)態(tài)請(qǐng)求與交互,運(yùn)用PHP和Ajax技術(shù),實(shí)現(xiàn)HTML無刷新加載。Web服務(wù)器原理圖如圖7所示。
3.4?靜態(tài)網(wǎng)頁服務(wù)器
網(wǎng)頁服務(wù)器通過HTML+CSS+Javascript 搭建人機(jī)交互界面。其中包含實(shí)時(shí)數(shù)據(jù)曲線圖、歷史數(shù)據(jù)曲線圖和設(shè)備控制界面圖。JQuery實(shí)現(xiàn)前端到后端的數(shù)據(jù)響應(yīng)請(qǐng)求,數(shù)據(jù)圖表運(yùn)用Highcharts圖表庫實(shí)現(xiàn)[19]。
3.5?微信消息服務(wù)器
調(diào)用微信JSDK的Airkiss接口配置設(shè)備Wi?Fi模塊[20]。為實(shí)現(xiàn)與微信公眾平臺(tái)的交互,如快捷查看設(shè)備狀態(tài)、設(shè)置設(shè)備參數(shù)等,搭建微信消息服務(wù)器,負(fù)責(zé)根據(jù)指定的業(yè)務(wù)邏輯對(duì)消息進(jìn)行處理,響應(yīng)服務(wù)器請(qǐng)求,并將響應(yīng)消息反饋給用戶。
4?系統(tǒng)運(yùn)行與測(cè)試
為實(shí)現(xiàn)對(duì)實(shí)驗(yàn)設(shè)備的監(jiān)控管理,設(shè)計(jì)了實(shí)時(shí)查看設(shè)備數(shù)據(jù)、查看歷史數(shù)據(jù)(一天前、一個(gè)周期前等)、在線控制設(shè)備、設(shè)備共享、設(shè)備定位、微信交互等功能。在實(shí)驗(yàn)室路由器下用AirKiss配置設(shè)備聯(lián)網(wǎng),然后進(jìn)入控制設(shè)備界面。為了驗(yàn)證系統(tǒng)可行性和性能,使用溫濕度控制器作為對(duì)象進(jìn)行測(cè)試。 如圖8所示,前兩張圖為實(shí)時(shí)查詢熱電偶溫度值和曲線,后兩張圖為在線控制現(xiàn)場(chǎng)對(duì)比,在線設(shè)置溫度為45℃,上位機(jī)即可調(diào)成45℃,在線設(shè)置運(yùn)行時(shí)間為2min,上位機(jī)從零開始計(jì)時(shí),基本無誤差,實(shí)時(shí)性強(qiáng)。
5?結(jié)語
本文設(shè)計(jì)了基于物聯(lián)網(wǎng)和云平臺(tái)的實(shí)驗(yàn)室設(shè)備管理系統(tǒng),能夠在不安裝任何客戶端的情況下,使用不同設(shè)備都能終端訪問系統(tǒng),讓用戶可以遠(yuǎn)程管理實(shí)驗(yàn)室設(shè)備。但是仍然有待改進(jìn),比如隨著5G和高帶寬網(wǎng)絡(luò)普及,可加入視頻監(jiān)控功能。若結(jié)合人工智能和最新網(wǎng)絡(luò)技術(shù)對(duì)此進(jìn)行深入研究,將會(huì)給用戶帶來更好的控制、監(jiān)測(cè)體驗(yàn)。
參考文獻(xiàn):
[1]?王靜.完善實(shí)驗(yàn)設(shè)備的管理和使用提高實(shí)驗(yàn)教學(xué)水平[J].實(shí)驗(yàn)室科學(xué),2008(5):174?175.
[2]?楊海英.物聯(lián)網(wǎng)技術(shù)在高校實(shí)驗(yàn)室信息化管理中的研究與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2011.
[3]?沈蘇彬,范曲立,宗平,等.物聯(lián)網(wǎng)的體系結(jié)構(gòu)與相關(guān)技術(shù)研究[J].南京郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2009,29(6):1?11.
[4]?朱洪波,楊龍祥,于全. 物聯(lián)網(wǎng)的技術(shù)思想與應(yīng)用策略研究[J].通信學(xué)報(bào),2010(11):2?9.
[5]?賀曙東.基于云平臺(tái)的實(shí)驗(yàn)室管理系統(tǒng) [D].天津:天津大學(xué),2016.
[6]?嚴(yán)萍,張興敢,柏業(yè)超,等.基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)[J].南京大學(xué)學(xué)報(bào):自然科學(xué)版,2012,48(1):26?32.
[7]?黃宇.面向智能家統(tǒng)居的安卓控制系設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2013.
[8]?單振華,王舒憬,陳凱,等.基于Node.js的智能家居語音控制系統(tǒng)服務(wù)器端設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2016(4):66?67.
[9]?王慧淵,張珣.基于物聯(lián)網(wǎng)技術(shù)的智能實(shí)驗(yàn)室的研究[J].物聯(lián)網(wǎng)技術(shù),2013(10):64?67.
[10]?李明,柯尊平,朱根.基于物聯(lián)網(wǎng)的計(jì)算機(jī)實(shí)驗(yàn)室管理模式研究[J].無線互聯(lián)科技,2013(8):17.
[11]?安信可.科技ESP8266系列模組專題[EB/OL]. http:∥wiki.ai?thinker.com/esp8266.
[12]?史夢(mèng)安,王志勃. 基于C/S和B/S混合結(jié)構(gòu)的物聯(lián)網(wǎng)智能遠(yuǎn)程環(huán)境監(jiān)控系統(tǒng)研究[J].軟件導(dǎo)刊,2014,13(9):6?9.
[13]?佚名.NodeMcu超簡(jiǎn)單的物聯(lián)網(wǎng)開發(fā)平臺(tái)[EB/OL].http://www.nodemcu.com/.
[14]?陽憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[15]?佚名.AMS1117?3.3?Datasheet[EB/OL].https:∥www.alldatasheet.com/datasheet?pdf/pdf/205691/ADMOS/AMS1117?3.3.html.
[16]?NXP.PCF8563T/5Datasheet[EB/OL].https:∥www.alldatasheet.com/datasheet?pdf/pdf/525240/NXP/PCF8563T/5.html.
[17]?祝瑞,車敏.基于HTTP協(xié)議的服務(wù)器程序分析[J].現(xiàn)代電子技術(shù),2012(4):117?119+122.
[18]?IBM,EUROTECH. MQTT V3.1 Protocol Specification [EB/OL].http:∥public.dhe.ibm.com/software/dw/webservices/ws?mqtt/mqttv3r 1.html:2010?08?24.
[19]?佚名.What is Highcharts[EB/OL].http:∥www.highcharts.com/:2012?09?25.
[20]?佚名.什么是AirKiss技術(shù)?[EB/OL]. https:∥iot.weixin.qq.com/wiki/document?7_1.html.