劉雯 薛斌喜 黃開元 李兆恩 牟翰林
摘 要:文中研究了一款基于nRF51-DK開發板的嬰兒助手,該嬰兒助手可以安裝在嬰兒車、嬰兒床等環境中,并可以利用開發板自帶的低功耗藍牙模塊與監護人手機通信。主要功能包括利用溫濕度傳感器實時監測嬰兒所處環境以及檢測嬰兒是否尿濕;利用壓力傳感器在嬰兒頻繁亂動時向監護人手機發送警報;利用麥克風模塊檢測嬰兒是否啼哭,并向監護人手機發送提示;同時可以通過手機控制小喇叭播放音樂緩解嬰兒啼哭。此系統具有成本低,適用性強等特點。最后,在處理采集到的數據方面,提出了一種基于平均差的統計方法,可以快速反應各個數據之間的差異程度,適用于單片機這種處理能力比較弱的系統。通過測試,發現該統計方法簡單、快捷、高效。
關鍵詞:nRF51;嬰兒看護;物聯網;藍牙;單片機;傳感器
中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2019)11-00-03
0 引 言
隨著國內二胎政策的放開,新生兒的數量將迎來大規模增長。嬰兒往往在家庭中處于重要地位[1],但由于年輕家長缺乏育兒經驗[2],且工作繁忙,無法實時陪在嬰兒身邊給予嬰兒及時的照顧[3]。即使年輕父母選擇聘請保姆,或邀請自己的父母照顧嬰兒,但家長仍有實時監測嬰兒狀態的需求[4]。
傳統嬰兒監測系統依賴于攝像頭的實時監控,此類監控設備鋪設成本高且存在視線盲區,傳輸數據量大,較大程度受制于家長和嬰兒所處的網絡環境。此外,實時監控占據了家長大量時間,且即使出現問題,家長也無法及時采取措施,適用性不佳[5]。
本文所設計的智能嬰兒助手具有以下特點。
(1)適用性好:該系統成本低、體積小、布設方便,可以安放在嬰兒常處的任何環境中。
(2)功能實用:該系統可以涵蓋照顧嬰兒所需的絕大多數功能,為年輕父母提供幫助。
1 系統總體結構
智能嬰兒助手系統由兩部分組成,分別為數據監測與傳輸模塊和手機客戶端模塊。
數據監測與傳輸模塊由nRF51-DK開發板[6]、DHT22(AM2302)數字溫濕度傳感器、HX711重力傳感器、MAX9814麥克風模塊和小喇叭組成。nRF51-DK開發板負責處理與協調各傳感器采集的數據,將溫度、濕度、壓力等統計信息與設置的閾值進行比較,判斷嬰兒是否尿濕、是否啼哭、是否亂動,并將提示信息與實時溫度、濕度數據通過低功耗藍牙發送到手機端。
手機客戶端主要負責顯示嬰兒所處環境的實時數據以及報警。此外,當檢測到嬰兒啼哭時,手機端還可以控制小喇叭播放音樂安撫嬰兒。
數據監測與傳輸模塊如圖1所示,手機客戶端模塊如圖2所示。
2 系統的硬件實現
本系統的硬件包括溫濕度檢測模塊、麥克風模塊、壓力檢測模塊、主控模塊與低功耗藍牙模塊,各模塊之間相互協調完成工作[7]。
2.1 溫濕度采集
溫濕度采集所選的溫濕度傳感器型號為AM2302(DHT22),此傳感器應用專用的數字模塊采集技術和溫濕度傳感技術,可以同時檢測溫度和濕度,并將已校準的數字信號輸出[8]。將此傳感器置于嬰兒身體下方,用于檢測嬰兒所處環境的溫度與濕度,并將數據通過普通I/O與單片機連接,實時傳輸給nRF51-DK開發板。當單片機收到溫度與濕度的信息后,通過藍牙模塊將數據發送給手機,并在手機客戶端顯示。
2.2 尿濕檢測
尿濕檢測同樣通過AM2302(DHT22)溫濕度傳感器進行。在單片機中設置標志變量humidity_flag,當濕度的統計信息高于一定閾值時,此標志位被設置為1,此時認定嬰兒尿濕,同時通過藍牙模塊向手機端發送尿濕警報,提示家長及時照顧嬰兒;當濕度的統計信息低于閾值時,此標志位清零。
2.3 啼哭檢測
啼哭檢測所選擇的傳感器為MAX9814麥克風模塊,在單片機中設置標志變量nosie_flag,當麥克風模塊采集到的統計信息高于一定閾值時,此標志位被設置為1,此時認定嬰兒啼哭,單片機可以通過控制小喇叭播放音樂來舒緩嬰兒情緒,同時通過藍牙模塊向家長手機發送啼哭警報提示家長;當噪聲統計信息低于一定閾值時,此標志位清零。
2.4 亂動檢測
亂動檢測所選擇的傳感器為HX711電子秤專用模擬/數字(A/D)轉換器芯片[9]。在單片機中設置標志變量action_flag,當壓力的統計信息高于一定閾值時,會認定為嬰兒由于某些原因亂動,然后立即通過藍牙模塊向手機端發送警報信息提醒家長;當壓力統計信息低于一定閾值時,此標志位清零。
2.5 數據通信
數據通信所選擇的是開發套件上自帶的低功耗藍牙功能。為實現此功能,需要在板卡上下載S110 SoftDevice。SoftDevice是用于藍牙射頻部分的預編譯API,被放在設備存儲器的最底端。可以根據藍牙功能將51單片機設置成BLE beacon。當手機端檢測到藍牙,并與藍牙建立連接后,即可進行數據傳輸。數據幀格式見表1所列。
表1中,溫度、濕度為float型變量,最后的三個標志位為bool型變量。
3 系統軟件設計
3.1 單片機軟件設計
系統的軟件設計通過C語言實現,使用Keil Vision5軟件編譯。具體而言,使用mbed API編程,采用模塊化設計方法。數據監測模塊將采集到的嬰兒信息傳輸至單片機,單片機將處理后的信息發送給手機客戶端,手機客戶端根據相應數據位顯示嬰兒現有狀態,并及時報警。軟件流程如圖3所示。
3.2 手機客戶端
手機客戶端基于安卓平臺通過Java語言開發。通過藍牙接收傳感器的數據,實現溫濕度、尿濕信息、啼哭信息、亂動信息的檢測,并控制小喇叭播放音樂。客戶端界面簡潔,易于操作,給用戶帶來良好的體驗。進入手機客戶端后點擊連接按鈕,可以發現可連接的藍牙設備,然后手機和藍牙建立連接。成功連接后,手機會顯示溫度、濕度等信息。手機客戶端界面如圖4所示。
通過圖4可以發現,手機可以實時顯示溫濕度,并對是否尿濕、是否亂動、是否啼哭等信息進行選擇性接收。另外,可以實現實時報警功能,并控制小喇叭播放音樂。
4 系統測試及閾值確定
根據傳感器采集的數據確定閾值的過程:使用求平均差的方法對采集到的數據進行分析,主要包括噪聲、濕度和壓力等數據。平均差定義見公式[10]:
式中:采樣頻率為f;每次處理的樣本個數為n;連續超過閾值的次數為m。系統的關鍵在于選擇合適的閾值。在檢測中,我們將m設置為1,為了消除極值的影響,單片機將采集到的數據分別去掉一個最大值和一個最小值,然后將統計結果通過串口輸出到串口工具。將串口采集到的數據進行分析以取得合適閾值,然后在單片機中設置相應閾值位。在閾值確定時,可以通過設定m的取值來控制單片機報警的靈敏度。
4.1 噪聲采集結果
設置f=10 Hz,n=30,m=1,噪聲采集結果如圖5所示,其中:“○”為有噪聲時統計得到的數據;“×”為安靜環境下采集到的數據。
4.2 濕度采集結果
設置f=1 Hz,n=6,m=1,濕度采集結果如圖6所示。前半部分為正常空氣中的濕度統計結果,后半部分為濕毛巾靠近濕度傳感器時的統計結果。
4.3 壓力采集結果
設置f=1 Hz,n=6,m=1,壓力采集結果如圖7所示,前半部分為壓力未變化的統計結果,后半部分為壓力變化后的統計結果。
5 結 語
本文研究了一種基于nRF51單片機的智能嬰兒助手系統。經過設計與測試,該系統可以實時監測嬰兒所處環境的溫濕度、尿濕信息、啼哭信息和亂動信息等。單片機具有數據采集、判決和數據傳輸功能,各功能運轉正常,探測結果準確,可及時對嬰兒的異常狀態采取相應措施,并向家長的手機發送通知。該系統可以成為家長育兒的得力助手,效果好且布設成本低,具有大規模推廣的潛質。
參 考 文 獻
[1]劉斌琨,劉海濤.基于STM32的數據通信智能安全嬰兒車設計[J].科技與創新,2018(16):62-64.
[2]歐陽集正,胡榮杰.多功能智能嬰兒床的設計[J].湖南科技學院學報,2010,31(4):68-70.
[3]何文華.遠程智能嬰兒床研究設計[J].電子世界,2016(9):58.
[4]孫鵬,劉書丹,胡俊鋒,等.基于無線通信的智能嬰兒監控系統的設計與實現[J].信息技術,2011,35(8):189-191.
[5]郭俊.智能嬰兒車發展趨勢探究[J].大眾文藝,2018(20):228-229.
[6]高杰.基于mbed的nRF51-DK開發板的防爆排雷小車電路部分的設計[J].數字技術與應用,2016(1):184.
[7]沈王姚,徐建,蘇和平,等.智能嬰兒車保姆[J].物聯網技術,2018,8(8):40-41.
[8]林珠妹.基于DHT22的數字式溫濕度計的設計[J].佳木斯大學學報(自然科學版),2016,34(2):223-225.
[9]劉宸,陳垚至.基于MSP430和HX711的電子稱設計與制作[J].電子測試,2018(16):30-31.
[10]包為民,沈丹丹,倪鵬,等.滑動平均差檢測法的提出及驗證[J].地理學報,2018,73(11):2075-2085.