當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:智能家居是物聯(lián)網(wǎng)的重要推動力和應(yīng)用領(lǐng)域。文中以開源Arduino WiDo智能終端構(gòu)建了家用物聯(lián)網(wǎng),實現(xiàn)了實時監(jiān)測家庭溫濕度、煙霧、動力等重要參數(shù)的遠程監(jiān)控系統(tǒng)。該系統(tǒng)以Arduino WiDo作為控制板,各傳感器采集的家庭環(huán)境參數(shù)通過http協(xié)議經(jīng)WiFi上傳到服務(wù)器端數(shù)據(jù)庫,完成Web服務(wù)運行狀況監(jiān)測、傳感器數(shù)據(jù)收集、臨時或長期存儲。用戶通過微信公眾號平臺,可實時查看和監(jiān)視家中情況,并可在線控制家用設(shè)備。該系統(tǒng)部署方便、成本低、可靠性高、擴展性強,具有較高的推廣價值。

引 言

隨著工業(yè) 4.0 的提出,各行各業(yè)開始嘗試將物品與互聯(lián)網(wǎng)相連,進行信息交換和通信,以實現(xiàn)智能化識別、定位、跟蹤、監(jiān)控和管理。家庭物聯(lián)網(wǎng)的出現(xiàn)很大程度上提升了家庭人居環(huán)境的安全性、方便性及宜居性。

目前市場上的家用物聯(lián)網(wǎng)系統(tǒng)多數(shù)都基于樂聯(lián)網(wǎng)、Yeelink 等平臺進行二次開發(fā)。用特定終端硬件驅(qū)動各傳感器采集數(shù)據(jù)并發(fā)送到平臺提供的接口,可在網(wǎng)站上查看自己上傳的數(shù)據(jù)。其開發(fā)雖然較為簡單,但也存在諸多弊端。首先, 以上平臺對手機移動端的支持并不友好,需要下載相應(yīng)的 App 或登錄相應(yīng)的網(wǎng)站才能查看信息。其次,數(shù)據(jù)傳輸?shù)降谌狡脚_的數(shù)據(jù)庫,必然存在數(shù)據(jù)泄露等安全隱患。

考慮到以上弊端,文中提出了基于微信Arduino 家用物聯(lián)網(wǎng)系統(tǒng),以WiDo(Arduino 集成了CC3000 WiFi 模塊后的開發(fā)板)為控制板,結(jié)合微信公眾號平臺與阿里云中間服務(wù)器實現(xiàn)家庭遠程監(jiān)控系統(tǒng)。開源平臺Arduino 智能終端具有可定制性、功能強、性價比高等諸多優(yōu)點,為構(gòu)建家用物聯(lián)網(wǎng)系統(tǒng)奠定了良好的基礎(chǔ)。微信平臺開發(fā)方便,對移動端支持比較友好,用戶操作方便。中間服務(wù)器用于存儲數(shù)據(jù)和微信端開發(fā),數(shù)據(jù)在自己的數(shù)據(jù)庫中,不易泄露。該系統(tǒng)具有實現(xiàn)簡便、可靠性高、實用性好、擴展性強等優(yōu)點。

1 系統(tǒng)結(jié)構(gòu)設(shè)計

本系統(tǒng)由感知層、網(wǎng)絡(luò)層和應(yīng)用層組成。

感知層由各傳感器硬件、開關(guān)執(zhí)行元件和 Wido(Arduino 集成了CC3000 WiFi 模塊后的開發(fā)板)組成。主要負責使用傳感器獲取室內(nèi)的各種信息(溫濕度、煙霧、光線亮度)和通過Wido 數(shù)字接口寫入高低電平來控制各電器開關(guān)元件的通斷, 或使用模擬接口輸出模擬電壓達到控制室內(nèi)家用電器的調(diào)幅等。以 LM35 溫度模塊為例,溫度傳感器電路將測量到的溫度信號轉(zhuǎn)換成電壓信號輸出到處理器的端口,處理器根據(jù)相應(yīng)的算法對輸入的電壓信號進行采集、變送、運算后轉(zhuǎn)化為溫度數(shù)據(jù),從而實現(xiàn)了對外界環(huán)境信息的感知采集。

