葉碧慧,王宇鑫,武永華
(福建江夏學(xué)院 電子信息科學(xué)學(xué)院,福建福州,350108)
隨著生活水平的逐漸提升,人們越來越關(guān)注下一代的成長,尤其是新生兒的成長。對于新生兒來說,其免疫系統(tǒng)不夠強(qiáng)大,對細(xì)菌的抵抗能力有限,因此要保證所用的奶瓶潔凈無菌[1]。對于傳統(tǒng)的奶瓶消毒裝置來說,其主要工作原理是利用水的高溫對奶瓶殺菌消毒[2]。隨著科技的發(fā)展以及嬰兒產(chǎn)業(yè)的逐漸成熟,對于奶瓶的消毒的方式也不再局限于傳統(tǒng)的高溫消毒,還出現(xiàn)了蒸汽鍋消毒法、微波爐消毒法、化學(xué)消毒劑浸泡法、紫外線消毒法等消毒方式[3]。并基于這些方式,誕生了各式各樣的奶瓶消毒裝置。除了奶瓶的消毒問題,用奶是否均衡也是嬰兒成長過程中面臨的一大難題。不同時期的嬰兒來說,其用奶的標(biāo)準(zhǔn)是不同的。定期判斷嬰兒最近的用奶時間和用奶量是否均衡,以便及時做出調(diào)整。目前,市面上出現(xiàn)的奶瓶消毒裝置大多只具有消毒功能,并不具備統(tǒng)計奶水的攝入時間和攝入量的功能。
由于傳統(tǒng)的奶瓶消毒裝置來說,其裝置功能單一,只具有傳統(tǒng)的消毒功能,不能滿足用戶更多的要求。本文設(shè)計的這種多功能奶瓶稱重消毒裝置,利用的是紫外線消毒的方法,通過一定波長的紫外線對奶瓶照射,以此破壞奶瓶上殘留細(xì)菌的分子結(jié)構(gòu),從而起到殺菌消毒的作用[4]。這種奶瓶消毒方式不僅克服了傳統(tǒng)奶瓶消毒方式的不足,而且滅殺細(xì)菌的效率更高。同時,該裝置在傳統(tǒng)的奶瓶消毒裝置的基礎(chǔ)上,加入了稱重功能與物聯(lián)網(wǎng)功能。不僅克服了傳統(tǒng)奶瓶消毒裝置功能單一的特點,而且能夠統(tǒng)計每次嬰兒用奶量和用奶時間,并且能夠?qū)⒚看斡媚塘康臄?shù)據(jù)上傳至服務(wù)器,方便用戶在微信小程序上實時查看,有利于用戶判斷近期嬰兒的用奶是否均衡,方便及時做出調(diào)整。此外,該裝置還加入了語音提示功能和HMI電容串口觸摸屏顯示觸控功能[5],極大提高用戶的人機(jī)交互體驗。
該多功能奶瓶稱重消毒裝置的設(shè)計主要由單片機(jī)STM32F103控制電路[6]、UVC3535深紫外線LED燈珠殺菌消毒電路[7]、JQ8900-16P語音模塊、ATK-ESP8266無線Wi-Fi模塊[8]、HX711稱重模塊[9]、壓力傳感器、HMI電容串口觸摸屏、云服務(wù)器、微信小程序等部分組成。
本裝置系統(tǒng)是以HMI電容串口觸摸屏作為顯示控制器,用戶可通過對HMI電容串口觸摸屏顯示界面觸控以實現(xiàn)對整個系統(tǒng)的控制;該裝置以單片機(jī)STM32F103C8T6芯片作為中央處理器,使其控制與其相連的消毒子系統(tǒng)、稱重子系統(tǒng)、語音提示子系統(tǒng)以及無線通信子系統(tǒng)。顯示控制器與中央處理器之間的通信靠USART串口完成,單片機(jī)通過接收由HMI電容串口觸摸屏傳來的指令控制各個子系統(tǒng),并將各個子系統(tǒng)返回的數(shù)據(jù)通過單片機(jī)發(fā)送至HMI電容串口觸摸屏顯示。消毒子系統(tǒng)由一個繼電器模塊和8個UVC3535深紫外線LED燈珠構(gòu)成;稱重子系統(tǒng)由HX711模塊與5kg壓力傳感器組成;語音提示子系統(tǒng)由JQ8900-16P語音模塊與揚(yáng)聲器組成;無線通信子系統(tǒng)由ATK-ESP8266模塊構(gòu)成,完成與云服務(wù)器的通信。本裝置硬件設(shè)計框圖如下圖1所示,主要實現(xiàn)以下功能:
圖1 裝置硬件設(shè)計方案
(1)利用HX711模塊與壓力傳感器實現(xiàn)對每次用奶量的測量;
(2)利用單片機(jī)內(nèi)部定時器控制紫外線消毒電路對奶瓶進(jìn)行定時殺菌消毒;
(3)利用HMI串口屏顯示測量數(shù)據(jù)以及通過觸控完成對整個系統(tǒng)的控制;
(4)利用JQ8900-16P語音模塊與揚(yáng)聲器實現(xiàn)語音提示播報;
(5)利用ATK-ESP8266無線Wi-Fi模塊將數(shù)據(jù)上傳至服務(wù)器;
(6)利用客戶端的微信小程序獲取云服務(wù)器端的數(shù)據(jù)并向用戶實時展示。
本裝置的軟件主要由三部分構(gòu)成,第一部分為裝置設(shè)備端軟件設(shè)計,主要完成對裝置硬件各子系統(tǒng)的控制作用,按其設(shè)備端硬件系統(tǒng)的各個子系統(tǒng)可以分為初始化配置子程序、顯示控制器子程序、消毒子程序、稱重子程序、無線通信子程序五個部分;第二部分為云服務(wù)器端軟件設(shè)計,云服務(wù)器上搭建了Nginx服務(wù)器作為Web服務(wù)器[10],主要完成對設(shè)備端上傳的數(shù)據(jù)進(jìn)行存儲、讀取等操作,該部分軟件設(shè)計又可以分為TCP服務(wù)程序、數(shù)據(jù)庫操作程序以及HTTP服務(wù)程序三個部分;第三部分為客戶端軟件設(shè)計,主要完成對云服務(wù)器的數(shù)據(jù)庫中存儲的數(shù)據(jù)進(jìn)行讀取、清空操作,客戶端采用的是微信小程序平臺,故該部分的軟件設(shè)計可以分為微信小程序的頁面設(shè)計以及微信小程序后臺程序設(shè)計兩大部分。裝置軟件設(shè)計框圖如下圖2所示。
圖2 裝置軟件設(shè)計框圖
本設(shè)計采用的是單片機(jī)STM32F103C8T6芯片作為系統(tǒng)的中央處理器。該芯片含有三個USART接口,三個接口分別與HMI電容串口觸摸屏、ATK-ESP8266無線Wi-Fi模塊以及JQ8900-16P語音模塊相連。通過HX711模塊的PD_SCK與DOUT管腳與單片機(jī)PB.0與PB.1相連,實現(xiàn)HX711模塊與中央處理器的通訊。此外,單片機(jī)STM32F103C8T6芯片的PB.5口與繼電器模組的信號觸發(fā)端相連,控制繼電器模組的觸發(fā)狀態(tài),從而實現(xiàn)對UVC3535深紫外線LED燈珠電路的控制。裝置硬件電路原理圖如圖3所示。
圖3 裝置硬件電路原理圖
該子系統(tǒng)由HX711模塊與5kg壓力傳感器組成,實現(xiàn)用奶量稱重功能。HX711電路圖如圖4所示。
圖4 HX711電路圖
本系統(tǒng)的5kg壓力傳感器供電電壓由HX711部分電路提供,由該電路可得供電電壓的計算公式如(1):
HX711模塊中的基準(zhǔn)電壓VBG的值為1.25V,R1為20KΩ,R2為8.2KΩ,帶入可計算出供電電壓為4.3V,從而可得滿量程的輸出電壓為4.3mV。該子系統(tǒng)使用的AD轉(zhuǎn)換器HX711芯片A通道可進(jìn)行128倍的信號增益,當(dāng)放上5kg物體就會產(chǎn)生4.3mV的電壓,4.3mV的電壓經(jīng)由HX711模塊A通道放大128倍,然后處理為24位的轉(zhuǎn)換數(shù)據(jù),最后由單片機(jī)STM32F103C8T6芯片按一定時鐘序列讀取轉(zhuǎn)換。
裝置接通電源后,首先會對各個子系統(tǒng)與單片機(jī)連接的模塊、USART串口、輸出的外設(shè)端口、通用定時器等進(jìn)行初始化配置。初始化配置完成后,程序?qū)⑦M(jìn)入主循環(huán),等待接收顯示控制器向USART串口一發(fā)送的操作指令。根據(jù)接收到的顯示控制器指令,單片機(jī)會調(diào)用相應(yīng)子系統(tǒng)的程序控制子系統(tǒng)執(zhí)行相應(yīng)操作。裝置設(shè)備端主程序流程圖如圖5所示。
圖5 裝置設(shè)備端主程序流程圖
本裝置所用的ATK-ESP8266模塊是用AT指令進(jìn)行操作,單片機(jī)通過USART串口二向ATK-ESP8266模塊發(fā)送AT指令實現(xiàn)上傳數(shù)據(jù)功能。由于本設(shè)計只向云服務(wù)器上傳每次稱重數(shù)據(jù),故每次上傳數(shù)據(jù)的過程只通過USART串口二向ATKESP8266模塊發(fā)送3條AT指令,發(fā)送的AT指令及功能如表1所示。
表1 上傳數(shù)據(jù)發(fā)送的AT指令及功能
該裝置在云服務(wù)器上搭建了Nginx服務(wù)器作為Web服務(wù)器。在Web服務(wù)器上搭建了TCP軟件服務(wù)器、HTTP軟件服務(wù)器以及Redis數(shù)據(jù)庫[11]。云服務(wù)器端通信軟件設(shè)計如圖6所示。
圖6 云服務(wù)器端通信軟件設(shè)計
本設(shè)計使用Redis數(shù)據(jù)庫作為存放稱重數(shù)據(jù)和上傳時間數(shù)據(jù)的存儲空間。設(shè)備端通過ATK-ESP8266模塊與云服務(wù)器端的TCP軟件服務(wù)器建立TCP通信,TCP軟件服務(wù)器用于接收設(shè)備端上傳的稱重數(shù)據(jù),并將上傳的數(shù)據(jù)存儲于Redis數(shù)據(jù)庫中。云服務(wù)器端的HTTP軟件服務(wù)器與客戶端之間由HTTP通信,客戶端通過HTTP軟件服務(wù)器讀取Redis數(shù)據(jù)庫中存儲的稱重數(shù)據(jù)和時間數(shù)據(jù),并通過發(fā)送操作指令實現(xiàn)清空已存儲數(shù)據(jù)的操作。
該裝置的客戶端展示是基于微信公眾平臺,利用微信小程序作為前端展示界面。該系統(tǒng)通過微信開發(fā)者工具軟件完成小程序的開發(fā),能夠簡單實現(xiàn)獲取云服務(wù)端數(shù)據(jù)庫的數(shù)據(jù)和清除所有云服務(wù)端數(shù)據(jù)庫數(shù)據(jù)的功能。微信小程序軟件架構(gòu)圖如圖7所示。
微信小程序的軟件架構(gòu)主要由view模塊與service模塊構(gòu)成,view模塊負(fù)責(zé)前臺展示,service模塊負(fù)責(zé)后臺邏輯,兩個模塊之間通過JSBridage通信[18]。view模塊相當(dāng)于前臺頁面,當(dāng)用戶在頁面上進(jìn)行操作時,view模塊會通知service模塊,通過service模塊進(jìn)行分析處理,service模塊可向云服務(wù)端HTTP軟件服務(wù)器接口發(fā)送數(shù)據(jù)請求,并把接收的數(shù)據(jù)發(fā)送至view模塊更新顯示。
裝置的測試主要是測試5kg壓力傳感器和HX711模塊組成的稱重子系統(tǒng)測量的精度,該部分測試?yán)庙来a輔助完成。采用一組砝碼作為重量基準(zhǔn),分別測量放入不同砝碼時,稱重子系統(tǒng)所得到的重量,然后計算測量的重量與實際重量的相對誤差,就能判斷該稱重子系統(tǒng)的精度。測量砝碼重量與實際砝碼重量以及兩者相對誤差如表2所示。
表2 測量砝碼重量與實際砝碼重量以及兩者相對誤差
在該部分的測試過程中,放置砝碼重量與測量的相對誤差最大為0.2%,經(jīng)過調(diào)試可以發(fā)現(xiàn)主要有兩個原因,一是當(dāng)電源接線發(fā)生抖動時,輸入的電源電壓會產(chǎn)生波動,且原本的輸入電源電壓本身不穩(wěn)定;二是HX711模塊的PD_SCK和DOUT引線移動或者稱重裝置處于非水平狀態(tài)。
該部分的測試主要是測試消毒子系統(tǒng)是否能夠正常運(yùn)行。正常工作狀態(tài)下的UVC3535深紫外線LED燈珠的工作電壓為6.0V-6.5V,工作電流為40mA。在該部分的測試過程中,可以觀察到當(dāng)開啟消毒功能時,繼電器模組觸發(fā)指示燈(綠燈)與UVC3535深紫外線LED燈珠皆正常亮起。通過萬用表對正常消毒狀態(tài)下的UVC3535深紫外線LED燈珠兩端電壓和電流進(jìn)行測量,測量得出燈珠的電壓為6.01V、電流41mA,由此得出UVC3535深紫外線LED燈珠能夠正常工作。而且,通過手機(jī)秒表對消毒時間進(jìn)行測量后,對比可以發(fā)現(xiàn)實際消毒時長與定時時長基本一致,滿足設(shè)計要求。
該部分的測試主要是測試設(shè)備端獲得的稱重數(shù)據(jù)是否能夠發(fā)送至云服務(wù)器、客戶端微信小程序能否獲取云服務(wù)器端Redis數(shù)據(jù)庫中的存儲數(shù)據(jù)并正常在主頁面顯示以及微信小程序能否實現(xiàn)清空云服務(wù)器端Redis數(shù)據(jù)庫中存儲數(shù)據(jù)的操作。在該部分的測試過程中,設(shè)備端通過對奶瓶測量稱重數(shù)據(jù),獲取用奶量的稱重數(shù)據(jù)為930g。然后在顯示控制器HMI電容串口觸摸屏上點擊上傳按鈕,將本次測量的用奶量稱重數(shù)據(jù)通過ATK-ESP8266無線Wi-Fi模塊上傳至云服務(wù)器端。最后,通過智能手機(jī)上的微信小程序可以觀察到,設(shè)備端獲取的用奶量稱重數(shù)據(jù)和稱重的時間能夠在微信小程序的主頁面上正常展示。點擊清除后臺數(shù)據(jù)按鈕之后,可以觀察到之前顯示的數(shù)據(jù)被全部清除,這表明云服務(wù)端的Redis數(shù)據(jù)庫中存儲數(shù)據(jù)已被清結(jié)論。
傳統(tǒng)的奶瓶消毒裝置功能單一,只具有傳統(tǒng)的消毒功能,不能滿足用戶更多的要求。為了克服傳統(tǒng)奶瓶消毒裝置的不足,本文設(shè)計了一種多功能奶瓶稱重消毒裝置。該裝置實現(xiàn)如下功能:對每次用奶量的測量功能、奶瓶使用后的消毒功能、實現(xiàn)將測量數(shù)據(jù)在設(shè)備端顯示功能、實現(xiàn)用戶操作完成后的語音提示播報功能、實現(xiàn)將測量數(shù)據(jù)上傳至云服務(wù)器端功能、實現(xiàn)客戶端的微信小程序?qū)ι蟼鞯臏y量數(shù)據(jù)實時讀取功能。經(jīng)過測試,該裝置基本實現(xiàn)以上功能,且具有良好的系統(tǒng)穩(wěn)定性與正確性。