馬 騫 , 劉 煜 , 侯 婧 , 宋云利 , 周紅芳
(鄂爾多斯應(yīng)用技術(shù)學(xué)院,內(nèi)蒙古 鄂爾多斯 017000)
自2019年12月發(fā)現(xiàn)第一例新冠疫情病例以來,人們的日常生活受到了巨大威脅。本項(xiàng)目立足疫情防控,預(yù)研發(fā)設(shè)計(jì)智能疫情防控仿真系統(tǒng),在場(chǎng)所出入口實(shí)現(xiàn)無接觸無人工的防控方式,彌補(bǔ)目前市場(chǎng)上疫情防控系統(tǒng)的不足,進(jìn)一步提高防疫安全性和科學(xué)性[1-2]。
項(xiàng)目采用STM32為主控制器,搭建圖像處理、紅外體溫采集、自動(dòng)計(jì)數(shù)、無線通信等硬件電路并使用C語言、Python語言編寫程序從而實(shí)現(xiàn)電路的基本功能;系統(tǒng)使用JavaScript編寫人機(jī)交互界面,實(shí)時(shí)顯示采集信息,根據(jù)信息完成相應(yīng)的控制操作;系統(tǒng)使用云服務(wù)器,將采集信息進(jìn)行存儲(chǔ)與調(diào)用;將以上各功能完成并結(jié)合以實(shí)現(xiàn)系統(tǒng)的整體設(shè)計(jì)[3-4],系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
系統(tǒng)電路主要包括:主控制器模塊、無線通信模塊、紅外線輻射測(cè)溫模塊、數(shù)字溫濕度測(cè)量模塊、圖像處理模塊、數(shù)字光強(qiáng)度測(cè)量模塊、繼電器式噴霧裝置、伺服電機(jī)模塊、紅外計(jì)數(shù)模塊、LCD顯示屏模塊、系統(tǒng)供電模塊等[5],主要模塊電路圖如圖2所示。
圖2 主要模塊電路圖
2.1.1 主控制器模塊
中央控制核心芯片采用STM32F103ZET6芯片,其采用超低功耗的ARM Cortex-M4處理器內(nèi)核,最高工作頻率可達(dá)72 MHz,擁有豐富的外設(shè)、內(nèi)部高速儲(chǔ)存器(96 kB SRAM、512 kB FLASH)以及多種模式的I/O端口,具有高性能、低成本、低功耗的特點(diǎn)。本系統(tǒng)中采用的外設(shè)功能包括UART、PWM、IIC、SPI、GPIO等。程序通過MDK5使用C語言對(duì)芯片程序進(jìn)行編寫,通過Segger J-Link工具進(jìn)行hex文件的燒錄。
2.1.2 圖像處理模塊
圖像處理采用OpenMV攝像頭來為系統(tǒng)提供視覺信息[6]。OpenMV以STM32F427CPU為核心,該模塊集成了OV7725感光芯片,具有高效、低功耗的特點(diǎn)。本系統(tǒng)中采用Python語言對(duì)該模塊進(jìn)行編程來實(shí)現(xiàn)是否佩戴口罩的檢測(cè),使用UART與主控連接進(jìn)行串口通信,波特率為9 600 bps。該模塊由主控模塊提供3.3 V的工作電壓。
2.1.3 其他功能模塊
無線通信采用ESP8266模塊,使用串口與主控通信,波特率為115 200 bps,為主控提供WIFI傳輸能力,工作電壓為3.3 V,啟用透?jìng)髂J?,在互?lián)網(wǎng)和主控芯片之間架起了一座橋梁。輻射測(cè)溫模塊采用MLX90640探頭,其共有768個(gè)測(cè)量像素點(diǎn),檢測(cè)距離可達(dá)7 m以上,工作電壓為3.3 V,使用IIC接口與主控進(jìn)行通信,為系統(tǒng)提供遠(yuǎn)距離無接觸的人體體溫信息。數(shù)字溫濕度測(cè)量采用DHT11溫濕度模塊,采用一線制協(xié)議,采集系統(tǒng)所處環(huán)境溫度和濕度。數(shù)字光強(qiáng)度測(cè)量采用BH1750光強(qiáng)傳感器,使用IIC協(xié)議與主控通信,根據(jù)采集到的周圍環(huán)境光照強(qiáng)度來控制補(bǔ)光燈的明暗程度。繼電器式噴霧功能的實(shí)現(xiàn)是通過使用繼電器來控制噴霧器的一個(gè)組合裝置,噴霧器內(nèi)裝有對(duì)空氣有消毒作用的醫(yī)用試劑。系統(tǒng)的機(jī)動(dòng)部分為兩個(gè)工作電壓6 V,可旋轉(zhuǎn)角180°,轉(zhuǎn)矩70 N·m的伺服電機(jī),通過主控芯片產(chǎn)生PWM(脈沖寬度調(diào)制)信號(hào)來進(jìn)行門閘的開合。系統(tǒng)產(chǎn)生的信息全部顯示在一塊4.3英寸的分辨率為240×320的LCD屏幕上,采用3.3 V供電,與5 V的主控連接時(shí)需在信號(hào)線串接120R電阻使用[7]。
根據(jù)系統(tǒng)功能要求,軟件流程圖如圖3所示,具體工作方式如下:系統(tǒng)上電時(shí)各個(gè)模塊進(jìn)行初始化,屏幕亮起等待數(shù)據(jù)產(chǎn)生,當(dāng)與云服務(wù)成功連接后,網(wǎng)絡(luò)狀態(tài)指示綠燈亮起,系統(tǒng)程序進(jìn)入主程序,開始與服務(wù)器進(jìn)行信息交互,輻射測(cè)溫模塊跟隨OpenMV攝像頭模塊構(gòu)成的云臺(tái)進(jìn)行行人的追蹤并產(chǎn)生體溫信息,再根據(jù)體溫信息和口罩佩戴情況進(jìn)行門禁的開合動(dòng)作。當(dāng)體溫異常時(shí),門禁閉合蜂鳴器開始報(bào)警,LED紅燈亮起,繼電器控制的消毒裝置開始工作,此時(shí)如果微信客戶端下達(dá)控制命令,系統(tǒng)將停止自動(dòng)控制并按照客戶端命令進(jìn)行動(dòng)作。微信小程序端使用JavaScript語言進(jìn)行編寫,通過訂閱云服務(wù)器上的系統(tǒng)發(fā)布的數(shù)據(jù),用戶可直觀地監(jiān)督與管理系統(tǒng)的狀態(tài)來實(shí)現(xiàn)遠(yuǎn)程控制。
圖3 軟件流程圖
系統(tǒng)云服務(wù)器的建立,使用SSH網(wǎng)絡(luò)管理工具遠(yuǎn)程操作并部署云服務(wù)器,在Windows環(huán)境下一般使用Xshell連接服務(wù)器[8]。首先,在Xshell生成公鑰,在阿里云控制臺(tái)創(chuàng)建密鑰對(duì)(選擇配置項(xiàng),導(dǎo)入已有的密鑰對(duì)),輸入剛才在Xshell生成的公鑰信息,在后臺(tái)重啟阿里云服務(wù)器,之后就可以在Xshell上登錄阿里云服務(wù)器。安裝MQTT通信協(xié)議來實(shí)現(xiàn)下位機(jī)與網(wǎng)絡(luò)的連接。數(shù)據(jù)以JSON格式來和微信小程序進(jìn)行傳輸。系統(tǒng)使用輕量級(jí)的傳輸協(xié)議和數(shù)據(jù)格式來減少系統(tǒng)成本,并通過提高傳輸速度來提升系統(tǒng)可靠性和實(shí)時(shí)性。
消息隊(duì)列遙測(cè)傳輸協(xié)議(Message Queuing Telemetry Transport, MQTT),是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級(jí)”通信協(xié)議,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)[9]。
JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,易于人們閱讀和編寫,也易于機(jī)器解析和生成。目前其被廣泛用于物聯(lián)網(wǎng)領(lǐng)域[10]。
項(xiàng)目組為測(cè)試該項(xiàng)目的可行性,制作了一個(gè)縮小版智能防疫門實(shí)體模型并投放在一實(shí)驗(yàn)室出入口處進(jìn)行測(cè)試??煽啃苑矫妫涸诠δ軠y(cè)試中,輻射測(cè)溫表現(xiàn)良好,在傳感器7 m的檢測(cè)距離內(nèi)精度誤差不超過±1 ℃,可以達(dá)到系統(tǒng)功能要求。在下位機(jī)系統(tǒng)自動(dòng)控制情況下,系統(tǒng)反應(yīng)迅速,各部分功能均能達(dá)到預(yù)期效果。在微信小程序端遠(yuǎn)程控制時(shí),有0.5 s~1.5 s的延遲情況,從測(cè)試的實(shí)際使用情況來看延遲效果不會(huì)影響系統(tǒng)的使用,可以接受。系統(tǒng)穩(wěn)定性良好。安全性方面:在持續(xù)工作5個(gè)小時(shí)的情況下,伺服電機(jī)驅(qū)動(dòng)的門禁沒有出現(xiàn)夾人等危險(xiǎn)動(dòng)作。經(jīng)濟(jì)性方面:系統(tǒng)中支持低功耗模式的各模塊均設(shè)置為低功耗模式,在12 V電池直流供電模式下,經(jīng)測(cè)量數(shù)據(jù)可知,單片機(jī)端(傳感器均由單片機(jī)端供電)最大電流為30 mA,執(zhí)行器伺服電機(jī)最大工作電流為2.23 A,系統(tǒng)總體能耗極低。
本系統(tǒng)的整體設(shè)計(jì)使用的儀器較少,邏輯簡(jiǎn)單,實(shí)現(xiàn)了預(yù)計(jì)的功能要求,成本低,穩(wěn)定可靠,十分適合在人流量大的場(chǎng)合進(jìn)行使用,提高了防疫工作的效率和安全性,具有較好的應(yīng)用前景。