王震+黃坤彬+蘇嘉浩+何文琪+謝鋒+劉旭帆
摘要:為了改善傳統實驗室的控制方式,設計了基于微信公眾平臺的物聯網實驗室管理系統。本系統基于ZigBee無線傳感網絡、ARM終端和微信公眾平臺設計,能夠通過ZigBee無線傳感網絡采集環境數據并進行分析,根據當前環境的狀況自動調節設備,實現遠程控制以及管理功能;闡述了系統的硬件、軟件設計及性能測試。實驗結果表明,本系統能夠實現便捷的智能實驗室管理,并且設備簡單、成本較低、易于擴展,具有較高的可行性和可靠性。
關鍵詞:微信公眾號;ARM;智能實驗室
中圖分類號:G471 文獻標志碼:A 文章編號:1674-9324(2017)14-0013-02
微信公眾平臺是運營者通過公眾號為微信用戶提供資訊和服務的平臺。通過這個平臺,個人、組織、企業甚至政府可以實現和微信用戶的全方位溝通,達到方便快捷的效果。ZigBee是一種近距離無線通信技術,因為功耗低,支持的Zigbee節點多,比其他網絡通信技術安全,常用于物聯網系統作為傳輸的模塊,傳輸傳感器數據或一些簡單的控制指令。實驗室網關使用的是嵌入式arm開發板,相當于一臺PC電腦,但是裁剪了很多沒用的功能,把資源占用壓縮到最小,不像個人電腦那么笨重,而且不穩定。而嵌入式Linux系統可以長時間開機不會崩潰,就是出現死機情況也有機制重啟,保證程序可以長時間運行。通過以上技術設計出可以監控實驗室環境數據,并控制實驗室電器的功能。還有微信掃碼自主借書、還書的實驗室管理系統。
一、系統硬件設計
(一)系統總體設計
系統利用溫濕度、煙霧、光敏傳感器檢測環境數據并通過Zigbee網絡發送給主控來顯示,主控還可以發送指令由Zigbee傳輸并控制對應的門鎖、燈光、窗簾。
(二)硬件模塊
1.傳感器。傳感器是采用北京賽佰特科技有限公司推出的全功能物聯網教學科研平臺(標準版)和Zigbee模塊配套的傳感器模塊。分別有集成了Zigbee的數字溫濕度傳感器,集成了Zigbee的煙霧傳感器,集成了Zigbee的光敏傳感器。
2.Zigbee模塊。本系統采用的無線模塊是CC2530型號的Zigbee模塊,該模塊集成了增強型的8051cpu和RF收發器。易于開發,最突出的莫過于它的安全性和低功耗性能,安全性比常見的Wifi強,而且兩節5號干電池就可以用上半年甚至一年。
3.ARM智能終端控制器。本系統采用的主控是基于CortexM-A8的S5PV210嵌入式微處理器,微處理器主頻穩定運行在1GHz??蛇\行Linux 2.4.x和Linux 2.6.x內核,支持嵌入式QT、miniGUI等嵌入式圖形界面,擁有豐富的接口資源和良好的可擴展性,滿足研究和開發嵌入式系統的各個要求。
二、軟件功能設計
(一)網關圖形界面程序設計
1.開發環境。本項目的開發系統為Ubuntu14.10操作系統,Qt5.3.2 creator軟件、編譯器gcc 4.5.1(ctng-1.8.1-FA)、QtEmbedded-4.8.5-arm版本;開發板操作系統:linux-2.6.35、環境:Qt4.7/Qtopia2/Qtopia4。
2.交互界面設計。主要界面有5個子界面,分別是(1)主界面:顯示各個分界面的功能以及實現與各個分界面的窗口切換;默認該界面可以直接刷卡,借出實驗室物品。(2)環境監控界面:通過串口將Zigbee發送過來的環境數據進行處理,然后將處理后的數據顯示到環境監控的界面上方便用戶的查看。(3)溫濕度折線圖界面:將室內的溫濕度的數據變化用折線圖顯示在界面上,有利于用戶觀察一天中室內溫濕度的變化情況。(4)設備控制界面:通過串口將各個設備特定的字符串數據發送給Zigbee,Zigbee再將這些數據進行處理,最后得出是哪個設備需要執行哪種功能,然后對設備進行控制。(5)借還書籍界面:實現和Web服務器的通信,然后將添加、刪除、借設備、還設備的sql語句通過post請求發送到Web服務器,最后由服務器那邊進行數據庫的處理。同時借還書籍界面中還有預定書籍的驗證功能,可以通過手機預定書籍,然后到預定驗證界面輸入驗證碼進行借書籍。
3.服務器通信功能。智能網關和Web服務器之間的通信采用的是http協議,通過發送get和post請求實現:先用Qt的QNetworkAccessManager類實現與WebService建立連接;然后用QNetworkReply類實現與WebService的通信,當然這種通信只是異步流的通信,你會收到WebService的整個xml網頁的內容;接著就是根據自己的規則進行解析網頁上的信息,根據這些規則進行與WebService通信;最后把自己寫好的請求(post請求或get請求)進行串行化,發給WebService。
4.串口通訊功能。先上網下載串口的第三方類,因為下載的文件中有很多,主要有Windows與linux的版本的串口類,我們下載linux版本的文件。經過上面一系列的編寫,Qt方面已經有了接收和發送數據的功能,只要Zigbee串口也寫好接收和發送功能,那么Qt和Zigbee就可以利用串口用一些指定的命令數據進行通信了。
三、微信公眾號搭建與設計
(一)開發人員測試號申請
1.打開任意瀏覽器。輸入http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
2.下載微信客戶端后登錄自己的微信帳號,使用其中的掃一掃功能,掃描第一步打開的網頁中的二維碼。
3.在手機上會出現驗證界面。點擊“確認登錄”按鈕,回到電腦的網頁,網頁將自動跳轉,填寫微信帳號連接的URL網址,這里我采用的是花生殼固定域名綁定動態IP。
(二)服務器搭建
操作系統:win7/8.1;軟件:花生殼、WampServer。簡介:①花生殼是一個動態域名轉固定IP的動態域名解析軟件,無論您在任何網絡環境下、連接獲得的IP屬于動態還是靜態,花生殼都可以生成一個固定的域名,自己電腦作為服務器,方便調試,除了每個月限制1G流量外,基本上可以取代各種云服務器。我們使用的版本:2.4.0.2341 Beta。②WampServer在Windows下將PHP+Mysql+Apache集成環境,無需我們自己再一個一個安裝和配置,Wamp一鍵幫你搞定。我們使用的版本:WampServer 2.2。
(三)公眾測試號功能設計
微信公眾平臺是一對多的媒體性行為活動開放應用平臺,提供群發推送、自動回復、二維碼訂閱等功能,并為開發者提供測試號進行微信公眾號開發。該測試號公開了一般訂閱號沒有的接口,開發者開發與自己想要的功能,而無須申請高級的企業號。
本課題采用微信公眾測試號進行測試,其優勢在于每個微信號有一個唯一的ID碼,方便開發者記錄用戶的信息及對用戶提供服務。
智能化的實驗室管理是一項比較復雜的技術,發展和完善需要不少的時間。本項目完成了基于微信公眾平臺的智能實驗室管理系統,通過手機即可對實驗室的設備進行管理和控制,為實驗室管理提供了方便快捷的方法。希望本項目能為智能實驗室、智能家居等方面的研究起到一定的參考作用。
參考文獻:
[1]王汝傳,孫力娟.無線傳感器網絡技術及其應用[M].北京:人民郵電出版社,2011.
[2]王萍.公共微信開發消息接口的實現技術[J].電腦知識與技術,2015,(11):92-93.