網(wǎng)絡(luò)層由路由器和Internet 以太網(wǎng)組成,提供一條數(shù)據(jù)通道供感知層采集到的數(shù)據(jù)信息上傳到中間服務(wù)器并存貯在數(shù)據(jù)庫中,供微信公眾號用戶隨時查看;同時還要能將微信用戶的指令下傳到感知層執(zhí)行。如用戶可在微信端查看室內(nèi)溫度, 并直接在微信端下達開燈指令,Wido 接收指令并驅(qū)動開關(guān)元件執(zhí)行開關(guān)指令。網(wǎng)絡(luò)層是物聯(lián)網(wǎng)系統(tǒng)的關(guān)鍵,是連接感知層和應(yīng)用層的橋梁。它需要將感知層的信息傳輸?shù)骄W(wǎng)絡(luò)中,并給應(yīng)用層提供一個良好的用戶接口,采用無線路由器避免了冗長的接線,使感知層的硬件設(shè)備擺脫了特定地點的限制,實現(xiàn)了在WiFi 有效輻射范圍內(nèi)的硬件自由配置。

應(yīng)用層是本系統(tǒng)的最高層,直接與用戶連接,由中間服務(wù)器、數(shù)據(jù)庫和微信公眾平臺組成。應(yīng)用層需要接收網(wǎng)絡(luò)層的信息,并將其存儲在相應(yīng)的數(shù)據(jù)庫中,對數(shù)據(jù)庫中的信息及時更新。同時根據(jù)用戶請求,及時準確的將數(shù)據(jù)中的信息反饋給用戶,并將用戶指令存儲在數(shù)據(jù)庫中,發(fā)送到感知層執(zhí)行。微信公眾平臺提供友好的用戶接口和界面,使本系統(tǒng)不拘束于某個區(qū)域,只要用戶的手機能夠聯(lián)網(wǎng),便可以享受該家用物聯(lián)網(wǎng)系統(tǒng)帶來的便捷。

基于微信平臺的物聯(lián)網(wǎng)架構(gòu)如圖 1 所示。

2 硬件設(shè)計

本系統(tǒng)依據(jù)架構(gòu)把硬件設(shè)計分成三部分,分別對應(yīng)感知層、網(wǎng)絡(luò)層、應(yīng)用層,依次為節(jié)點設(shè)備、網(wǎng)絡(luò)設(shè)備、服務(wù)端設(shè)備。

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)


2.1 節(jié)點設(shè)備

節(jié)點設(shè)備端主要采用 WiDo,一塊集成 Arduino Leonardo 主控芯片和 CC3000 WiFi 內(nèi)核的 Arduino 開發(fā)板。相比于 WiFi拓展模塊,WiDo 具有更輕便、更集成、更方便的特點, 且功耗比 WiFi 模塊低,適合作為家用物聯(lián)網(wǎng)長時間的連接節(jié) 點。因采用 WiFi 無線連接,所以對物聯(lián)網(wǎng)節(jié)點選址更加方便。

在利用 Arduino 主控板的基礎(chǔ)上,驅(qū)動各傳感器模塊采 集室內(nèi)數(shù)據(jù),如溫度、濕度等。并由 Arduino 主控板將這些采 集的數(shù)據(jù)通過網(wǎng)絡(luò)設(shè)備上傳到網(wǎng)絡(luò)。節(jié)點設(shè)備還包括 Arduino 主控板驅(qū)動的繼電器等開關(guān)元件,執(zhí)行來自用戶的命令。

在實際模型中,采用的硬件有 WiDo 主控板、LM35 溫度 傳感器、發(fā)光二極燈和電磁繼電器。其中,LM35 溫度傳感器 是各類傳感器模塊的代表,采集室內(nèi)數(shù)據(jù)并上傳。發(fā)光二極 管和電磁繼電器是開關(guān)元件的代表,執(zhí)行來自用戶的開、關(guān)燈 指令以及家用高電壓電器的開關(guān)控制。

2.2 網(wǎng)絡(luò)設(shè)備

