滕瑋 郭帥民 黃秋斌 潘饒
【摘 要】隨著物聯網技術的迅速發展,各類智能化設備層出不窮,在智能家居中扮演了十分重要的作用。本文將傳統的鏡子作為研究對象,運用M2M技術對其進行智能化改造,設計了一個家庭智能鏡系統,具有一定的市場應用前景與價值。
【關鍵詞】智能家居;智能鏡;M2M;樹莓派
中圖分類號: TN929.5;TP391.44;TP277 文獻標識碼: A 文章編號: 2095-2457(2019)07-0017-002
DOI:10.19694/j.cnki.issn2095-2457.2019.07.006
【Abstract】With the rapid development of the Internet of Things technology, various types of intelligent devices emerged which play a very important role in smart homes. In this paper, the traditional mirror is taken as the research object. A home intelligent mirror system is designed based on M2M technology, which has certain market application prospects and value.
【Key words】Smart home; Smart mirror; M2M; Raspberry Pi
0 引言
2014年被譽為是智能家居的元年,幾乎所有家電巨頭都進軍智能家電領域,無數大企業和小公司積極推出相關產品。目前,全球智能家居市場容量排名前五的國家分別是:美國、日本、德國、中國、英國[1]。我國智能家居行業還處在技術推廣階段,關注產品的易用性和實用性是行業得到快速的發展關鍵,設計價格低廉、使用方便、擴展性好的智能家居系統已成為當前關注的熱點[2]。本文運用M2M技術,基于樹莓派(Raspberry Pi)平臺,將常用的鏡子改造為一個智能鏡系統,實現對室內環境的監控、新聞瀏覽、事務提醒、課程表等功能,方便實用,是智能家居的重要組成部分。
1 系統設計
本系統基于M2M應用框架設計[3],主要包括智能鏡終端、系統服務器、Web應用端和移動應用APP端,如圖1所示。
1.1 M2M終端-智能鏡模塊
智能鏡,顧名思義,就是將普通鏡子智能化。本系統使用單面透視鏡,將樹莓派嵌在鏡子的反面。當屏幕熄滅時用戶看到的是一面普通的鏡子,當屏幕亮起時,用戶透過單面鏡就能看到屏幕上所顯示的內容,主要包括時間、室內溫濕度信息和煙霧狀況,并將這些室內環境數據上傳至服務器,方便實現數據管理和移動終端訪問;還可以通過網絡遠程訪問服務器,獲取當日天氣、備忘錄、課程表、新聞等信息。
1.2 M2M應用—web端應用和移動端APP
系統的應用客戶端包括web端應用和移動端APP兩個用戶終端。其中,web端應用運行于PC端,通過與服務器的交互,實現對采集的家居環境數據(溫濕度、煙霧情況)、備忘錄、課表等的查詢、更新和刪除等操作。移動端APP亦可通過與服務器的交互,獲取并管理各類數據,方便用戶及時了解家居環境及其變化情況,實現對系統的遠程控制。
1.3 M2M平臺-系統后臺服務器
系統的后臺服務器是核心模塊,部署在阿里云上。由于整個系統的業務不多,邏輯也并不復雜,所以將文件、應用程序、數據庫都部署在一個服務器上。一方面,服務器和智能鏡終端交互。通過有線網絡或無線網絡,服務器接收智能鏡上傳的室內溫濕度、煙霧數據等室內環境數據,并對其進行存儲、管理與維護;同時,訪問開放的天氣信息源和新聞信息源(新浪新聞網的世界新聞),并將天氣和新聞推送到智能鏡端顯示。一方面,接收M2M應用(web端應用和移動端APP)對室內溫濕度、煙霧數據、新聞、天氣等數據的訪問請求,實現對備忘錄、課表的管理和維護。
2 系統實現
根據系統總體設計,對各模塊進行設計與實現。
2.1 智能鏡采集端設計
智能鏡采集端基于樹莓派開發,主界面采用的PyQt設計。PyQt是一個創建GUI應用的工具包,是Python與QT庫的成功融合[5]。主界面如圖2所示。
(1)溫濕度傳感器及煙霧傳感器數據的采集
將DHT11溫濕度傳感器和MQ-2煙霧傳感器直接連接在樹莓派的GPIO引腳上。其中, DHT11的引腳接線方式是VCC端接5v電壓,即樹莓派(BOARD)的4號引腳,接地端接6號引腳,DATA接11號引腳。MQ-2煙霧傳感器擁有四個管腳,即VCC、GND、DOUT和AOUT。VCC和GND接線方式同前,沒有使用AOUT端。因為是用DOUT端去判斷煙霧濃度是否超過閾值,超出則報警,所以只需要將DOUT端端與樹莓派的7引腳相連接即可。通過運行采集數據程序,將數據顯示在智能鏡上(圖2);再使用MQTT協議,智能鏡端作為推送方(publisher)將采集到的室內環境數據推送至服務器,服務器再將之上傳到數據庫。
(2)天氣、新聞信息的獲取與顯示
利用HTTP協議通信,訪問的天氣信息源(url=http://wthrcdn.etouch.cn)和新浪新聞信息源(url=http://news.sina.com.cm/worl)并獲取天氣和新聞信息,將獲取的信息處理為json格式,最后返回至智能鏡終端顯示(圖2)。
(3)備忘錄、課表信息的獲取與顯示
備忘錄信息和課表信息存放在系統后臺服務器,智能鏡終端同樣利用HTTP協議向服務器發送請求,從服務器端得到備忘錄信息并在智能鏡終端上顯示(圖2)。
2.2 web端應用和移動端APP
系統web端運用HTML5技術進行web前端設計,使用php語言實現與服務器端的交互。web端應用包括管理員和普通用戶兩種身份。當普通用戶登錄系統后,就可以向服務器發送查詢室內環境數據、備忘錄和課表等的請求。室內環境數據(溫濕度、煙霧情況)用折線圖的形式顯示,如圖3所示。用戶可以進行備忘錄的設置與更新、刪除等操作。當管理員登錄系統后,可以對所有數據庫中信息進行管理,亦可以對于普通用戶進行禁止登錄或者恢復登錄的操作,如圖4所示。
系統移動端基于Android開發平臺,通過與云服務器及系統服務器的交互,實現對室內環境數據的查詢與顯示、備忘錄的設置、課表的導入與顯示等功能(圖4-5),方便用戶隨時隨地的了解家居環境及其變化情況,實現對系統的遠程控制。
2.3 系統后臺服務器設計
系統的后臺服務器部分基于WAMP框架開發,部署在阿里云上,開源跨平臺,安全可靠。服務器在與web應用端和移動端交互是常規的B/S和C/S模式,實現功能在3.2中已經闡述。服務器在與智能鏡進行交互時,智能鏡對天氣、新聞、備忘錄等信息的請求,也是C/S模式。
但是對采集的室內環境數據的獲取是采用基于MQTT協議的Publisher/Subscriber模式。MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)協議是一種即時通訊協議,是現代的物聯網應用中的重要組成部分[6]。它基于主題發布,訂閱的體系結構,一般會在中間層設置代理,Publisher(即本系統的智能鏡采集模塊)發布主題到代理,Subscriber(即本系統的后臺服務器)通過訂閱代理來獲取信息,但相比于HTTP協議MQTT有較低的協議開銷,可以進行一對多,多對多的通信[6]。
3 總結
本文基于M2M技術,選用樹莓派3代作為智能鏡系統的開發版,運用web開發和移動終端開發技術,設計了一個智能鏡系統,具有價格低、操作方便、可維護和可擴展性好的特點。同時,將服務器部署在阿里云上,縮短了開發周期,降低了開發成本。經測試,可以實現對室內境數據的采集與顯示,實現對日常信息的顯示,且界面設計良好,操作簡單。進一步的工作是實現對室內的遠程監控功能,實現對圖像的抓拍、視頻的傳輸等功能,使本系統進一步完善,以滿足人們對智能家居的需要。
【參考文獻】
[1]2018-2024年中國智能家居行業分析與投資決策咨詢報告[R],智研咨詢集團,2018年1月.
[2]樂軍.智能家居市場將迎來爆發式增長[N]. 中國消費報,2017-03-30(003).
[3]馮英偉,范晶晶,王慶福.基于M2M的智能家居關鍵問題研究[J].河北建筑工程學院學報,2015,33(02):52-54.
[4]冷靜. 基于M2M的物聯網網關平臺設計及實現[D].西安電子科技大學,2014.
[5]肖文鵬.用PyQt進行Python下的GUI開發[J].中文信息,2002(07):73-75.
[6]馬躍,孫翱,賈軍營,孫建偉,于碧輝,楊雪華.MQTT協議在移動互聯網即時通信中的應用[J].計算機系統應用,2016,25(03):170-176.