盧詩瑤,蔡士東,龍新宇,安華凱,郭一凡
(大連民族大學 信息與通信工程學院,遼寧 大連 116605)
智能家居概念起源于20 世紀80 年代初的美國,稱之為Smart Home,其間經歷了4 代的發展。第一代是通過同軸線及兩芯線完成家庭組網,進而實現燈光、窗簾及少量的安防控制等;第二代是通過總線及IP 技術組網,能夠完成可視對講及安防的業務;第三代是集中化的智能控制系統,由中控機完成安防、計量等方面的功能;第四代則基于物聯網技術,可根據用戶需求實現個性化的功能。近年來,物聯網已經成為全球關注的熱點領域,并已公認成為是繼互聯網之后最重大的科技創新。本文的智能嬰兒搖籃系統也就是基于物聯網技術設計開發實現的。
目前,基于物聯網技術的智能產品已在國內外展開大范圍研究,人們開始嘗試將物聯網技術與生活、工作的方方面面融合在一起,打造一個智能世界。而在智能嬰兒搖籃這一領域雖然也有不少研究,但軟件端大多使用需要下載的APP,并無基于微信小程序的智能嬰兒系統的設計研究,故本文設計了使用微信小程序作為軟件端的智能嬰兒搖籃系統。同時,目前,市場上還沒有見到為減少新生兒父母育兒精力付出的智能嬰兒搖籃。針對于此,本文設計了智能嬰兒搖籃系統,用來監測嬰兒的各項生命特征,并在環境變化對嬰兒產生影響時做出具體應對措施,同時還具有嬰兒防偷功能??紤]到目前市場的智能家居系統都需要下載生產方指定的APP 進行控制和操作,本系統的使用卻無需下載、打開即用的微信小程序作為應用層,增加了用戶應用的簡便性。
本文設計的智能嬰兒搖籃系統,將基于消息隊列遙測傳輸(Message Queuing Telemert Transport,MQTT)通訊協議接入阿里云物聯網平臺,實現系統整體通信。按物聯網體系結構,分為應用層、平臺層、感知網絡層以及物理層。其中,應用層利用小程序提供的框架、API 及云數據庫實現其應用功能;平臺層使用阿里云物聯網平臺接收與轉發數據;網絡層和感知層通過主控芯片、Wi-Fi 模塊以及傳感器模塊完成數據采集和傳輸;物理層使用加熱模塊、加濕模塊以及報警模塊完成應用層指令。各層之間采用MQTT 協議進行通信,系統總體架構如圖1 所示。

圖1 智能嬰兒搖籃系統總體架構Fig.1 Overall architecture of the intelligent baby cradle system
在本系統中,MQTT 是最主要的通訊協議,這是一種輕量級基于代理的發布/訂閱的消息傳輸協議。其設計思想簡單、輕量、易于實現,適合在帶寬、計算機和處理能力受限的環境下工作。MQTT 技術支持所有平臺,幾乎可以把所有聯網設備與外部連接起來,被用作傳感器和驅動器的通信協議,已成為物聯網協議的重要部分。
基于TCP/IP 提供網絡通信的MQTT 通訊協議和HTTP 協議一樣,都屬于發布/訂閱消息模式,即發布者與訂閱者不直接通過MQTT 協議交互數據。MQTT 協議支持根據QoS 的標識定義發布服務的質量。
在智能嬰兒系統中,網絡層與阿里云物聯網平臺的關系是網絡層作為消息訂閱者,阿里云物聯網平臺作為消息發布者;而在阿里云物聯網平臺與應用層的關系中,阿里云物聯網平臺作為消息訂閱者,應用層則作為消息發布者。以網絡層與阿里云物聯網平臺的數據交互為例,網絡層與阿里云物聯網平臺的服務器建立TCP 連接,并向服務器發送CONNECT 消息;客戶端在接收到服務器授權允許的CONNACK 確認消息后,發送SUBSCRIBE 消息,指定感興趣的Topic 主題列表(一個或多個主題),即發送訂閱請求;訂閱成功后,阿里云物聯網平臺作為發布者向網絡層發送訂閱主題消息,當服務器接收到阿里云物聯網平臺的PUBLISH 消息后,將PUBLISH 消息發送給所有訂閱此主題的訂閱者。應用層與阿里云物聯網平臺的數據交互亦是該訂閱發布流程。在本系統中,該訂閱主題消息為應用層作為消息發布者發布的消息主題。
ESP32 系列模組是深圳市安信可科技有限公司開發的一系列基于樂鑫ESP32 的低功耗UARTWiFi 芯片模組,可以方便地進行二次開發,接入云端服務,實現手機3/4G 全球隨時隨地的控制,支持標準的IEEE802.11 b/g/n 協議及完整的TCP/IP 協議棧,用戶可以使用該模塊為現有的設備添加聯網功能。網絡層的功能是通過ESP32 芯片實現的,不僅可以通過SPI/SDIO 或IC/UART 接口提供Wi-Fi和藍牙功能,而且可以作為獨立系統運行程序,擁有強大的處理性能和可靠的安全性能。因此,本文方案采用ESP32 芯片作為本系統的主控芯片。
該方案設計借助Arduino 開源電子原型平臺,在 Arduino 庫商店中下載“WIFI”庫和“PubSubClient”庫,使用()函數將數據上傳到阿里云物聯網平臺,使用()函數接收下行消息。將程序燒錄到ESP32 模組,模組上電后,根據燒錄的WiFi 信息連接WiFi,并將通過MQTT 協議與阿里云物聯網平臺建立長連接,實現數據交互。同時通過主控芯片的串口與物理層進行數據交互。網絡層設計框架如圖2 所示。

