洪雨昕,吳言言,查 朦
(南通理工學(xué)院 機(jī)械工程學(xué)院,江蘇 南通 226002)
特殊時(shí)期進(jìn)出校園需要體溫測量和核對身份信息,但校園人數(shù)比較多,所以進(jìn)出登記信息就很不方便,需要體溫測量之后還要手寫登記信息或出示證件。所以文章設(shè)計(jì)了體溫和信息核對一體的儀器,只要每個(gè)人把自己的身份信息做成二維碼,放在手機(jī)里或者戴在身上,進(jìn)出校門和小區(qū)只需出示二維碼就可以了。這個(gè)儀器可以進(jìn)行體溫測量和識別二維碼,儀器一掃身份信息就會顯示在PC電腦端,并且會有記錄,方便后期查看,這樣進(jìn)出校門和進(jìn)出小區(qū)人員就能很好地配合工作人員,工作效率更高[1]。
系統(tǒng)通過利用單片機(jī)結(jié)合各種傳感器制作測溫掃碼槍,將獲取的數(shù)據(jù)傳輸給PC端,PC端接受顯示出來。單片機(jī)和模塊之間可以利用串口通信,而測溫槍和PC端可以利用在同一WiFi下進(jìn)行TCP通信[2]。系統(tǒng)主要分為上位機(jī)和下位機(jī)部分。下位機(jī)主要包括:傳感器模塊,語音播報(bào)模塊,處理器模塊,顯示模塊數(shù)據(jù)傳輸模塊;上位機(jī)主要包括數(shù)據(jù)處理轉(zhuǎn)換,數(shù)據(jù)界面顯示,如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)
主控板選用arduino nano,采用mega328p處理器、32 kb閃存、體積小、功能強(qiáng)大,14個(gè)數(shù)字端口的引腳數(shù)量,支持IIC,SPI,UART串行通訊??捎肕ini-B USB供電,也可用7-12V的沒有經(jīng)過調(diào)整的(pin 30)電源供電,還可以用經(jīng)過調(diào)整的5 V(pin 27)外部電源供電。
OLED屏幕0.96寸4針OLED屏幕,分辨率為128×64,自發(fā)光屏幕,不需要背光源,對比度高,厚度薄,視角廣,反應(yīng)速度快,采用IIC通信,只需要兩個(gè)數(shù)據(jù)線便可控制。
SYN6288由北京宇音天下公司設(shè)計(jì)。該模塊通過異步串口(UART)通信方式接受待合成文本數(shù)據(jù),實(shí)現(xiàn)文本到語音(或TTS語音)轉(zhuǎn)換。該模塊支持GB2312,GBK,UNICODE內(nèi)碼格式的文本,每次最高合成文本可達(dá)200字節(jié)。本次應(yīng)用便采用UNICODE內(nèi)碼格式合成。
GY-906是一組通用的紅外測溫模塊在出廠前該模塊已進(jìn)行校驗(yàn)及線性化,具有非接觸、體積小、精度高,成本低等優(yōu)點(diǎn)。被測目標(biāo)溫度和環(huán)境溫度能通過單通道輸出,并有兩種輸出接口。從GY-906 種讀出的數(shù)據(jù)是16位的,由高8 位(DataH)和低8位(DataL)兩部分組成,其中RAM地址07H單元存儲的是TOBJ1數(shù)據(jù),數(shù)據(jù)范圍從0x27AD到0x7FFF,表示的溫度范圍是-70.01~382.19 ℃。
QD-54QR掃碼模塊采用UART異步通信,解碼格式為QRcode,解碼速度15秒/次,自帶蜂鳴器和LED補(bǔ)光,體積小巧,可進(jìn)行AT指令設(shè)置控制LED、蜂鳴器、波特率。
ESP-01S是一款超低功耗的UART-WiFi透傳模塊,擁有業(yè)內(nèi)極富競爭力的封裝尺寸和超低能耗技術(shù),專為移動設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì),可將用戶的物理設(shè)備連接到WiFi 無線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。ESP-01S封裝方式多樣,天線可支持板載PCB天線、IPEX接口和郵票孔接口3種形式,可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。
上位機(jī)部分通過Python內(nèi)置工具PYQT5的 QT designer和PyUIC可視化編程利用qt designer對上位機(jī)通過類來生成界面。進(jìn)行界面的生成,控件的創(chuàng)建,創(chuàng)建控件的響應(yīng)函數(shù)。在界面設(shè)置好以后生成的ui文件通過Python內(nèi)置的工具PyUIC將ui文件轉(zhuǎn)換成py文件方便在其他文件中調(diào)用。最后將登錄界面的py文件用pyinstaller打包成exe文件。打開登錄界面的文件,輸入用戶名和密碼點(diǎn)擊登錄,登錄狀態(tài)會顯示已登錄,然后彈出數(shù)據(jù)接收顯示界面,對下位傳輸?shù)臄?shù)據(jù)進(jìn)行數(shù)據(jù)顯示[3]。
下位機(jī)通過網(wǎng)絡(luò)通信數(shù)據(jù)傳輸各個(gè)傳感器模塊。采集和識別的信息通過WiFi無線傳輸發(fā)送到Python腳本構(gòu)建TCP協(xié)議的客戶端上位機(jī)上。多功能測溫槍上通過ESP8266模塊連接路由器或者無線熱點(diǎn),同時(shí)構(gòu)建為服務(wù)器模式。PC端通過Python使用PYQT5構(gòu)建的上位機(jī)連接WiFi進(jìn)行數(shù)據(jù)的接受、處理、顯示、回饋。上位機(jī)接收多功能測溫掃碼槍的數(shù)據(jù),并進(jìn)行處理識別顯示對應(yīng)每個(gè)人的二維碼信息并從本地庫調(diào)取對應(yīng)的個(gè)人信息照片。
上位機(jī)與下位機(jī)之間采用TCP通信,通過在PC端建立服務(wù)器端口,開啟端口監(jiān)聽,并與端口建立連接,收發(fā)數(shù)據(jù)。圖2展示PC端用Python腳本調(diào)用socket開啟服務(wù)器端口監(jiān)聽,進(jìn)行數(shù)據(jù)傳輸。
圖2 數(shù)據(jù)整合流程