網(wǎng)絡(luò)設(shè)備為系統(tǒng)的上下級提供一條數(shù)據(jù)通道,主要由路由器和網(wǎng)線組成。即感知層通過連接路由器接入互聯(lián)網(wǎng)。所以網(wǎng)絡(luò)設(shè)備的穩(wěn)定是第一要義,而日常家庭生活的無線WiFi 網(wǎng)絡(luò)環(huán)境即可滿足要求。

在實際模型中, 為了操作演示方便, 直接用手機開啟WiFi 熱點作為網(wǎng)絡(luò)設(shè)備。

2.3 服務(wù)端設(shè)備

服務(wù)端的主要作用是接收并存儲來自節(jié)點的數(shù)據(jù)和向應(yīng)用層用戶提供的數(shù)據(jù)查詢和指令下達等服務(wù),并且能夠與微信公眾平臺對接。在家庭物聯(lián)網(wǎng)系統(tǒng)中,考慮到成本等問題,一般采用的服務(wù)端設(shè)備是租用的網(wǎng)絡(luò)云服務(wù)器。用戶級別的物聯(lián)網(wǎng)系統(tǒng)一般采用最基本的網(wǎng)絡(luò)云服務(wù)器 + 數(shù)據(jù)庫即可滿足要求。租用的服務(wù)器更加穩(wěn)定,并且有人維護,降低了系統(tǒng)的開發(fā)難度,易于普及家庭物聯(lián)網(wǎng)系統(tǒng)。

在實際模型中采用阿里云的云虛擬主機,其具有 1 G 空間+50 M MySQL 空間,完全能夠滿足物聯(lián)網(wǎng)系統(tǒng)的要求,并為公眾平臺提供穩(wěn)定、安全的服務(wù)。

3 軟件設(shè)計

軟件設(shè)計是家用物聯(lián)網(wǎng)平臺搭建的關(guān)鍵,軟件設(shè)計是在 Internet 以太網(wǎng)基礎(chǔ)上,構(gòu)建一條穩(wěn)定的數(shù)據(jù)通道,以供數(shù)據(jù) 實時、準確的傳輸。但此處涉及兩個端的銜接問題,數(shù)據(jù)從感 知層發(fā)往應(yīng)用層,指令從應(yīng)用層傳入感知層,意味著兩個端 需要實時監(jiān)聽對方的數(shù)據(jù)。所以軟件設(shè)計部分主要分為數(shù)據(jù) 通道構(gòu)建,數(shù)據(jù)發(fā)送與獲取,服務(wù)器端面向微信平臺設(shè)計。

3.1 數(shù)據(jù)通道的構(gòu)建

數(shù)據(jù)通道的構(gòu)建涉及 WiDo 控制板客戶端和服務(wù)器端。 兩者都需要實時監(jiān)聽對方的數(shù)據(jù)。故采用 C/S 客戶端 - 服務(wù) 器模式的網(wǎng)絡(luò)架構(gòu)。

由于服務(wù)器端一直處于網(wǎng)絡(luò)環(huán)境中,所以服務(wù)器端的設(shè)計只需等待客戶端數(shù)據(jù)發(fā)送或控制命令請求并給出回應(yīng)即可。


WiDo 控制板端需要先連接路由器,確定連接以太網(wǎng); 然后在每次需要發(fā)送數(shù)據(jù)或者獲取指令時,先建立與目標服務(wù)器的連接,才能通過HTTP 協(xié)議把數(shù)據(jù)包發(fā)送出去,并接收目標服務(wù)器的應(yīng)答信息。

3.1.1 WiDo客戶端程序設(shè)計

Wido 連接流程圖如圖 2 所示。在確認連接到路由器并由DHCP(動態(tài)主機配置協(xié)議)協(xié)議獲得 IP 地址后,控制板客戶端(Client)即采用輪詢(Polling)方式,由 CPU 定時向服務(wù)器發(fā)起請求,服務(wù)器收到請求后立即返回響應(yīng)信息并關(guān)閉連接, 周而復(fù)始。

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)

WiDo控制板核心代碼由函數(shù)體 setup()和 loop()組成,值得注意的是,setup函數(shù)只在控制板電啟動時執(zhí)行一次,其作用在于完成控制板的串口波特率初始化,控制板初始化,使控制板以WPA2加密方式連接WiFi熱點(AP),同時串口打印連接字符 Connected! 。隨后檢查等待路由器DHCP協(xié)議分配 IP 地址等功能。

