日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術》雜志
[導讀]摘 要:智能家居是物聯(lián)網(wǎng)的重要推動力和應用領域。文中以開源Arduino WiDo智能終端構建了家用物聯(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上傳到服務器端數(shù)據(jù)庫,完成Web服務運行狀況監(jiān)測、傳感器數(shù)據(jù)收集、臨時或長期存儲。用戶通過微信公眾號平臺,可實時查看和監(jiān)視家中情況,并可在線控制家用設備。該系統(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ā)雖然較為簡單,但也存在諸多弊端。首先, 以上平臺對手機移動端的支持并不友好,需要下載相應的 App 或登錄相應的網(wǎng)站才能查看信息。其次,數(shù)據(jù)傳輸?shù)降谌狡脚_的數(shù)據(jù)庫,必然存在數(shù)據(jù)泄露等安全隱患。

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

1 系統(tǒng)結(jié)構設計

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

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

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

應用層是本系統(tǒng)的最高層,直接與用戶連接,由中間服務器、數(shù)據(jù)庫和微信公眾平臺組成。應用層需要接收網(wǎ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)架構如圖 1 所示。

2 硬件設計

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

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


2.1 節(jié)點設備

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

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

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

2.2 網(wǎng)絡設備

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

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

2.3 服務端設備

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

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

3 軟件設計

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

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

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

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


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

3.1.1 WiDo客戶端程序設計

Wido 連接流程圖如圖 2 所示。在確認連接到路由器并由DHCP(動態(tài)主機配置協(xié)議)協(xié)議獲得 IP 地址后,控制板客戶端(Client)即采用輪詢(Polling)方式,由 CPU 定時向服務器發(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 控制板與目標服務器一直處于連接狀態(tài),并以輪詢方式周期性的發(fā)送讀取自傳感器的數(shù)據(jù)及控制命令請求。如果 Arduino處于異常狀態(tài),則會自動重啟進入 setup 然后再進入loop 函數(shù), 即使Arduino 掉電異常,也能自動連接路由器繼續(xù)工作。服務端存儲流程圖如圖 3 所示。

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

3.1.2 服務器端程序設計

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

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

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

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

3.3 服務端面向微信平臺設計

 微信服務端的主要任務是處理用戶發(fā)來的消息。當用戶 請求數(shù)據(jù)時,將數(shù)據(jù)庫中存儲的傳感器數(shù)據(jù)發(fā)送給用戶;當用 戶發(fā)送指令時,將用戶指令存儲在數(shù)據(jù)庫中,等待下一次應答 返送給 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ā)出命令到實際響應時間見表 2 所列??刂贫嗣钭晕⑿趴蛻舳税l(fā)出后直至客戶端執(zhí)行機構響應,所用七組時間取平均值,約為 4 s,延遲原因在于網(wǎng)絡信息的傳輸時延以及控制板的循環(huán)周期時延。執(zhí)行機構穩(wěn)定可響應。

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

5 結(jié) 語

本文采用開源 Arduino、阿里云虛擬服務器以及微信公眾號平臺,構建了可遠程監(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ù)和所支持的智能設備均有待增加,因此未來我們還將繼續(xù)努力,在后續(xù)研究中對其重點改進。

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