梁雪輝,許芬,吳潤州
?。ū狈焦I大學 電氣與控制工程學院,北京 100144)
摘要:伴隨著物聯網技術的快速發展,傳感器網絡、無線通信、嵌入式智能設備和大數據在智能家居上的結合正在成為一個不可逆轉的趨勢。針對傳統C/S(Client/Server)架構環境監測數據遠程監測困難、系統安裝復雜、系統平臺要求較高、后期維護成本高等缺點,提出了一種基于B/S(Browser/Server)架構的家居環境無線遠程監測方案,設計了一套用于多個環境參數實時監測并通過ZigBee低功耗局域網協議進行無線傳輸的遠程家居環境監測系統。用戶可以從移動端或PC端通過網頁直接查看多個房間內的溫度、濕度、PM2.5濃度、甲醛濃度、CO濃度等空氣狀態信息。該系統設計功耗低、成本低、結構簡單、安裝方便。
中圖分類號:TP277文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.029
引用格式:梁雪輝,許芬,吳潤州.基于B/S架構的家居環境遠程監測系統設計與實現[J].微型機與應用,2017,36(8):92-94.
0引言
“互聯網+”和“工業4.0”概念的提出,大大促進了工業、農業、家居、物流、服務、環保等各個行業與網絡的融合。人、物、環境之間的互聯互通已成為工業4.0時代的一個特征,并正在逐漸延伸成為人類社會活動的基石。作為其中一環,環境信息的監測、采集和網絡實時發布就顯得愈加重要。實時、準確地提供特定時間、特定位置的環境參數信息是物聯網技術中的重要一環,這些信息的提供將對環境管理、環保監測、污染源控制、公共活動、室內安全、交通管理、公共安全等很多領域產生重大影響。隨著傳感器制造成本的下降和傳感器網絡技術的成熟,越來多的行業開始提供實時信息服務[1]。
隨著遠程監測系統運用場景的不斷擴大,工業需求和商業需求的不斷增加,促進了國內外學者在這個領域不斷進行探索和研究。
國內,上海電力學院的楊俊杰博士研究了無人值守變電站周界光電一體化安防系統設計[2],華南農業大學樊志平博士研究了柑橘園土壤墑情遠程監控系統設計與實現[3],武漢科技大學余湧研究了一種遠程監控報警系統的設計[4],國礦業大學的寧芳副教授研究了基于UCD的智能家居控制系統界面交互設計[5],重慶郵電大學自動化學院胡向東研究了面向智能家居的輕量型互認證協議[6]等。
國外,密西根大學FERNANDES E等人對新興的智能家居平臺的安全進行了深入的分析,特別是針對三星的SmartThings設備提出了一些解決方案[7]。
1系統總體方案
目前智能家居市場沒有統一的接口標準和協議規范,而且對于大眾用戶來說智能監測不是強需求。本文設計的模塊主要從低功耗和低成本兩個方面著手,面向一般普通用戶。低功耗采用的措施是利用TI的超低功耗MSP430F5438A處理器和CC2530模塊;低成本主要是在傳感器選型上采用市場上常見的經過市場檢驗過的一些性價比比較高的傳感器。由于市場上沒有統一的接口定義,本模塊采用最常用的無線串口協議,利于與其他模塊之間進行通信。系統主要采用多對一設計模式,“多”指的是可以部署多個檢測節點,“一”指的是只有一個管理節點[8]。系統結構圖如圖1所示。系統的檢測節點能夠對當前的環境溫度、濕度、空氣中顆粒物濃度,一氧化碳濃度和甲醛濃度信息實時采集和將數據傳輸到管理節點,同時在檢測節點上設有超標報警裝置,一旦超過預設值模塊就立即報警。系統的管理節點主要用來對采集數據進行處理,并將處理的數據傳輸到遠程數據庫。遠程數據庫和Web客戶端進行數據交互,這時用戶就可以通過網頁查看到數據信息。該系統的主要特點是使用的硬件資源較少,電路工作穩定,功耗較低,并且便于攜帶和安裝。
2硬件系統設計
硬件系統以超低功耗單片機MSP430F5438A作為處理器為核心,外圍電路由溫濕度采集模塊(DHT11)、顯示模塊(12864)、空氣質量采集模塊(GP2Y1051)、ZigBee無線傳輸模塊(CC2530)、一氧化碳檢測模塊(MQ7)、甲醛檢測模塊(MQ138)和報警電路組成。單片機對采集到的多路傳感器數據進圖2檢測節點硬件結構行去噪、轉換等簡單處理后,通過ZigBee無線傳輸到管理節點(也叫網關)。管理節點將數據發送到騰訊云公網服務器的MySQL數據庫。具體的檢測節點結構如圖2所示。
2.1主控芯片
主控芯片選用TI公司的MSP430系列超低功耗微控制器MSP430F5438A,其主要典型特性有:(1)低電源電壓范圍:3.6 V到低至1.8 V;(2)超低功耗:分為工作模式(AM)、待機模式(LPM3)、關閉模式(LPM4)、關斷模式(LPM4.5),不同的工作模式,會對應不同的工作電壓和電流,便于進行低功耗處理。
2.2無線傳輸模塊
采用ZigBee低功耗局域網協議,多節點廣播模式進行無線串口數據的收發[5]。
為了保證數據傳輸過程中通信更穩定,故將波特率設置為2 400 b/s。只有當采集數據發生變化時,才進行數據傳輸。當CC2530沒有進行接收數據時,為了節省能源,CC2530將處于休眠狀態;當采集數據發生變化時,CC2530被喚醒,單片機對數據進行分析處理,然后在檢測節點上進行存儲和顯示,并通過串口發送給管理節點,之后CC2530重新進入休眠狀態,等待下一次被喚醒時繼續發送數據,如此循環。
2.3系統主要模塊介紹
溫濕度采集模塊采用的是DTH11數字傳感器,已校準數字信號輸出,有極高的可靠性和穩定性,溫度測量范圍為0~50℃,濕度測量范圍為20%RH~90%RH。
空氣質量采集模塊采用夏普的GP2Y1051傳感器,夏普GP2Y1051是GP2Y1050的升級版本,升級版的PM2.5傳感器取消了之前的模擬輸出方式,并且將內部算法進行了微調集成在傳感器的控制芯片內,使用串口進行輸出,這樣將會更加穩定,只需要3根線即可讀取PM2.5的電壓值。
一氧化碳模塊采用MQ-7傳感器,它的特點是對一氧化碳的靈敏度高、穩定性強、使用壽命長、電信號輸出大,探測范圍為0.01‰ ppm~1‰ ppm。
甲醛模塊采用MQ-138傳感器,對醛、醇、酮、芳族化合物具有很高的靈敏度;模擬量輸出隨濃度增加而增加,濃度越高電壓越高;探測范圍:甲醛 1~10 ppm。
3軟件設計
3.1數據采集軟件
軟件主要分為兩部分:一部分是后端檢測節點的數據采集程序和管理節點的數據處理程序,另一部分是前端Web頁面顯示程序。兩者之間通過一個管理節點來進行數據網絡的數據交互傳輸,目前實驗階段采用個人計算機完成管理節點功能。
3.1.1后端檢測節點程序設計
后端程序主要分為三個部分:數據的采集、顯示和發送。圖3為主程序流程圖。
3.1.2前端WEB頁面顯示程序設計
圖4為前端頁面顯示軟件設計框架圖,系統包括瀏覽器端和服務端兩大部分組成。瀏覽器端用于用戶隨時隨地查詢到實時的監測數據;服務器端將采集的數據進行存儲并提供給Web頁面進行顯示。
實時顯示主要運用的是AJAX技術,是因為HTML5的Web Socket技術剛在市場上使用[9]。AJAX是使用客戶端腳本與Web服務器交換數據的應用開發方法[10]。配合使用的JQuery是一個快速、簡潔、輕量級的JavaScript庫,它將所有的AJAX操作封裝到一個函數中[11]。
3.2無線通信端軟件設計
利用本地計算機代替網關功能,在本地計算機上搭建Python的IDE編譯環境,利用PySerial包和串口建立連接,之后將從串口接收到的字符串轉換為數組的形式,并分析判斷數據是否是想要的數據,利用while循環將接收到的數據更新到遠程服務器中已經建立的MySQL數據庫表中。
遠程服務器搭建了Apache Web服務器,開放MySQL數據庫遠程接口,同時安裝PHP的IDE環境,利用PHP和HTML相互嵌套的方式編寫從數據庫中讀取數據的程序,使用HighCharts插件將數據動態地顯示在Web頁面上。
3.3數據庫設計
MySQL數據庫包含:檢測節點編號(Number)、采集數據信息(Temperature,Humidity,PM2.5,Formaldehyde, CO)、檢測節點位置坐標(Coordinate)和檢測時間(Time)。具體設計如表1所示。
3.4整體軟件流程圖
整體軟件設計主要分為三個部分:數據的接收與存儲、數據的讀取、Web頁面顯示。其中數據的讀取和Web界面的顯示是被調用和調用的關系。具體流程如圖5所示。
4實驗和運行結果
系統的開發環境和運行環境如下。
服務器端:Python2.7.10+MySQL 5.6.17+PHP5.5.12+Apache2.4.9,運行環境:Ubuntu server 14.04.1 LTS 64位。
開發工具:PyCharm,Notepad++。
服務器是在騰訊云上面申請的云服務器,CUP為1核,內存為1 GB,云硬盤為8 GB,公網帶寬為1 Mb/s。
頁面顯示實時采集數據,頁面中的數據會隨著讀入的串口數據實時改變,這樣串口輸出的數據和網頁顯示的數據一致,達到預期的實時顯示的效果。
公網IP地址是:115.159.100.208。
5結論
本文設計的家居環境遠程監測系統實現了數據的遠程采集和實時顯示。系統可以準確有效地監測家居環境下的各種空氣質量信息,并實時顯示采集到的數據,為遠程監測提供了方便快捷的數據流服務。系統在數據采集和實時顯示方面具有良好的擴展性,可以添加更多的傳感器,也可以選擇顯示更多的信息,同時低成本和低功耗是本設計最大的亮點。
參考文獻
[1] 呂炳潮,楊揚,伍民友. 實時信息的理論研究及應用[J].計算機工程與設計 ,2010,31(18):4012-4014.
?。?] 任堂正,楊俊杰,樓志斌. 無人值守變電站周界光電一體化安防系統設計[J].電測與儀表,2016,53(12):111-117.
?。?] 樊志平,洪添勝,劉志壯,等. 柑橘園土壤墑情遠程監控系統設計與實現[J]. 農業工程學報,2010,26(8):205-210.
[4] 余湧,馬婭婕,彭攀來,等. 一種遠程監控報警系統的設計[J]. 自動化儀表,2016,37(6):62-65.
[5] 寧芳,金旦亮. 基于UCD的智能家居控制系統界面交互設計[J]. 包裝工程, 2016,37(2):94-98.
?。?] 胡向東,趙潤生.面向智能家居的輕量型互認證協議[J]. 傳感技術學報,2016,29(5):751-757.
?。?] FERNANDES E, JUNG J, PRAKASH A. Security analysis of emerging smart home applications[C]. 2016 IEEE Symposium on Security and Privacy (SP),2016:636654.
?。?] Jiang Linying,Zhu Zhiliang,Li Hailong,et al.Embedded laboratory environment monitor system[C]. WASE International Conference on Information Engineering, 2009:197201.
?。?] 楊建業,耿建平. 基于HTML5的實時Web數據監測系統[J].桂林電子科技大學學報, 2015,35(2):136-141.
?。?0] 張立倩,常曉燕,苗杰,等.基于Web平臺數據實時顯示研究[J]. 內蒙古農業大學學報(自然科學版), 2008, 29(3):164-166.
[11] 羅麗娟,谷鎖林,張斌.Web平臺下測控設備動態數據實時顯示系統設計與實現[J]. 指揮控制與仿真, 2015,37(4): 118-122.