一種物聯(lián)網(wǎng)云服務(wù)平臺的設(shè)計與實現(xiàn)
引 言
從我國 2009 年提出物聯(lián)網(wǎng)發(fā)展戰(zhàn)略以來,物聯(lián)網(wǎng)在工業(yè)監(jiān)控、城市管理、智能家居、智能交通等多個領(lǐng)域發(fā)展迅速。云計算是物聯(lián)網(wǎng)發(fā)展的基石,也是實現(xiàn)物聯(lián)網(wǎng)的核心,使物聯(lián)網(wǎng)中以兆計算的各類物品的實時動態(tài)管理和智能分析變得可能,也促進了物聯(lián)網(wǎng)和互聯(lián)網(wǎng)的智能融合。云計算使傳統(tǒng)IT 產(chǎn)業(yè)格局在技術(shù)、商業(yè)模式及服務(wù)等方面得到明顯改變[1]。服務(wù)提供商利用云服務(wù)將信息技術(shù)服務(wù)提供給用戶,使得用戶通過網(wǎng)絡(luò)能夠隨時隨地得到自己想要的資源及服務(wù),對傳統(tǒng)制造業(yè)產(chǎn)生了巨大的沖擊。各制造商紛紛對產(chǎn)品進行產(chǎn)業(yè)升級與改造,同時讓其下所有產(chǎn)品組成一個能為用戶提供完整服務(wù)的有機組合,而非單一的產(chǎn)品,大力建立自己的移動互聯(lián)網(wǎng)生態(tài)系統(tǒng)。對于很多由硬件制造起家的公司來說,部署和運維互聯(lián)網(wǎng)應(yīng)用無疑是一個噩夢,缺乏專業(yè)研發(fā)團隊,平臺運維費錢費心,安全問題難以得到保障。因此,建立一個專業(yè)的物聯(lián)網(wǎng)云服務(wù)平臺,可以解決這些硬件制造商的困擾,不但讓制造商能夠簡單地低成本改造原先的產(chǎn)品,還可利用云服務(wù)平臺提供的定制服務(wù)增強用戶體驗,既不用擔(dān)心未來產(chǎn)品的升級換代和架構(gòu)升級,也有利于快速搶占市場份額。
1 系統(tǒng)總體方案
物聯(lián)網(wǎng)云服務(wù)平臺由手機 App、云服務(wù)器、終端組成, 如圖 1 所示。終端由控制器、以太網(wǎng)模塊、輸出接口和傳感器接口組成。
遠程監(jiān)測傳感器數(shù)值的過程如下所示:
(1) 用戶在云服務(wù)器建立傳感器的云端服務(wù);
(2) 控制器通過傳感器接口采集傳感器的數(shù)據(jù),通過以太網(wǎng)模塊發(fā)送給云服務(wù)器;
(3) 云服務(wù)器將消息推送到手機 App,以曲線形式查看傳感器的數(shù)值。
遠程控制輸出機構(gòu)的過程如下所示:
(1) 用戶在云服務(wù)器建立屬于輸出機構(gòu)的云端服務(wù);
(2) 利用手機 App連接云服務(wù)器,發(fā)出改變輸出機構(gòu)狀態(tài)的指令;
(3) 云服務(wù)器將指令推送到終端,控制器改變輸出機構(gòu)的狀態(tài)。
在實際應(yīng)用過程中,在傳感器接口連接溫度傳感器,實現(xiàn)溫度的遠程測量、分析和顯示;在輸出機構(gòu)接口連接繼電器, 實現(xiàn)門禁的遠程開關(guān)。
2 系統(tǒng)硬件設(shè)計
2.1 控制器
系統(tǒng)選用基于ARMCortex-M3內(nèi)核的 32位微控制器STM32F103RBT。它運行速度快,工作頻率可達 72MHz;內(nèi)置高速存儲器(128KBFlash和 20KBSRAM);2個可工作在主從模式的SPI串行接口、7通道 DMA控制器、51個通用IO口。豐富的外圍配置與開發(fā)資料可大大降低系統(tǒng)開發(fā)成本并縮短開發(fā)時間[2,3]。
2.2 以太網(wǎng)模塊
系統(tǒng)選用 WIZnet 公司生產(chǎn)的 W5500。W5500 有 8 個獨立端口Socket 同時通訊, 集成了 TCP/IP 協(xié)議棧, 支持TCP、UDP、IPv4、ICMP、ARP、IGMP 及 PPPoE 協(xié) 議, 內(nèi)嵌 32 KB 片上緩存以供以太網(wǎng)包處理,支持 10/100 M 以太網(wǎng)數(shù)據(jù)鏈路層(MAC) 及物聯(lián)層(PHY)。W5500 支持高達 80 MHz 的SPI 接口,更容易與外設(shè) MCU 整合,更好地調(diào)整網(wǎng)絡(luò)通訊。為減少系統(tǒng)能耗,W5500 提供了網(wǎng)絡(luò)喚醒模式以及掉電模式供客戶選擇使用[4,5]。
3 系統(tǒng)軟件設(shè)計
3.1 控制器主程序設(shè)計
控制器主要實現(xiàn)傳感器采集、輸出機構(gòu)控制和以太網(wǎng)通信功能,其主程序的流程決定了終端的功能,其運行效率決定了終端的整體性能。圖 2 所示為將溫度采集和遠程門禁集成在一起的控制器主程序流程圖。首先,控制器對以太網(wǎng)模塊進行硬件初始化。然后從DHCP 服務(wù)器獲取IP 地址。終端IP 地址無效分為兩種情況,即終端剛上電與DHCP 服務(wù)器分配的IP 地址超過租期時間。當(dāng)終端IP 地址無效時,控制器需要利用W5500 其中 1 個Socket 進行 DHCP 協(xié)議通信(UDP 協(xié)議通信),才能從 DHCP 服務(wù)器分配到有效IP 地址。最后,實現(xiàn)應(yīng)用功能。由于W5500 有 8 個獨立網(wǎng)絡(luò)通信線程,其中1 個用于DHCP 通訊,因此還有 7 個可用于上述事例。文中采
用 2 個獨立網(wǎng)絡(luò)通信線程分別實現(xiàn)溫度采集和遠程門禁。
3.2 手機 App的軟件設(shè)計
手機 App 軟件包括公開設(shè)備、關(guān)注設(shè)備、我的設(shè)備及設(shè)置。
(1) 公開設(shè)備是指各用戶共享自己的設(shè)備和傳感器,其他用戶能夠直接查看其傳感器的數(shù)值。
(2) 關(guān)注設(shè)備是將公開設(shè)備關(guān)聯(lián)為常用設(shè)備,是一種快速鏈接方式。
(3) 我的設(shè)備是指用戶創(chuàng)建的全部設(shè)備和傳感器,包括公開和私有兩種。
(4) 設(shè)置包括自己的帳號、密碼、驗證碼、是否記住賬號密碼、自動登錄以及App信息。
在Android 系統(tǒng)中,公開設(shè)備、關(guān)注設(shè)備、我的設(shè)備以及設(shè)置四大功能分為四個UI 界面(Activity)進行獨立管理,常用方案為Fragments。Fragments 是為解決不同屏幕分辨率的動態(tài)和靈活UI 設(shè)計。每一個 Fragments 都有一套自己的生命周期回調(diào)方法和處理用戶輸入事件。
4 物聯(lián)網(wǎng)云服務(wù)平臺的測試
物聯(lián)網(wǎng)云服務(wù)平臺的測試包括網(wǎng)站、手機 App 軟件以及終端設(shè)備。網(wǎng)站首頁以地圖形式顯示各地區(qū)公開設(shè)備的 GPS 位置、傳感器列表及最后一次數(shù)值,如圖 3 所示。結(jié)合地圖的滾動和移動操作,地圖上更新最新的公開設(shè)備情況,方便用戶查找自己附近的公開設(shè)備。手機 App 啟動后,在右上角利用圖標(biāo)顯示當(dāng)前與云服務(wù)器之間的網(wǎng)絡(luò)連接狀態(tài)。點擊 公開設(shè)備 ,顯示圖 4 所示公開的設(shè)備列表。點擊設(shè)備,進入圖 5 所示設(shè)備包含的傳感器列表。點擊傳感器,查看該傳感器的歷史記錄數(shù)據(jù),并以曲線形式顯示,如圖 6 和圖 7 所示。圖 6 所示為溫度傳感器最近一年的歷史數(shù)據(jù),其中A 點(2016 年11月11 日)的溫度突然下降約 7℃,接著回暖,我們將這種現(xiàn)象稱為 入冬失敗 。圖 7 所示為門禁最近一年的歷史數(shù)據(jù)。
圖 3 以地圖形式顯示設(shè)備數(shù)值
圖4 手機App 界面中設(shè)備列表 圖5 手機App 界面中傳感器列表
圖 6 最近1 年的溫度曲線
圖 7 最近1 年的門禁曲線 (下轉(zhuǎn)第 46 頁)
5 結(jié) 語
基于本物聯(lián)網(wǎng)云服務(wù)平臺,可實現(xiàn)遠程采集、分析和顯 示溫度與遠程開門。結(jié)果表明,該平臺運行效果良好,可靠性 高,擴展性強,滿足設(shè)計要求,為后續(xù)的決策系統(tǒng)與用戶定制 服務(wù)等功能提供了一個良好的平臺。