全劉輝 李玉香 澹臺夢陽 胡騰達



摘要:水上樂園、江邊、水庫等大型游泳場所,常有客流量大或人流稀少的極端情況。雖然很多場所配備救生員,但也會出現不能及時準確發現溺水者并進行施救。針對以上現象,設計了一款基于無線通信的視覺識別自動救生系統。該系統手環部分以STM32微控制器為控制核心,使用MAX30102血氧心率集成芯片采集脈搏信號,經STM32主控芯片預處理和特征提取,計算當前的心率,從而判斷佩戴者是否遇險。此外,手環采用無線充電方式,在報警的同時自動打開救生氣囊,為救援爭取寶貴時間;無線通信部分使用ZigBee將手環的報警數據傳輸到上位機,救生筏接收到數據后通過視覺識別等方法進行快速定位并迅速展開救援。解決了傳統人力監控因觀察不到位、發現不及時而錯過黃金救援時期的問題。大大降低了救援所需的時間,節省了人力和物力,保證了游泳者的生命安全。
關鍵詞:防溺水;心率檢測;無線通信;實時定位;無線充電
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2024)09-0096-03
開放科學(資源服務)標識碼(OSID)
1 國內外研究現狀
在國外,溺水檢測研究已有40多年歷史,從初步探索逐漸進入產品改進階段,而我國在此領域的研究仍處于較初級階段。早在1976年,美國就有了游泳池報警專利,但受當時技術限制,未得到廣泛應用。2001年,法國公司推出了“海神號”系統,利用紅外線及RGB相機定位游泳者,實現實時溺水檢測,但由于維護成本高昂,難以普及[1]。
當前市場上的游泳輔助設備存在操作不便、攜帶笨重等問題,而智能化產品的智能程度有限,缺乏交互性[2]。本項目研發的手環便攜、智能,通過無線通信技術實現線上和線下的交互,實時傳輸游泳者的心率信息,便于及時救援。北京工業大學閆峰老師采用高清防水攝像機進行圖像處理來識別溺水現象,但成本高昂且誤差大,例如水面晃動、水質混濁或人多遮擋時易導致漏報[3-4]。而本項目系統基于個人,不易受外界干擾。國內已有的泳帽傳感器裝置,通過信號強弱判斷溺水,但無法定位溺水者,救援時仍存困難[5]。本系統不僅實現溺水報警,還能實時監控游泳者的身體狀況,通過無線通信及時接收求救信號,提供精準救援。因此,本系統的研究對預防溺水事故具有重要意義。
2 總體設計方案
本系統以STM32系列單片機作為核心主控,建立起游泳者和施救系統之間的聯系。整個系統由心率監測模塊、無線充電模塊、無線通信模塊、物體識別模塊、電機驅動模塊等構成,系統模塊框圖如圖1所示。系統通過手環對游泳者心率進行實時監測并判斷是否溺水,從而實現應急情況下的自救以及及時向救生筏主節點報警。救生筏快速定位并迅速展開救援,解決了過去傳統的人力監控可能出現的觀察不到位、發現不及時而錯過黃金救援時期的問題。這顯著降低了救援所需的時間,節省了人力和物力,確保了游泳者的生命安全。
在游泳場所范圍內,通過ZigBee節點的全覆蓋實現設備間的互聯。手環通過MAX30102血氧心率傳感器采集佩戴者的心率數據,進而分析心率變化[6]。一旦遇到險情,如果佩戴者的心率異常觸發了遇險條件,手環會自動彈開救生氣囊,防止佩戴者下沉,為救援爭取寶貴時間。此外,也可手動打開救生氣囊。同時,主控芯片通過ZigBee向主節點發送求救信號,在彈開救生氣囊的同時,救生筏接收到信號后啟動系統,機器視覺模塊進行識別鎖定,并將數據傳輸給救生筏。救生筏通過控制舵機轉動來實現移動和轉向。
3 硬件部分
3.1 心率檢測
系統的心率檢測采用MAX30102傳感器,它是一款集成了高靈敏度心率脈搏檢測的傳感模塊。心率檢測采用的是動脈血壓法,該方法的原理是心臟的收縮與舒張會引起血液呈脈動流動,同時血管的壓力也會產生變化。傳感器在采樣時,發射區的紅外光經過血液反射后返回接收區,接收到的數值通過光電轉換器計算出心率以及血氧飽和度。當接收到的信號為峰值時,表示心臟收縮,血管壓力增大;反之,心臟舒張,血管壓力減小。
人體在正常情況下的心率范圍為60~100次/分鐘,正常游泳情況下為120~130次/分鐘,而受到驚嚇時可達到180~200次/分鐘。根據以上幾點,本研究將心率異常情況定義為持續時間超過一定閾值的情況,其中正常范圍為55~160次/分鐘,超過160次/分鐘或低于50次/分鐘則屬于異常情況,可能意味著溺水等危險狀態。心率異常持續時間統計如表1所示。
3.2 無線通信及定位
系統選用ZigBee(低速短距離無線通信技術)作為傳輸媒介,主要工作頻段在2.4GHz,可配置點對點或廣播工作模式,與上位機實現無線數據交互,還支持不間斷發送,不限包長且傳輸速度快,最高能達到3 300bps。為了定位更準確,將ZigBee與GPS結合,提供更實時和精確的坐標位置。GPS接收模塊通過串口與主控芯片進行數據交互,只需在解析數據時提取GPS接收的冗余信息。在初始化時,通過MCU發送相關配置指令進行第一輪篩選,只保留 GPRMC 語句,其中包含 UTC 時間、定位狀態、經緯度信息、磁偏角、模式指示等;然后進行時間和經緯度的第二輪篩選,進一步減少冗余數據,也節省了發送成本,提高數據傳輸效率。
3.3 視覺識別及定位
采用OpenMV進行視覺識別輔助定位,系統接收到報警后,OpenMV攝像頭啟動,識別救生氣囊的顏色和位置,并將坐標數據傳輸給救生筏。為了提高識別準確性,需要對救生氣囊在水下的各種狀態進行學習,使定位更加精準。攝像頭向主控傳輸的數據幀頭使用“0x2c”標識,幀尾使用“0x5b”標識,編號長度根據實際情況進行調節。
3.4 系統報警及救生設備
救生筏在接收到報警時,采用蜂鳴器和LED燈閃爍的方式表示接收到的報警信號。救生筏的推進器通過單片機發送PWM信號控制電機轉動,其電調的PWM頻率為50Hz,脈寬范圍是800~2 200us,將脈寬調至1 500~2 200us時為正轉,1 200~800us時為反轉。
3.5 救生系統的防水保護
由于救生裝置使用場景為水中,需要對設備進行防水處理。為了滿足水上作業的需求,將系統的電池和電路板封裝在防水外殼內,對邊緣等部位進行灌膠密封處理,以確保更好的防水密封性。
3.6 電池的續航
為解決系統封裝后電池充電問題,采用無線充電方式對電池進行充電,實現電池的循環利用。系統將無線充電裝置作為發射端,手環作為接收端,利用磁通量變化產生感應電動勢的原理,在發射端直流電經過無線充電的主控芯片、全橋芯片、諧振電容、線圈等組成的LC諧振電路后,將直流電轉變為交流電,交流電施加至線圈產生交變電壓從而產生交變磁場。在接收端靠近時會產生一個同頻率的交變電壓,交流電經過整流濾波后變成直流電,最終輸出到電池完成充電。為了減少能量的損耗,手環的感應線圈緊貼于內壁。利用無線充電方法,免去了拆開裝置的煩瑣步驟,也提高了設備的防水性能。
4 軟件部分
本系統采用IAR集成開發環境,OpenMVIDE編寫軟件對各個模塊進行代碼編寫,以STM32作為主控,結合心率傳感器、OpenMV攝像頭、ZigBee、蜂鳴器、LED燈、水下推進器等實現救援任務[7]。手環檢測到心率異常后報警,打開救生氣囊并發送求救信號,求救信號通過ZigBee將GPS定位數據傳輸到救生筏,救生筏根據GPS定位信息驅動推進器使之靠近溺水者,OpenMV使救生筏更精確地定位到達求救者附近。硬件程序設計分為主程序、心率采集程序、GPS定位程序、OpenMV圖像識別定位程序、推進器驅動程序等模塊。
5 測試結果與分析
為了檢測系統的測量準確性,對系統的心率檢測進行不同狀態下的測試,獲得準確的心率閾值。具體測試結果如表2~4所示。測試類型包括游泳者在水下靜止或運動量較小情況下的測試、在水下劇烈運動情況下的測試以及不會游泳者在水下受驚嚇時的測試。根據測試數據推斷出不同情況下游泳者在水下活動的心率狀態,從而推斷出較合適的閾值,以此確定心率異常的閾值范圍,從而設計系統的心率檢測閾值設計在55~160次/分鐘為正常情況,大于160次/分鐘或小于50次/分鐘為異常情況[8]。
6 結論
救生手環能夠實時監測佩戴者的心率。一旦檢測到心率超出安全范圍,即判定佩戴者遇險。在遇險時,手環會立即發出求救信號,并自動展開救生氣囊,確保佩戴者不會因溺水而下沉。同時,通過ZigBee技術將遇險數據傳輸給救生筏,而GPS則對溺水者進行初步定位。當救生筏靠近溺水者時,OpenMV會進行精確的定位。接收到數據后,救生筏會啟動報警裝置,并控制推進器運轉,迅速展開營救。此外,手環采用無線充電設計,不僅免去了拆解裝置的煩瑣,也進一步增強了設備的防水性能,確保在緊急情況下能夠可靠工作。
參考文獻:
[1] 喬羽.基于Mask R-CNN泳池中溺水行為檢測系統的設計與實現[D].青島:青島大學,2019.
[2] 邱睿,聞宇欣,張鵬,等.基于單片機的智能防溺水背心[J].電動工具,2019(3):7-10.
[3] 閆峰.基于泳池報警系統的三維重建[D].北京:北京工業大學,2009.
[4] 戴路.基于ZigBee的泳池安全監控系統設計[D].福州:福州大學,2013.
[5] 黃家瑩,詹杰.基于ZigBee無線定位的游泳池溺水自動報警系統[J].科學技術創新,2019(13):69-72.
[6] 何向陽,劉彬.基于物聯網技術的智能防溺水系統設計與實現[J].電子制作,2023,31(21):93-96.
[7] 賈雙英,楊淳樂.基于OpenCV和CNN的兒童防溺水測試研究[J].電腦與電信,2023(8):85-89.
[8] 謝江娜,劉利秋,趙佳琳,等.便攜式泳池防溺水警報與生理健康狀態評估系統設計[J].電子產品世界,2023,30(3):19-23.
【通聯編輯:謝媛媛】