李明歡,彭 劍,譚健楓,陳永楷,張曉娜,唐 瑾
(韶關(guān)學(xué)院 信息工程學(xué)院,廣東 韶關(guān) 512005)
隨著5G技術(shù)的不斷成熟,物聯(lián)網(wǎng)技術(shù)的應(yīng)用不斷走進千家萬戶。然而,在嬰兒車的智能化方面,通過市場調(diào)查發(fā)現(xiàn),沒有成型的智能嬰兒車商品,人們使用傳統(tǒng)嬰兒車仍存在各種不便。因此,本文順應(yīng)物聯(lián)網(wǎng)技術(shù)的發(fā)展和國家新出臺的“三孩”政策,設(shè)計出一款功能實用、具有創(chuàng)新性、能夠提高人們生活效率的智能嬰兒車。
本系統(tǒng)的總體設(shè)計分為硬件系統(tǒng)、軟件終端系統(tǒng)以及OneNET云平臺三部分,如圖1所示。硬件系統(tǒng)的具體形式是各類傳感器和電子設(shè)備,軟件終端系統(tǒng)則是手機APP與微信小程序。在實現(xiàn)嬰兒車智能化的過程中,軟件終端系統(tǒng)充當(dāng)著系統(tǒng)的“大腦”,智能控制嬰兒車;硬件系統(tǒng)則充當(dāng)著系統(tǒng)的“手腳”,對嬰兒車周邊環(huán)境的數(shù)據(jù)進行采集以及響應(yīng)終端的命令;OneNET云平臺則具有數(shù)據(jù)和命令中轉(zhuǎn)的功能。三個部分相互聯(lián)系,將數(shù)據(jù)和命令有組織性、有規(guī)劃性地進行傳輸和控制。在此基礎(chǔ)上,設(shè)計出嬰兒車的智能化功能模塊,全方位實現(xiàn)嬰兒車智能化。
圖1 系統(tǒng)總體設(shè)計結(jié)構(gòu)
如圖2所示,本系統(tǒng)的硬件設(shè)計是基于ARM體系架構(gòu)的Cortex-M4內(nèi)核STM32F407微控制器,該控制器擁有主頻168 MHz的處理速度和多種外設(shè)接口,可以用來驅(qū)動各種傳感器模塊。本設(shè)計采用了超聲波傳感器、溫濕度傳感器、壓力傳感器、聲音傳感器、語音識別模塊、攝像頭等傳感器模塊實現(xiàn)嬰兒車環(huán)境信息的獲取,同時應(yīng)用了嵌入式微控制、GPS定位、自動跟隨、GSM全球通信等技術(shù)來全面控制LED燈、小風(fēng)扇、供暖設(shè)備、語音播放模塊、音樂播放器等相關(guān)設(shè)備。在此系統(tǒng)中,可視化模塊設(shè)計成硬件系統(tǒng)的終端,STM32F4微控制器作為硬件系統(tǒng)的邏輯控制部分,而其他硬件模塊則作為硬件系統(tǒng)的功能子模塊,可視化終端以人機交互的方式控制相應(yīng)的功能子模塊。
圖2 硬件設(shè)計結(jié)構(gòu)
夜晚照明模塊主要采用了光敏傳感器對嬰兒車周邊環(huán)境的光強度進行檢測。當(dāng)檢測環(huán)境光線過暗時,微控制器自動打開LED小燈照明;環(huán)境光線適宜時,自動關(guān)閉小燈。夜晚照明功能代碼如下:
智能調(diào)溫模塊采用了DHT11溫濕度傳感器、小風(fēng)扇、供暖設(shè)備。系統(tǒng)預(yù)先設(shè)定一個適合嬰兒健康的溫度閾值區(qū)間,通過溫濕度傳感器獲取環(huán)境溫度。當(dāng)溫度超過這個閾值區(qū)間的最大值時,微控制器自動打開小風(fēng)扇進行降溫;低于區(qū)間的最小值時,自動打開供暖設(shè)備進行升溫。這兩種處理的目的是讓嬰兒車的溫度最終達到預(yù)先設(shè)定區(qū)間的中間值,此時微控制器則自動關(guān)閉小風(fēng)扇和供暖設(shè)備。
智能哄睡及啟蒙播音模塊主要由電機、MP3模塊和聲音傳感器構(gòu)成,如圖3所示。聲音傳感器對噪聲靈敏度較高,可以很靈敏地檢測到嬰兒的哭鬧聲。為了避免干擾,考慮到嬰兒的哭鬧聲一般是持續(xù)性的,系統(tǒng)先設(shè)定一個變量來存儲嬰兒哭鬧聲的時間,用來判斷嬰兒是否真實哭鬧。當(dāng)哭鬧的時間值超過了設(shè)定值,微控制器控制MP3模塊自動播放娛樂音頻,同時啟動電機使車身輕輕搖晃,緩解嬰兒哭鬧的情緒。嬰兒需要啟蒙時,用戶可提前給存儲器存取相關(guān)的文件,通過終端控制MP3模塊打開啟蒙音樂、詩詞以及成語等啟蒙播音功能。
圖3 智能哄睡及啟蒙播音模塊設(shè)計
智能測重模塊采用了壓力傳感器對嬰兒體重進行測量,使用HX711模塊將體重A/D轉(zhuǎn)換成數(shù)值,將該數(shù)值傳輸?shù)轿⒖刂破?,進而傳送到終端,以可視化的方式展現(xiàn)給用戶。用戶可通過終端下傳指令,獲取嬰兒的體重信息。此模塊還可檢測嬰兒是否在嬰兒車里面,判斷嬰兒是否被抱走等情況。
遇障提醒模塊由超聲波測距和蜂鳴器報警兩部分構(gòu)成。測距時,微控制器先發(fā)送一個大于10 μs的高電平信號來驅(qū)動超聲波模塊,之后超聲波模塊自動發(fā)送40 kHz的方波并檢測是否有信號返回,如果有信號返回,Echo引腳發(fā)送一個高電平給微控制器。高電平持續(xù)的時間是超聲波從發(fā)射到返回的時間,通過該時間可計算出嬰兒車與障礙物的距離。在此之前,系統(tǒng)先設(shè)計合適的距離閾值,當(dāng)嬰兒車接近障礙物的距離小于這個閾值時,微控制器則自動打開蜂鳴器報警,提醒用戶周圍有障礙物,注意危險。遇障提醒功能代碼如下:
上坡助力和下坡減速模塊主要由MPU6050三維角度傳感器模塊和電機組成,如圖4所示。在嬰兒車底部安裝電機輪子,通過輪子的正反轉(zhuǎn)實現(xiàn)上坡助力和下坡減速功能。在此模塊中,MPU6050內(nèi)部整合了3軸陀螺儀和3軸加速度傳感器,并且含有一個第二IC接口,可用于連接外部磁力傳感器;并利用自帶的DMP數(shù)字運動處理器硬件加速引擎,通過主IC接口,向應(yīng)用端輸出完整的9軸融合演算數(shù)據(jù)。有了DMP后,通過使用InvenSense公司提供的運動處理資料庫,實現(xiàn)姿態(tài)解算,從而計算出嬰兒車與平面的角度。上坡時,當(dāng)嬰兒車與平面的角度超過系統(tǒng)設(shè)定的閾值,微控制器則控制電機正轉(zhuǎn),實現(xiàn)上坡助力,節(jié)省人力;下坡時,微控制器控制電機反轉(zhuǎn),實現(xiàn)下坡減速,防止嬰兒車溜車過快造成危險。
圖4 上坡助力和下坡減速模塊設(shè)計
攝像頭監(jiān)控和拍照模塊采用了OV5640攝像頭模塊,支持輸出最大值為500萬像素的圖像,支持使用VGA時序輸出圖像數(shù)據(jù),輸出圖像的數(shù)據(jù)格式支持YUV(422/420)、YCbCr422、RGB565以及JPEG格式,若直接輸出JPEG格式的圖像時可大大減少數(shù)據(jù)量,方便網(wǎng)絡(luò)傳輸。在此設(shè)計中,攝像頭作為圖像采集器,實時采集嬰兒的畫面數(shù)據(jù),系統(tǒng)將采集到的數(shù)據(jù)通過微控制器上傳到終端顯示。終端可下發(fā)指令控制OV5640攝像頭,完成對嬰兒進行拍照和有關(guān)畫面的監(jiān)控。
指紋安全認證的模塊主要采用了AS608指紋識別模塊和電磁鎖模塊。AS608指紋模塊有豐富的系統(tǒng)資源,可以儲存、比對用戶的指紋信息。此模塊的設(shè)計思路:首先在系統(tǒng)錄入監(jiān)護人的指紋信息,當(dāng)需要鎖定嬰兒車時,用戶可通過終端鎖定,除開鎖外的其余功能無法使用,同時微控制器控制電磁鎖鎖住車罩。解鎖時,系統(tǒng)需要監(jiān)護人的指紋認證信息,指紋通過認證方可解鎖,否則不解鎖,解鎖失敗超過3次則遠程通知監(jiān)護人嬰兒車周圍可能存在危險。指紋安全認證流程如圖5所示。
圖5 指紋安全認證流程
GPS定位模塊采用了ATK-S1216F8-BD GPS/北斗模塊,該模塊是一款高性能 GPS/北斗雙模定位模塊。ATKS1216F8-BD GPS/北斗模塊采用UART(串口)方式與外部設(shè)備通信,輸出的GPS/北斗定位數(shù)據(jù)采用NMEA-0183協(xié)議,控制協(xié)議為SkyTraq協(xié)議。定位模塊將嬰兒車的位置信息發(fā)送到終端,用戶可實時了解嬰兒車的地圖位置,保障嬰兒的安全和防止嬰兒車被盜。ATK-S1216F8-BD GPS/北斗模塊接線圖如圖6所示。
圖6 ATK-S1216F8-BD GPS/北斗模塊接線圖
智慧通知突發(fā)狀況模塊主要采用GSM SIM800A無線通信模塊。SIM800A是SIMCOM公司的模組方案,可通過串口傳輸標準的AT命令對模塊進行控制,可以提供語音通話、短信廣播/彩信、GPRS數(shù)據(jù)通信等多種功能,同時支持HTTP、TCP/IP等多種協(xié)議。當(dāng)出現(xiàn)嬰兒尿床、嬰兒車被盜現(xiàn)象或超出監(jiān)管范圍等突發(fā)狀況時,微控制器則控制SIM800A模塊及時自動發(fā)送信息提醒監(jiān)護人,幫助監(jiān)護人實時了解嬰兒的情況和保證嬰兒的安全。
可視化人機交互模塊主要借助STEMWIN庫和TFTLCD液晶屏來實現(xiàn)。TFTLCD液晶顯示屏用于顯示功能界面,同時利用電容觸摸屏給監(jiān)護人提供控制嬰兒車的相關(guān)子功能。設(shè)計流程為:首先,初始化TFTLCD液晶顯示界面,通過位圖顯示界面的背景以及各個功能圖標;然后,創(chuàng)建父窗口以及子窗口,父窗口主要是顯示背景圖和功能圖標以及接收點擊圖標的位置信息,而子窗口設(shè)有開關(guān)兩個按鈕,用戶點擊觸摸屏,觸摸屏將點擊位置傳送到父窗口,父窗口接收到信息后便進入子窗口,按下開關(guān)按鈕,子窗口接收信息并控制嬰兒車的相關(guān)開啟或關(guān)閉子功能,同時子窗口設(shè)有退出功能,方便用戶同時控制多個子功能的開關(guān)。人機交互設(shè)計流程如圖7所示。
圖7 人機交互設(shè)計流程
嬰兒車智慧跟隨模塊主要由舵機和攝像頭構(gòu)成。系統(tǒng)通過攝像頭將指定監(jiān)護人的圖像信息錄入OpenMV模塊的內(nèi)置FLASH中。功能開啟后,系統(tǒng)采用了視覺測距原理會自動測出監(jiān)護人相對于攝像頭的距離,當(dāng)距離超過預(yù)先設(shè)定的閾值時,微控制器則會控制安裝在車輪的舵機帶動車輪轉(zhuǎn)動,實現(xiàn)嬰兒車跟隨監(jiān)護人前行的功能,小于閾值時舵機自動停止,嬰兒車停止前行。
嬰兒車智慧應(yīng)答模塊主要由語音識別模塊、語音播報模塊構(gòu)成。實現(xiàn)功能前,先將系統(tǒng)需要應(yīng)答的話語用語音合成技術(shù)軟件合成音頻文件,系統(tǒng)提前設(shè)計好驅(qū)動各個功能的相關(guān)指令。此功能模塊中,語音識別模塊獲取監(jiān)護人的聲音,識別聲音是否為系統(tǒng)的指令,如果是系統(tǒng)的指令,系統(tǒng)則會控制相關(guān)功能的開啟,同時播放相應(yīng)的音頻文件作為應(yīng)答信號,如不是系統(tǒng)的指令則不執(zhí)行任何功能,實現(xiàn)語音AI控制嬰兒車。
微信小程序具有開發(fā)成本低、用戶認同感好、留存率高的特點,加上框架和組件設(shè)計的相對完善,能夠?qū)崿F(xiàn)蘋果和安卓的跨平臺使用,因此作為智能嬰兒車的軟件終端特別合適。OneNET云平臺能夠與嬰兒車的ESP8266硬件模塊互相通信,微信小程序與OneNET相通后,便能控制嬰兒車了。小程序可通過MQTT協(xié)議訪問OneNET平臺并與之通信,接收向云平臺發(fā)送的硬件數(shù)據(jù)流和發(fā)送命令經(jīng)云平臺中轉(zhuǎn)進而控制硬件。微信小程序登錄界面如圖8所示。
圖8 微信小程序登錄界面
小程序需要特定的賬號和密碼才能登錄使用,登錄成功后顯示的是環(huán)境信息頁面,界面如圖9所示;同時可以跳轉(zhuǎn)到管理控制界面、寶寶信息界面。如圖10所示,管理頁面有控制嬰兒車LED燈、小風(fēng)扇、供暖設(shè)備、攝像頭等功能,每一個功能的開關(guān)都是單獨的數(shù)據(jù)來源,根據(jù)數(shù)據(jù)為“TRUE”還是“FALSE”來判斷打開或關(guān)閉,而每一個開關(guān)變量的值是全局變量,則可使每個頁面都可以調(diào)用該開關(guān)的值,再通過該值來判斷當(dāng)前顯示的狀態(tài),每一次跳轉(zhuǎn)頁面在頁面加載時重新賦值,從而使信息發(fā)生變化。后臺可通過管理控制的狀態(tài)來接收當(dāng)前狀態(tài)的信息并進行分析,提出最適合嬰兒當(dāng)前情況的建議,讓嬰兒環(huán)境更加舒適。
圖9 環(huán)境信息界面
圖10 管理控制界面
考慮到用戶使用軟件的多樣性,主流手機APP應(yīng)用的開發(fā)也應(yīng)當(dāng)考慮。手機APP開發(fā)的功能與微信小程序大體相同。在開發(fā)的功能界面中,可提供用戶登錄、管理嬰兒車的設(shè)備、遠程監(jiān)控嬰兒車等功能,手機APP通過OneNET云平臺中轉(zhuǎn)控制硬件模塊以及獲取硬件模塊采集的數(shù)據(jù)。具體設(shè)計步驟如下:(1)設(shè)計用戶登錄界面、管理設(shè)備、遠程監(jiān)控界面;(2)采用HTTP協(xié)議連接OneNET云平臺;(3)設(shè)計控制硬件的指令和獲取數(shù)據(jù)流的對象;(4)采用Get方法獲取硬件模塊向OneNET云平臺發(fā)送的數(shù)據(jù)流,利用Post方法發(fā)送指令,通過OneNET中轉(zhuǎn)傳到STM32F407微控制器控制硬件;(5)測試。
OneNET云平臺是中國移動打造的PaaS物聯(lián)網(wǎng)開放平臺。平臺能夠幫助開發(fā)者輕松實現(xiàn)設(shè)備接入與設(shè)備連接,快速完成產(chǎn)品開發(fā)部署,為智能硬件、智能家居產(chǎn)品提供完善的物聯(lián)網(wǎng)解決方案。對于智能嬰兒車云端管理設(shè)計,OneNET云平臺能夠很好地支持嬰兒車的云端開發(fā)。由于OneNET云平臺支持HTTP、EDP、TCP、MQTT等多種協(xié)議接入硬件設(shè)備,在嬰兒車的云端管控設(shè)計中微控制器則采用ESP8266模塊使用MQTT協(xié)議連接OneNET云平臺,在云平臺設(shè)計好功能界面后便可全面管控嬰兒車。功能界面具體設(shè)計步驟如下:(1)前往OneNET控制臺采用MQTT協(xié)議添加嬰兒車產(chǎn)品與設(shè)備;(2)硬件ESP8266模塊接入OneNET;(3)設(shè)計嬰兒車應(yīng)用管理界面;(4)測試硬件上傳的數(shù)據(jù)流和OneNET的下發(fā)命令。OneNET平臺硬件在線顯示、數(shù)據(jù)流、應(yīng)用管理界面分別如圖11、圖12、圖13所示。
圖11 OneNET硬件在線顯示界面
圖12 OneNET數(shù)據(jù)流
圖13 應(yīng)用管理界面
目前,嬰兒車主要是實現(xiàn)防震抖動、輕便可折疊、智能剎車等功能,并沒有將嬰兒車與物聯(lián)網(wǎng)技術(shù)真正地結(jié)合起來。此次設(shè)計致力于開發(fā)一款與現(xiàn)今先進技術(shù)相結(jié)合的智能嬰兒車,將傳統(tǒng)嬰兒車結(jié)合無線傳感網(wǎng)和計算機技術(shù),打造一款硬件終端、軟件終端、云端可全面管控的智能嬰兒車。