朱 浩,王 娟
(西京學院,陜西 西安 710123)
在疫情防護常態化的今天,手機掃描健康碼已經成為出行的必備條件,這對于不會使用智能設備的老年人來說大大降低了他們的生活幸福感,導致他們出行不便。當前的各種健康碼替代方式依舊存在著一定的缺陷,無法做到高效便捷的健康碼替代方式,所以一種能夠替代手機掃碼的健康碼顯示方式變得尤為重要。因此,面向這一系類迫切的需求,研發一款基于人體生命特征的健康信息檢測與顯示系統。本系統以ESP32為核心,基于OpenCV的Haar識別技術完成設計,在識別人臉的同時檢測體溫,一切正常后在上位機顯示健康碼和通行信息,如有其他特殊情況能夠及時在上位機上完成報警。
ESP32是國產化的一款 MCU,ESP32 系列模組集成 WiFi、傳統藍牙和低功耗藍牙功能,具有廣泛的用途:WiFi 支持極大范圍的通信連接,也支持通過路由器直接連接互聯網;藍牙可以讓用戶連接手機或者廣播 Bluetooth LE Beacon 以便于信號檢測[1]。ESP32的協助處理器框架,如圖1所示。

圖1 ESP32的協助處理器框架
視頻檢測模塊使用ESP32CAM攝像頭進行人臉識別檢測,該模塊可以作為最小系統獨立工作。在此基礎上也可改用電腦自帶的本地攝像頭或者使用手機IP攝像頭軟件進行視頻圖像的采集,使用多種途徑完成人臉識模塊的硬件設計,從而完成非接觸的遠程設計。
該模塊選用GY-906-BAA非接觸式IR傳感器,輸出數據和物體溫度呈線性比例,具有高精度和高分辨率。該模塊能夠完成非接觸式測溫,將人的手掌置于該傳感器上方2 cm處后又上位機控制完成測溫動作,將測溫信息傳輸到ESP32模塊中進行數據處理,如果 因為室溫變化導致人體的表皮溫度有一定的變化,可以在程序中進行一定的調整以保證獲得準確的溫度信息[2]。
ESP8266是一款超低功耗的UART-WiFi 透傳模塊,,可將用戶的物理設備連接到WiFi 無線網絡上,進行互聯網或局域網通信,實現聯網功能。ESP8266模塊成本低、使用簡便、功能強大,通過串口AT指令與單片機通訊,實現串口透傳,不同協議之間的轉換(如串口到WiFi、藍牙等)由模塊完成。在本系統中完成信號的傳輸工作。
本部分主要根據ESP32采集到的溫度信息和人臉信息進行一定程度的處理。主要的設計流程如圖2所示。

圖2 程序設計流程
數據處理部分主要包括時間的顯示和調用,溫度檢測信息的處理和顯示,網絡攝像頭與本機攝像頭的選擇,新人臉信息錄入,人臉信息的識別與照片存儲,照片命名規范設計,舵機控制,連接錯誤警報,高溫報警顯示裝置以及網絡配置設置[3]。
軟件設計分為硬件程序和軟件程序,軟件程序主要是通過Python語言編寫,使用Python+PyQt5完成整個系統各模塊的數據傳輸處理和上位機的設計,PyQt5以一套Python模塊的形式來實現功能。它是一個多平臺的工具套件,它可以運行在所有的主流操作系統中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式,可以在GPL和社區授權之間選擇。通過硬件把體溫,檢測時間和人臉特殊點定位信息等數據傳輸到主控芯片,然后主控芯片再通過WiFi將檢測到和處理好的信息傳輸到PC端,由程序處理完成后將相關信息命名為照片的名稱并且存儲到特定的文件夾中以待查看,安檢人員能夠通過PC端非常便捷地完成識別信息的查看和調取。同時在上位機中設計了手動開啟一欄,以便在特殊情況實現人工放行[4]。
在做上位機數據顯示時候,以較為直觀的二維碼圖片的方式顯示出來,使用純 Python 圖形 GUI 庫的pyqtgraph 進行設計。
本系統上位機顯示界面的左上角顯示的是本系統的名稱“基于人體生命特征的健康信息檢測與顯示系統”,在界面正中顯示該識別系統的編號。
該文件夾內包含該系統的主要程序,包括人臉識別,溫度檢測和新人臉添加程序。其中facedate文件夾存儲的是準許通行的人臉信息,其命名規則是姓名拼音的首字母。在imglog文件夾中有success,fail和error3個子文件夾。其中success文件夾存放的是成功進行識別并且通過的人臉信息,fail文件夾存儲的是未曾進行登記的人臉信息,error文件夾內存儲的是溫度過高的特殊人員,需要安檢和防疫人員及時進行處理。數據存儲文件夾,如圖3所示。

圖3 數據存儲文件夾
在數字化面前,老人比我們想象中更加手足無措,年輕人習以為常的生活方式在他們眼中也許就是一道電子圍欄,讓他們寸步難行。本設備能夠基本對檢測人員的個人身份信息識別,健康碼調取檢查,個人體溫檢測,識別時間和識別位置等信息完成記錄,并且上傳至PC端方便實時的調取和檢測查詢。能夠基本滿足防疫常態化的需求并且便利老年人的正常出行。本設備應用范圍廣,可以應用在各類需要進行健康信息檢測和顯示的地方。