安全文庫網絡信息安全團隊 曹宇寧 陳衍基
遠程控制智能家居新思維及創新制造
安全文庫網絡信息安全團隊 曹宇寧 陳衍基
隨著近幾年智能家居產品制造成本的降低及智能生活,智能家具的廣泛普及,在智能家居控制方面,控制的新思維及創新制造,愈來愈成為廣大智能硬件愛好者深入研究的方向。
智能硬件;智能家居控制;創新制造
目前很多智能家居產品均可實現在局域網內通過局域網控制WIFI插座來進行智能硬件的開關及使用,但在遠程控制在線服務操作控制方面實現較少。因此,在借閱相關的資料之后,提出將智能家居產品連接至“主控板”通過遠程控制主控板,主控板與手機進行數據交流對于智能家居產品進行控制及使用。
圖1 主板構成及原理
圖2 通信原理
圖3 詳細結構
服務器端架構條件及環境:Linux服務器+MySQL數據庫+-程序編譯。
1)可通過微信公眾平臺接口實現在客戶端進行遠程控制。具體思維導圖見圖4:
圖4 思維導圖
2)原理剖析:用戶手機通過連接2G/3G/4G流量網絡向微信測試賬號發出指令進行相應的控制。 微信測試賬號接受到用戶命令之后,立即通過平臺轉發數據信息給服務器端,再由服務器將命令轉發給家庭中的智能主控板,主控板受到命令之后開始控制智能家居工作。執行操作成功后,主控板將信息傳輸返回給用戶手機端。
3)功能介紹:由于在上文中提到了采用的是微信公眾平臺的接口,因此此處在服務器端導入智能機器人程序時候,就可以實現智能機器人微控。采用智能機器人服務。例如:當“主控板”接入溫度報警器后,可以在線控制家庭溫度,當溫度過高后,智能機器人自動回復消息給手機微信端。隨時隨地,只要手機接入互聯網都能了解家中情況。
1)開發環境:基于單片機開發、微信開發、服務器開發、數據庫應用。
單片機開發:利用類c的arduino語音對單片機mcu進行編程,利用at指令操作wif i模式進行http請求。
微信開發:利用php語言在服務器端做跟微信服務器通信的接口。
服務器環境:lnmp即linux、nginx、mpsql、php5.3.3。
2)關鍵技術:熟悉單片機開發,熟悉wif i模式的at指令和相關固件開發、網絡通信、服務器的搭建、利用php語言做下位機接口和微信服務器接口、微信相關開發,mysql數據庫操作。
3)技術難點:要做到能夠遠程微信控制,則必須會使用esp-8266wifi模塊,在使用此模塊前,必須對期內部固件進行編寫,少寫at固件才可跟單片機進行串口通信;單片機要實時采集數據且通過wif i模式進行http請求之后獲得反饋值再進行相關操作,這要求單片機的io口要足夠多且運行速率不能太低;要做到實時獲取數據和快速做出相關動作則必須要不斷的進行http請求。服務器端微信開發必須熟悉微信開發文檔,編寫的接口必須按照一定的協議才可與微信服務器交互,而且要實現自動反饋提醒信息給用戶則必須要獲取微信用戶的openid和微信公眾號的access_token和對數據進行json格式轉換。微信公眾號的access_token不是保持不變的,出于安全考慮,是每7200s更新一次,則要對此進行相關操作才可以正常實時此功能。
4)創新點:無需安裝額外的app;用微信實現多方式控制:按鈕、文字指令、語音指令;打破局域網限制,能夠遠程控制;
5)不足之處:在查看我的魚缸模式下要觀看實時視頻則必須在手機安裝相應的ADOBE FLASH PLAYER插件;通信方式為http請求,請求過于頻繁,不能很好的做到降低服務器負載,今后將會不斷完善,會采用tcp長連接的方式替代http請求;微信控制頁面過于單調,今后將會調用微信的jsapi,將web’端嵌入到微信,實現更美觀的、可視化的控制。