圖2 網絡層設計框架Fig.2 The design framework of network layer
物理層主要實現暖奶、報警、加熱和加濕功能,由ESP32 控制PTC 加熱片、蜂鳴器、電熱毯以及加濕霧化模塊實現;感知層主要通過主控芯片讀取采集到的嬰兒搖籃的相關數據,其中包括:奶瓶溫度、嬰兒體溫、環境溫濕度、是否尿床,以及嬰兒是否被抱起等數據。ESP32 芯片通過MQTT 協議接入阿里云物聯網平臺,通過Wi-Fi 接收到從阿里云物聯網平臺轉發的指令后,根據指令啟動相對應的模塊。通過控制電熱毯和加濕霧化模塊,使嬰兒搖籃環境溫度和濕度達到舒適的溫濕度;通過PTC 加熱片加熱奶瓶,使奶瓶保持最佳溫度;當微信小程序端將嬰兒搖籃設置成警戒模式時,若嬰兒被抱起,系統將會啟動蜂鳴器進行報警,由此實現物理層的預設功能。同時,ESP32 通過串口與傳感器進行通信,將收到的環境溫濕度數據、尿濕數據、嬰兒體溫數據和重力傳感數據通過Wi-Fi傳輸到阿里云物聯網平臺,由此實現感知層功能。物理層和感知層框架設計如圖3 所示。

圖3 物理層和感知層框架設計Fig.3 The design framework of physical and sensing layer
平臺層的主要作用,是將應用層和感知物理層的數據接收并轉發給物理層和應用層。應用層主要實現將感知網絡層采集到的奶瓶溫度、嬰兒體溫、環境溫濕度、是否尿床以及嬰兒是否被抱起等數據,以簡潔明了的方式呈現給用戶;將用戶的指令傳送給平臺層,再由平臺層轉發給物理層,實現解除嬰兒搖籃警戒模式、調整嬰兒搖籃環境的溫濕度以及加熱奶瓶功能。應用層界面設計如圖4 所示。

圖4 應用層微信小程序界面設計Fig.4 Design of application layer of WeChat mini program interface
應用層的微信小程序端使用微信公眾平臺提供的微信開發者工具進行開發,通過MQTT 協議和產品三元組信息與阿里云物聯網平臺進行連接,使用()函數給Topic 發送指令,使用()函數接收Topic 發布的數據,將數據發送到阿里云物聯網平臺;同時阿里云物聯網平臺通過MQTT 協議,使用發送數據到網絡層。由此實現應用層和感知網絡層、物理層的數據交互。
平臺層與應用層的設計框架如圖5 所示,應用層設計的流程如圖6 所示。

圖5 平臺層與應用層框架設計Fig.5 The design framework of platform layer and application layer

圖6 應用層設計流程圖Fig.6 Flowchart of the application layer design
本文設計了基于物聯網技術的智能嬰兒搖籃系統,通過阿里云物聯網平臺以及ESP32 模組實現微信小程序端與硬件端的數據交互。系統能夠實現通過加熱將奶瓶保持在最佳溫度;通過調整電熱毯溫度和濕度將嬰兒搖籃的環境溫濕度維持到最佳狀態;實時監測嬰兒的奶瓶溫度、安全情況、體溫狀況、以及尿不濕狀態。減少新生兒父母在照顧嬰兒時的精力和時間消耗,使嬰兒搖籃更加智能。該系統在推進嬰兒搖籃智能化方面具有一定的借鑒意義。