孫一笑 戰金成 張玉軍

摘要:隨著5G技術的正式商用,物聯網技術將得到迅猛發展,物聯網技術將走入千家萬戶。因此,如何將越來越多的家庭物聯網設備采集的海量數據進行處理,并達到家庭物聯網用戶能夠實時監控相關參數將成為較為重要的研究課題。該文主要對家庭物聯網設備監控APP的設計進行研究,提供一套家庭物聯網設備采集數據回發至用戶手機的解決方案。
關鍵詞:家庭物聯網;手機APP;WEBAPI;MUI
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)21-0092-02
開放科學(資源服務)標識碼(OSID):
Absrtact: With the formal commercial use of 5G technology, the Internet of Things technology will develop rapidly, and the Internet of Things technology will enter thousands of households. Therefore, how to process the massive data collected by more and more devices of the Home Internet of Things and achieve real-time monitoring of relevant parameters by users of the Home Internet of Things will become an important research topic. This paper mainly studies the design of app for home Internet of things equipment monitoring, and provides a set of solutions for home Internet of things equipment to collect data and send it back to the user's mobile phone.
Key words: Home Internet of Things; Mobile App; WEBAPI; MUI
1 背景
隨著5G技術的正式商用,服務商為用戶提供了優質高速的網絡體驗,伴隨著帶寬的提升,物聯網技術將得到迅猛發展,應用將越來越廣泛,物聯網技術將走入千家萬戶[1]。因此,如何將越來越多的家庭物聯網設備采集的海量數據進行處理,并達到家庭物聯網用戶能夠實時監控相關參數將成為較為重要的研究課題。因此我們需要提供一套完備的解決方案,系統應該包括,基于ZigBee技術的自組網物聯網設備與網關,提供數據存儲與轉發的服務器以及能夠實時調取服務器中數據接口并顯示的APP[2]。本文將對這套解決方案的設計進行論述。
2 家庭物聯網設備監控APP需求分析
要實現用戶對于物聯網設備所采集的數據進行監控,首先需要將設備所采集的數據匯總至能夠連接公網的網關,該網關需要能對傳輸的數據進行序列化,序列化后的數據需要被網關轉換為HTTP請求并實時發送至服務器。在服務器端需要提供能夠接收網關數據的接口。并且根據與網關制定的協議對接收到的數據進行序列化,序列化之后的數據需要儲存至數據庫中,同時還需要提供能夠提供APP端能夠調用的數據接口,當接收到客戶端的請求時,服務端應將數據庫中的數據發送給APP端。在APP端,APP需要將從服務端請求來的數據渲染至頁面上供用戶查看,并且需要提供對用戶身份信息進行驗證的功能,以保證用戶的數據安全。
3 家庭物聯網設備監控APP相關技術
為實現上述功能,我們需要對家庭物聯網端、服務端、客戶端三部分需要的技術進行分析,解決方案設計示意圖如圖1。
1)物聯網端:本系統采用了支持ZigBee自組網技術的物聯網硬件設備,該設備有著無須配置系統自動組成通信網絡的能力,并且該系統還有著功耗低、成本低的特點。傳感器設備將采集到的數據實時傳輸至樹莓派3 b+的網關設備中,網關設備采用Linux操作系統,預置了信息采集處理的服務,并且將機器數據序列化通過QHTTP技術轉發至服務端[3]。
2)服務端:部署了基于.NET WebAPI技術的服務,該服務作為連接手機端與物聯網設備的橋梁,為物聯網設備提供寫入數據庫的接口,為客戶端提供了,調用數據庫的接口,并且將物聯網設備與客戶端進行綁定,并提供身份驗證服務。
3)客戶端:在客戶端采用了混合開發模式,使用MUI框架搭建了簡潔美觀的APP,基于JQuery實現AJAX的異步刷新技術,定時向服務端發送請求進而實現用戶能夠實時監控傳感器的目的。并且需要注意的是,客戶端需要對用戶的身份進行驗證進而保證系統數據的安全[4]。
4 傳感器網關服務的實現
在該系統中,為了將各個傳感器采集的數據處理并發送至服務器端,我們需要在網關部分實現對于傳感器數據的匯總、處理與轉發,在服務開發上,采用了QT框架的C++應用。通過調取并處理傳感器采集的數據。再利用QNetwork將處理后的數據生成HTTP請求實現服務端接口的調用[5]。代碼如下。
5 結束語
首先,該解決方案有著較大的現實意義與價值,使得硬件方面的數據能夠輕松的傳輸至客戶端APP中,實現了用戶對于傳感器數據的實時監控。同時,基于該解決方案能夠拓展出更多功能,比如利用軟件實時操控硬件設備,甚至與大數據進行結合實現家中數據的分析與挖掘。
參考文獻:
[1] 郭澤龍, 羅帆, 周金星. 基于Linux的家庭物聯網控制系統設計與研究[J]. 機械工程與自動化, 2018(5): 79-80, 82.
[2] 何移. 基于物聯網的智慧家庭系統結構淺析[J]. 通信與信息技術, 2018, 235(5): 38-39, 62.
[3] He L, Ota K, Dong M. Learning IoT in Edge: Deep Learning for the Internet of Things with Edge Computing[J]. IEEE Network, 2018, 32(1): 96-101.
[4] Ronen E, Shamir A, Weingarten A O, et al. IoT Goes Nuclear: Creating a Zigbee Chain Reaction[J]. IEEE Security & Privacy, 2018, 16(1): 54-62.
[5] 趙超鴻. 利用JSON構建Android終端的Web API[J]. 中國信息技術教育, 2015(5): 74-77.
【通聯編輯:謝媛媛】