盧詩瑤,蔡士東,龍新宇,安華凱,郭一凡
(大連民族大學(xué) 信息與通信工程學(xué)院,遼寧 大連 116605)
智能家居概念起源于20 世紀(jì)80 年代初的美國,稱之為Smart Home,其間經(jīng)歷了4 代的發(fā)展。第一代是通過同軸線及兩芯線完成家庭組網(wǎng),進(jìn)而實現(xiàn)燈光、窗簾及少量的安防控制等;第二代是通過總線及IP 技術(shù)組網(wǎng),能夠完成可視對講及安防的業(yè)務(wù);第三代是集中化的智能控制系統(tǒng),由中控機完成安防、計量等方面的功能;第四代則基于物聯(lián)網(wǎng)技術(shù),可根據(jù)用戶需求實現(xiàn)個性化的功能。近年來,物聯(lián)網(wǎng)已經(jīng)成為全球關(guān)注的熱點領(lǐng)域,并已公認(rèn)成為是繼互聯(lián)網(wǎng)之后最重大的科技創(chuàng)新。本文的智能嬰兒搖籃系統(tǒng)也就是基于物聯(lián)網(wǎng)技術(shù)設(shè)計開發(fā)實現(xiàn)的。
目前,基于物聯(lián)網(wǎng)技術(shù)的智能產(chǎn)品已在國內(nèi)外展開大范圍研究,人們開始嘗試將物聯(lián)網(wǎng)技術(shù)與生活、工作的方方面面融合在一起,打造一個智能世界。而在智能嬰兒搖籃這一領(lǐng)域雖然也有不少研究,但軟件端大多使用需要下載的APP,并無基于微信小程序的智能嬰兒系統(tǒng)的設(shè)計研究,故本文設(shè)計了使用微信小程序作為軟件端的智能嬰兒搖籃系統(tǒng)。同時,目前,市場上還沒有見到為減少新生兒父母育兒精力付出的智能嬰兒搖籃。針對于此,本文設(shè)計了智能嬰兒搖籃系統(tǒng),用來監(jiān)測嬰兒的各項生命特征,并在環(huán)境變化對嬰兒產(chǎn)生影響時做出具體應(yīng)對措施,同時還具有嬰兒防偷功能。考慮到目前市場的智能家居系統(tǒng)都需要下載生產(chǎn)方指定的APP 進(jìn)行控制和操作,本系統(tǒng)的使用卻無需下載、打開即用的微信小程序作為應(yīng)用層,增加了用戶應(yīng)用的簡便性。
本文設(shè)計的智能嬰兒搖籃系統(tǒng),將基于消息隊列遙測傳輸(Message Queuing Telemert Transport,MQTT)通訊協(xié)議接入阿里云物聯(lián)網(wǎng)平臺,實現(xiàn)系統(tǒng)整體通信。按物聯(lián)網(wǎng)體系結(jié)構(gòu),分為應(yīng)用層、平臺層、感知網(wǎng)絡(luò)層以及物理層。其中,應(yīng)用層利用小程序提供的框架、API 及云數(shù)據(jù)庫實現(xiàn)其應(yīng)用功能;平臺層使用阿里云物聯(lián)網(wǎng)平臺接收與轉(zhuǎn)發(fā)數(shù)據(jù);網(wǎng)絡(luò)層和感知層通過主控芯片、Wi-Fi 模塊以及傳感器模塊完成數(shù)據(jù)采集和傳輸;物理層使用加熱模塊、加濕模塊以及報警模塊完成應(yīng)用層指令。各層之間采用MQTT 協(xié)議進(jìn)行通信,系統(tǒng)總體架構(gòu)如圖1 所示。
圖1 智能嬰兒搖籃系統(tǒng)總體架構(gòu)Fig.1 Overall architecture of the intelligent baby cradle system
在本系統(tǒng)中,MQTT 是最主要的通訊協(xié)議,這是一種輕量級基于代理的發(fā)布/訂閱的消息傳輸協(xié)議。其設(shè)計思想簡單、輕量、易于實現(xiàn),適合在帶寬、計算機和處理能力受限的環(huán)境下工作。MQTT 技術(shù)支持所有平臺,幾乎可以把所有聯(lián)網(wǎng)設(shè)備與外部連接起來,被用作傳感器和驅(qū)動器的通信協(xié)議,已成為物聯(lián)網(wǎng)協(xié)議的重要部分。
基于TCP/IP 提供網(wǎng)絡(luò)通信的MQTT 通訊協(xié)議和HTTP 協(xié)議一樣,都屬于發(fā)布/訂閱消息模式,即發(fā)布者與訂閱者不直接通過MQTT 協(xié)議交互數(shù)據(jù)。MQTT 協(xié)議支持根據(jù)QoS 的標(biāo)識定義發(fā)布服務(wù)的質(zhì)量。
在智能嬰兒系統(tǒng)中,網(wǎng)絡(luò)層與阿里云物聯(lián)網(wǎng)平臺的關(guān)系是網(wǎng)絡(luò)層作為消息訂閱者,阿里云物聯(lián)網(wǎng)平臺作為消息發(fā)布者;而在阿里云物聯(lián)網(wǎng)平臺與應(yīng)用層的關(guān)系中,阿里云物聯(lián)網(wǎng)平臺作為消息訂閱者,應(yīng)用層則作為消息發(fā)布者。以網(wǎng)絡(luò)層與阿里云物聯(lián)網(wǎng)平臺的數(shù)據(jù)交互為例,網(wǎng)絡(luò)層與阿里云物聯(lián)網(wǎng)平臺的服務(wù)器建立TCP 連接,并向服務(wù)器發(fā)送CONNECT 消息;客戶端在接收到服務(wù)器授權(quán)允許的CONNACK 確認(rèn)消息后,發(fā)送SUBSCRIBE 消息,指定感興趣的Topic 主題列表(一個或多個主題),即發(fā)送訂閱請求;訂閱成功后,阿里云物聯(lián)網(wǎng)平臺作為發(fā)布者向網(wǎng)絡(luò)層發(fā)送訂閱主題消息,當(dāng)服務(wù)器接收到阿里云物聯(lián)網(wǎng)平臺的PUBLISH 消息后,將PUBLISH 消息發(fā)送給所有訂閱此主題的訂閱者。應(yīng)用層與阿里云物聯(lián)網(wǎng)平臺的數(shù)據(jù)交互亦是該訂閱發(fā)布流程。在本系統(tǒng)中,該訂閱主題消息為應(yīng)用層作為消息發(fā)布者發(fā)布的消息主題。
ESP32 系列模組是深圳市安信可科技有限公司開發(fā)的一系列基于樂鑫ESP32 的低功耗UARTWiFi 芯片模組,可以方便地進(jìn)行二次開發(fā),接入云端服務(wù),實現(xiàn)手機3/4G 全球隨時隨地的控制,支持標(biāo)準(zhǔn)的IEEE802.11 b/g/n 協(xié)議及完整的TCP/IP 協(xié)議棧,用戶可以使用該模塊為現(xiàn)有的設(shè)備添加聯(lián)網(wǎng)功能。網(wǎng)絡(luò)層的功能是通過ESP32 芯片實現(xiàn)的,不僅可以通過SPI/SDIO 或IC/UART 接口提供Wi-Fi和藍(lán)牙功能,而且可以作為獨立系統(tǒng)運行程序,擁有強大的處理性能和可靠的安全性能。因此,本文方案采用ESP32 芯片作為本系統(tǒng)的主控芯片。
該方案設(shè)計借助Arduino 開源電子原型平臺,在 Arduino 庫商店中下載“WIFI”庫和“PubSubClient”庫,使用()函數(shù)將數(shù)據(jù)上傳到阿里云物聯(lián)網(wǎng)平臺,使用()函數(shù)接收下行消息。將程序燒錄到ESP32 模組,模組上電后,根據(jù)燒錄的WiFi 信息連接WiFi,并將通過MQTT 協(xié)議與阿里云物聯(lián)網(wǎng)平臺建立長連接,實現(xiàn)數(shù)據(jù)交互。同時通過主控芯片的串口與物理層進(jìn)行數(shù)據(jù)交互。網(wǎng)絡(luò)層設(shè)計框架如圖2 所示。
圖2 網(wǎng)絡(luò)層設(shè)計框架Fig.2 The design framework of network layer
物理層主要實現(xiàn)暖奶、報警、加熱和加濕功能,由ESP32 控制PTC 加熱片、蜂鳴器、電熱毯以及加濕霧化模塊實現(xiàn);感知層主要通過主控芯片讀取采集到的嬰兒搖籃的相關(guān)數(shù)據(jù),其中包括:奶瓶溫度、嬰兒體溫、環(huán)境溫濕度、是否尿床,以及嬰兒是否被抱起等數(shù)據(jù)。ESP32 芯片通過MQTT 協(xié)議接入阿里云物聯(lián)網(wǎng)平臺,通過Wi-Fi 接收到從阿里云物聯(lián)網(wǎng)平臺轉(zhuǎn)發(fā)的指令后,根據(jù)指令啟動相對應(yīng)的模塊。通過控制電熱毯和加濕霧化模塊,使嬰兒搖籃環(huán)境溫度和濕度達(dá)到舒適的溫濕度;通過PTC 加熱片加熱奶瓶,使奶瓶保持最佳溫度;當(dāng)微信小程序端將嬰兒搖籃設(shè)置成警戒模式時,若嬰兒被抱起,系統(tǒng)將會啟動蜂鳴器進(jìn)行報警,由此實現(xiàn)物理層的預(yù)設(shè)功能。同時,ESP32 通過串口與傳感器進(jìn)行通信,將收到的環(huán)境溫濕度數(shù)據(jù)、尿濕數(shù)據(jù)、嬰兒體溫數(shù)據(jù)和重力傳感數(shù)據(jù)通過Wi-Fi傳輸?shù)桨⒗镌莆锫?lián)網(wǎng)平臺,由此實現(xiàn)感知層功能。物理層和感知層框架設(shè)計如圖3 所示。
圖3 物理層和感知層框架設(shè)計Fig.3 The design framework of physical and sensing layer
平臺層的主要作用,是將應(yīng)用層和感知物理層的數(shù)據(jù)接收并轉(zhuǎn)發(fā)給物理層和應(yīng)用層。應(yīng)用層主要實現(xiàn)將感知網(wǎng)絡(luò)層采集到的奶瓶溫度、嬰兒體溫、環(huán)境溫濕度、是否尿床以及嬰兒是否被抱起等數(shù)據(jù),以簡潔明了的方式呈現(xiàn)給用戶;將用戶的指令傳送給平臺層,再由平臺層轉(zhuǎn)發(fā)給物理層,實現(xiàn)解除嬰兒搖籃警戒模式、調(diào)整嬰兒搖籃環(huán)境的溫濕度以及加熱奶瓶功能。應(yīng)用層界面設(shè)計如圖4 所示。
圖4 應(yīng)用層微信小程序界面設(shè)計Fig.4 Design of application layer of WeChat mini program interface
應(yīng)用層的微信小程序端使用微信公眾平臺提供的微信開發(fā)者工具進(jìn)行開發(fā),通過MQTT 協(xié)議和產(chǎn)品三元組信息與阿里云物聯(lián)網(wǎng)平臺進(jìn)行連接,使用()函數(shù)給Topic 發(fā)送指令,使用()函數(shù)接收Topic 發(fā)布的數(shù)據(jù),將數(shù)據(jù)發(fā)送到阿里云物聯(lián)網(wǎng)平臺;同時阿里云物聯(lián)網(wǎng)平臺通過MQTT 協(xié)議,使用發(fā)送數(shù)據(jù)到網(wǎng)絡(luò)層。由此實現(xiàn)應(yīng)用層和感知網(wǎng)絡(luò)層、物理層的數(shù)據(jù)交互。
平臺層與應(yīng)用層的設(shè)計框架如圖5 所示,應(yīng)用層設(shè)計的流程如圖6 所示。
圖5 平臺層與應(yīng)用層框架設(shè)計Fig.5 The design framework of platform layer and application layer
圖6 應(yīng)用層設(shè)計流程圖Fig.6 Flowchart of the application layer design
本文設(shè)計了基于物聯(lián)網(wǎng)技術(shù)的智能嬰兒搖籃系統(tǒng),通過阿里云物聯(lián)網(wǎng)平臺以及ESP32 模組實現(xiàn)微信小程序端與硬件端的數(shù)據(jù)交互。系統(tǒng)能夠?qū)崿F(xiàn)通過加熱將奶瓶保持在最佳溫度;通過調(diào)整電熱毯溫度和濕度將嬰兒搖籃的環(huán)境溫濕度維持到最佳狀態(tài);實時監(jiān)測嬰兒的奶瓶溫度、安全情況、體溫狀況、以及尿不濕狀態(tài)。減少新生兒父母在照顧嬰兒時的精力和時間消耗,使嬰兒搖籃更加智能。該系統(tǒng)在推進(jìn)嬰兒搖籃智能化方面具有一定的借鑒意義。