Loop 函數(shù)在 Arduino 中會自動循環(huán)調(diào)用,確保 Arduino 控制板與目標服務(wù)器一直處于連接狀態(tài),并以輪詢方式周期性的發(fā)送讀取自傳感器的數(shù)據(jù)及控制命令請求。如果 Arduino處于異常狀態(tài),則會自動重啟進入 setup 然后再進入loop 函數(shù), 即使Arduino 掉電異常,也能自動連接路由器繼續(xù)工作。服務(wù)端存儲流程圖如圖 3 所示。

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)

3.1.2 服務(wù)器端程序設(shè)計

服務(wù)器端一直在等待數(shù)據(jù)POST(Arduino 通過HTTP 協(xié)議將數(shù)據(jù)包 POST 到服務(wù)器),當有數(shù)據(jù)響應(yīng)時才有動作。先將數(shù)據(jù)存儲到數(shù)據(jù)庫中,然后將數(shù)據(jù)中存儲的開關(guān)量取出, 以應(yīng)答的形式發(fā)送給WiDo 控制板。

3.2 數(shù)據(jù)的發(fā)送與獲取

上文已大概說明了數(shù)據(jù)的發(fā)送與獲取過程。在 Arduino 控制板和目標服務(wù)器建立連接時,發(fā)送數(shù)據(jù)到目標服務(wù)器。服務(wù)器收到POST 的數(shù)據(jù)并把開關(guān)量命令以應(yīng)答的形式回復(fù)過去。Arduino 接收應(yīng)答的開關(guān)量,并依據(jù)代碼控制相應(yīng)端口的動作。數(shù)據(jù)發(fā)送與獲取如圖 4 所示。

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)

3.3 服務(wù)端面向微信平臺設(shè)計

 微信服務(wù)端的主要任務(wù)是處理用戶發(fā)來的消息。當用戶 請求數(shù)據(jù)時,將數(shù)據(jù)庫中存儲的傳感器數(shù)據(jù)發(fā)送給用戶;當用 戶發(fā)送指令時,將用戶指令存儲在數(shù)據(jù)庫中,等待下一次應(yīng)答 返送給 Arduino。

圖 5 所示為用戶請求數(shù)據(jù)的概念圖,圖 6 所示為用戶發(fā) 送指令的概念圖。


基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)

4 實際測試


經(jīng)實際測試,溫度測量最大誤差小于 +0.5 ℃,原因是傳感器的非線性因素。但對家用物聯(lián)網(wǎng)而言,可滿足其實時性與準確性條件。微信端溫度測量對比見表 1 所列。

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)


微信端從發(fā)出命令到實際響應(yīng)時間見表 2 所列。控制端命令自微信客戶端發(fā)出后直至客戶端執(zhí)行機構(gòu)響應(yīng),所用七組時間取平均值,約為 4 s,延遲原因在于網(wǎng)絡(luò)信息的傳輸時延以及控制板的循環(huán)周期時延。執(zhí)行機構(gòu)穩(wěn)定可響應(yīng)。

基于微信和Arduino家用物聯(lián)網(wǎng)系統(tǒng)開發(fā)

5 結(jié) 語

本文采用開源 Arduino、阿里云虛擬服務(wù)器以及微信公眾號平臺,構(gòu)建了可遠程監(jiān)控的家用物聯(lián)網(wǎng)系統(tǒng),實現(xiàn)對家庭環(huán)境的監(jiān)控及其反向控制方案。使用WiFi 接入方式避免了控制器冗長的布線且突破了空間限制,同時微信公眾號平臺接入物聯(lián)網(wǎng)系統(tǒng),可實現(xiàn)對插排,燈等家電的智能簡易控制。采用成熟的硬件平臺,不僅穩(wěn)定性高,成本低且易于部署推廣。但目前系統(tǒng)采用的HTTP 協(xié)議自身存在一定安全漏洞,且本系統(tǒng)所采集的參數(shù)和所支持的智能設(shè)備均有待增加,因此未來我們還將繼續(xù)努力,在后續(xù)研究中對其重點改進。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