徐耀,劉步中,翟德超
(江蘇省中小企業電子產品工程技術研究開發中心,江蘇淮安,223003)
在疫情期間,“健康碼”和當前體溫是廣大群眾健康出行的重要“憑證”。而在學校、社區、車站、商場等人員相對密集、流動性大的場所,傳統人工檢查健康碼、測量人體溫度,工作人員本身不但有感染風險,而且工作強度巨大。本文的設計中,用戶通過掃描或刷卡不同地點的門禁終端,實現自助登記、自動比對、無接觸測溫,為疫情管理、科學決策做出支持。
為比對人員的歷史行程并能夠適應更多場景,系統要求能夠既能夠讀取健康碼等二維碼,又能夠讀取校園卡、小區門禁卡等射頻卡;針對體溫的檢測,既要保證測量的快速性、準確性,又要防止交叉感染,要求“無接觸”測溫;為保證終端能夠實時記錄、上傳測量、比對數據,系統需要有WIFI 通信功能與上位機實現無線通信;最后,還要有良好的交互界面體驗。
為實現系統總體要求,終端系統設計了基于紅外體溫傳感器和單片機實現一個非接觸式紅外測量體溫的終端系統,該系統具有適用場景廣、測量精度高、測量速度快、交互性好等優點。該系統主要有單片機最小系統模塊、人體紅外感應模塊、掃碼刷卡模塊、測溫模塊、顯示模塊、聲光報警模塊、電機驅動模塊、通信模塊和電源模塊等組成,如圖1 所示。

圖1 智能門禁終端系統硬件框圖
其中,掃碼模塊、測溫模塊、顯示模塊、WIFI 模塊均以UART(全雙工通用同步/異步串行收發模塊)方式與單片機芯片通信。
本終端系統采用的STC8A8K64S4A12S4 單片機,不需要外部晶振和外部復位,具有超強抗干擾、超低價、高速和低功耗,在相同工作頻率下,STC8 系列單片機比傳統的8051 約快12 倍。更重要的是,該系列 64 引腳封裝的單片機,具有4 路全雙工異步串行通信接口,每個串口的數據緩沖器由2 個互相獨立的接收、發送緩沖器構成,可以同時發送和接收數據。4 路串口可以獨立與外圍串行模塊相連,也可以通過分時復用的方式讓一路串口與多個不同波特率的外圍串行模塊相連。而針對RS232 電平接口的外圍模塊,可以通過MAX232 芯片將其轉換成TTL 電平接口后與STC8A 相連。
本終端系統采用HEM23 掃碼刷卡模塊,它可識讀各類主流一維條形碼、標準二維條形碼和校園13.56MHz的NFC 卡,具有遠距離快速掃描識別的嵌入式模塊,并且可以在室外陽光下工作,內部光學玻璃鏡頭掃碼角度超120度。多種接口如TTL、USB、RS232、RS485 等輸出,并可
對其波特率進行設置。因傳輸的距離較近,因此本終端系統采用RS232 串行接口形式。
紅外體溫檢測模的主要功能是通過接收物體發射出的特定波長段的紅外線的能量,來計算出被測物體的溫度。因防疫中測溫精度和速度的要求較高,本終端系統選用華芯智云的90614 型模組非接觸式紅外體溫模塊。該模塊采用了高精度16×4 點陣式多點測溫、RS232 串行數據接口,可以方便地將采集的溫度傳送給單片機。
顯示模塊采用迪文科技的7 寸串口電容觸摸屏DMG 10600C070,它是基于迪文T5 CPU的DGUS UI 開發模式,開發便捷。該屏分辨率為1024×600,并可以設置成旋轉0°、90°、180°或270°顯示模式,使得顯示非常方式非常靈活。亮度可進行100 級亮度調節,但建議在30%以上亮度顯示,以防出現閃爍現象。信號接口為RS232 通過MAX232轉換后與STC8A的串口相連,波特率可設置在3150bps-3225600bps,典型值為115200bps。
本終端系統選用ATK-ESP8266 作為串口轉WIFI的模塊,STC8A 通過串口與該模塊直接相連,可以將采集的信息以無線的方式送出。它符合IEEE 802.11b、IEEE 802.11g和IEEE 802.11n 網絡標準,發射功率11-18dbm,TTL 電平,波特率可在110bps~921600bps 間設置。
為節省能源,需要在一定時間以上無人測量的時候讓系統待機,本終端中使用的人體紅外感應模塊HC-SR501 是基于紅外線技術的自動控制模塊,采用LHI778 探頭設計,靈敏度高,可靠性強,其工作電壓5V 即可,靜態電流小于50μA,可以感應最遠7 米、角度約100 度范圍內的人。人進入其感應范圍則輸出高電平,人離開感應范圍則自動延時關閉高電平輸出低電平。STC8A 單片機則依此信號,來決策系統進入或退出待機狀態。
本部分主要進行系統軟件的總體設計和核心的溫度采集部分程序設計。
為實現終端系統總體要求,配合選用的硬件,設計了如圖2 所示的系統軟件流程圖。系統開始并初始化后,通過人體紅外感應模塊檢測終端前是否有人。當終端前有人時,喚醒系統工作,并提醒人員提供健康碼或刷卡,根據讀取的健康碼或卡內信息與上位機下發的行程、體溫等歷史記錄進行匹配比對,如果終端前沒有人,則返回繼續檢測,而當檢測到終端前長時間沒有人時,則系統進行待機狀態。如果實測人員歷史記錄正常,則提醒人員面朝測溫模塊約20-60cm 間測溫,如果歷史記錄不正常(如紅碼、行程中有異常)等,則聲光報警,提醒工作人員處置。檢測完健康碼或校園卡的歷史記錄后無論是否正常,都要在當前站點測量體溫,當體溫正常則打開道閘后,顯示并上傳測溫站點、時間、人員、體溫等信息;如果體溫不正常,則聲光報警,同時仍然要顯示并上傳測溫站點、異常人員信息,并提醒決策機構根據數據記錄快速查找密切接觸者。

圖2 終端系統軟件流程圖
華芯智云的90614 型測溫模組是RS232 串行接口,當主機(STC8A 單片機)發起測溫請求指令和從機(紅外體溫檢測模塊)回復指令如下:
(1)主機(STC8A 單片機)發起請求:

(2)從機(紅外體溫檢測模塊)回復:

主機(STC8A 單片機)的測溫模塊的軟件設計目的在于將主機請求的字符串數組(0x07 0x07 0Xaa 0x55)在需要的時候正確發出,然后將從機(紅外體溫檢測模塊)回復的字符串正確接收。
溫度檢測模塊的串口初始化程序如下:



本終端系統選用魚躍醫用紅外額溫槍YT-2 作為實驗數據參考值,實驗方法是在相同條件下,用本終端系統與YT-2 對相同目標進行多次測溫對比,結果顯示精度可保持在± 0.3 度。同時能夠實時將測溫站點、時間、人員、體溫等信息通過WIFI 與上位機準確無線通信,同時,迪文觸摸屏的使用使系統并具有良好的交互性。
本終端系統以具有4 路獨立串行通信口的STC8A8K64 S4A12S4 單片機為核心器件,在非接觸狀態下,通過識別健康碼或校園卡對人員信息上傳至數據庫中比對歷史行程,使用華芯智云的90614 型模塊測量人員的當前體溫,實現實時顯示、提醒,并可登記、上傳新產生的行程、數據,實現了系統設計要求,為疫情科學管理、精準決策提供了數據支撐。