摘 要:針對企業(yè)、學(xué)校等人群密集流動的場所有對人群進(jìn)行日常體溫檢測的需求,設(shè)計一種基于藍(lán)牙傳輸?shù)娜梭w溫度檢測系統(tǒng)。該設(shè)計以STM32F103C8T6為主控器,搭載AS608指紋識別模塊、DS18B20溫度模塊和JDY-31藍(lán)牙模塊進(jìn)行溫度數(shù)據(jù)的采集、傳輸,并在手機(jī)端顯示溫度數(shù)據(jù)。該設(shè)計相較其他體溫檢測系統(tǒng)具有占地空間小、成本低、體溫實時監(jiān)測等優(yōu)點,能夠給人們的生活提供很大的便利。
關(guān)鍵詞:溫度檢測;AS608指紋識別;JDY-31藍(lán)牙傳輸;APP設(shè)計;STM32;物聯(lián)網(wǎng)
中圖分類號:TP274.5 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2024)05-00-03
0 引 言
隨著經(jīng)濟(jì)發(fā)展和電子技術(shù)的進(jìn)步,藍(lán)牙技術(shù)的發(fā)展日益攀升,許多帶有藍(lán)牙的電子產(chǎn)品逐步涌現(xiàn)。本文將藍(lán)牙技術(shù)應(yīng)用于溫度檢測系統(tǒng)中。在以往的體溫監(jiān)測系統(tǒng)中,大多都以功能單一的檢測設(shè)備或手持體溫計為主,檢測效率低下,溫度數(shù)據(jù)掌控不及時;企業(yè)、學(xué)校等若采用人臉識別測溫設(shè)備,花費成本又過于高昂[1],不便于開放式環(huán)境分散監(jiān)測;文獻(xiàn)[2]采用的基于LoRa技術(shù)的校園體溫監(jiān)測系統(tǒng)雖然實現(xiàn)了無接觸溫度檢測,但依然存在制作成本過高、適用范圍小的問題。
本文針對這些問題設(shè)計了一種基于藍(lán)牙傳輸?shù)臏囟葯z測系統(tǒng)。該設(shè)計基于STM32控制器,通過結(jié)合ATK-AS608光學(xué)指紋識別模塊、DS18B20溫度模塊和JDY-31藍(lán)牙模塊,建立與手機(jī)之間的數(shù)據(jù)通信,實現(xiàn)溫度實時監(jiān)測。該設(shè)計節(jié)約了勞動力和使用成本,可以為公共場所提供成本更低、效率更高的溫度檢測方案,以便實現(xiàn)數(shù)據(jù)收集的智能化、效益化。
1 系統(tǒng)總體設(shè)計
本文設(shè)計系統(tǒng)以STM32F103C8T6為核心,連接藍(lán)牙模塊(JDY-31)、溫度模塊(DS18B20)和指紋模塊(AS608)實現(xiàn)主要功能。通過單片機(jī)調(diào)用模塊,首先調(diào)用AS608指紋識別模塊,通過指紋識別,確定用戶身份,并將溫度數(shù)據(jù)與身份相對應(yīng)。通過DS18B20測溫傳感器測量溫度。數(shù)據(jù)檢測過后,調(diào)用藍(lán)牙模塊,通過JDY-31藍(lán)牙模塊上傳數(shù)據(jù)至手機(jī)端,獲取溫度數(shù)據(jù),檢測并顯示體溫是否正常。該系統(tǒng)結(jié)構(gòu)如圖1所示。
2 硬件設(shè)計
2.1 指紋模塊
AS608指紋識別模塊是一款高性能的光學(xué)指紋識別模塊。模塊配備了串口、USB通信接口,用戶無須研究復(fù)雜的圖像處理及指紋識別算法,只需通過簡單的串口,USB按照通信協(xié)議便可控制模塊。本模塊可應(yīng)用于各種考勤機(jī)、保險箱柜、指紋門禁系統(tǒng)、指紋鎖等場合。
2.2 溫度檢測模塊
溫度檢測模塊使用DS18B20溫度傳感器,它可以用來對環(huán)境溫度進(jìn)行定量的檢測,測溫范圍為-55~125 ℃,固有測溫分辨率為0.5 ℃,支持對點組網(wǎng)功能,多個DS18B20可以并聯(lián),實現(xiàn)多點測溫,測量結(jié)果以9~12位數(shù)字量方式串行傳送[3]。本系統(tǒng)選用DS18B20作為溫度傳感器可以更加便捷、高效地測量溫度值。
2.3 微控制器的選用
系統(tǒng)選用STM32F103C8T6單片機(jī)作為主控器。圖2為主控器連接其他模塊的電路圖。其中指紋模塊和藍(lán)牙模塊分別占用一個USART端口,波特率選用11.059 2 MHz。PB12接溫度模塊的DQ,以便于使用ADC來接收溫度數(shù)據(jù)。PA8接WAK,用于判斷是否有手指放在指紋模塊上[4]。
2.4 藍(lán)牙檢測
藍(lán)牙模塊使用JDY-31,本模塊支持串行接口,支持SP藍(lán)牙串口協(xié)議,數(shù)據(jù)傳輸比BLE藍(lán)牙快,可達(dá)到8 Kb/s以上的速率,支持與電腦SPP藍(lán)牙通信,支持與Android手機(jī)通信,具有成本低、體積小、收發(fā)靈敏性高等特點,只需配備少許的外圍元件就能實現(xiàn)大功能。
3 軟件設(shè)計
3.1 藍(lán)牙連接
本系統(tǒng)在使用前,終端手機(jī)用戶需要先和主控器建立連接,通過Android Studio軟件進(jìn)行主界面的開發(fā)[5]。
3.1.1 權(quán)限設(shè)置
新建項目后,需要在AndroidManifest.xml中聲明兩個權(quán)限,分別用于請求連接、傳送數(shù)據(jù)(BLUETOOTH權(quán)限)和啟動設(shè)備、發(fā)現(xiàn)或進(jìn)行藍(lán)牙設(shè)置(BLUETOOTH_ADMIN權(quán)限),如果targetSdkVersion大于或者等于32,需要另外添加ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION權(quán)限,否則可能會出現(xiàn)搜索不到藍(lán)牙設(shè)備的問題。
3.1.2 啟動/關(guān)閉藍(lán)牙
權(quán)限設(shè)置成功后,要獲取BluetoothAdaper藍(lán)牙適配器的對象,然后檢測設(shè)備是否支持藍(lán)牙,若支持藍(lán)牙使用,再通過isEnable()方法來檢查藍(lán)牙當(dāng)前的狀態(tài),如果方法返回1,則藍(lán)牙沒有啟動,使用Enable()方法來打開本地藍(lán)牙適配器;最后可以使用disable()關(guān)閉本地藍(lán)牙適配器。
3.1.3 搜索顯示藍(lán)牙
Android設(shè)備默認(rèn)是不能被搜索的,如果想要本機(jī)設(shè)備可以被搜索,可以以BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE動作為startActivity()方法的參數(shù),提交一個開啟藍(lán)牙可見的請求,默認(rèn)120 s內(nèi)可以被搜索,然后調(diào)用startDiscover()方法搜索藍(lán)牙,將在12 s內(nèi)以廣播的機(jī)制返回搜索到的藍(lán)牙,并將搜索到的設(shè)備顯示到過程頁面。
3.1.4 藍(lán)牙配對連接
藍(lán)牙配對連接有兩種方式:一種是本機(jī)作為一個客戶端去連接一個服務(wù)端,向?qū)Ψ桨l(fā)起連接;另一種是作為服務(wù)端來接收客戶端的消息,數(shù)據(jù)傳輸均采用與TCP傳輸類似的傳輸機(jī)制。本系統(tǒng)中,本機(jī)將作為服務(wù)端與JDY-31設(shè)備建立連接,接收信息。
在建立連接之前,需要首先取消藍(lán)牙設(shè)備的掃描,否則容易連接失敗。之后調(diào)用BluetoothDevice的createRfcommS-ocketToServiceRecord(UUID)獲取BluetoothSocket,調(diào)用connect()建立連接。藍(lán)牙連接的整個過程需要在子線程中執(zhí)行,并且由于connect()是一個阻塞調(diào)用,要將socket.connect()放在一個新的子線程中執(zhí)行。圖3是藍(lán)牙配對連接的APP顯示界面[6]。
3.1.5 數(shù)據(jù)傳輸
兩個設(shè)備成功連接后,雙方都會有一個BluetoothSocket對象,這時就可以在設(shè)備之間傳送數(shù)據(jù)了。
JDY-31作為客戶端,將會向主機(jī)發(fā)送數(shù)據(jù),調(diào)用socket.getOutputStream()獲取輸出流;判斷輸出流不為空后,調(diào)用write()發(fā)送數(shù)據(jù);本機(jī)作為服務(wù)端,調(diào)用getInputStream()獲取輸入流,判斷輸入流不為空后,調(diào)用read()讀取數(shù)據(jù);使用string message()把發(fā)來的數(shù)據(jù)轉(zhuǎn)化為字符串型后,進(jìn)行數(shù)據(jù)大小的判斷,若讀取溫度在預(yù)設(shè)范圍之內(nèi)(設(shè)置為30~37 ℃),調(diào)用BuletoothMainActivity.UpdateRevMsg()對信息進(jìn)行顯示,最后調(diào)用close()關(guān)閉輸入流。
3.2 指紋模塊
在實際應(yīng)用本系統(tǒng)前需要對特定人群進(jìn)行指紋錄入[7],AS608模塊和主控器之間通過串口通信協(xié)議發(fā)送指令來讀寫緩沖區(qū)。指紋錄入的整個過程調(diào)用了指紋讀取函數(shù)PS-GetImage()、存儲函數(shù)PS-StoreChar()。當(dāng)用戶再次使用指紋驗證信息時,首先讀取觸摸屏狀態(tài)(PS-StalO),接收信息為1時,讀取指紋屏幕的圖像信息(PS-GetImage);讀取圖像結(jié)束后,生成特征指令(PS-Genchar);接收應(yīng)答包后,使用指紋對比函數(shù)和指紋匹配搜索函數(shù)在存儲器中進(jìn)行指紋匹配;匹配成功后,顯示燈為綠燈[8]。圖4為系統(tǒng)功能流程框圖。
3.3 溫度測量與顯示
指紋匹配成功后,單片機(jī)接收中斷開始進(jìn)行測溫,主控器首先需要對溫度傳感器進(jìn)行復(fù)位操作;DS18B20檢測到請求后,會拉低信號,大約150 μs后表示應(yīng)答,單片機(jī)再次讀取總線電平,若為低電平,初始化成功;之后傳感器根據(jù)預(yù)定操作開始溫度檢測;主控系統(tǒng)發(fā)送溫度轉(zhuǎn)換指令后,開始進(jìn)行溫度轉(zhuǎn)換;溫度轉(zhuǎn)換結(jié)束后,讀取數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換成實際溫度值,傳給主控芯片,之后再通過藍(lán)牙與主機(jī)之間進(jìn)行數(shù)據(jù)傳輸[9-10]。
4 實物連接
硬件實物連接如圖5所示。
5 結(jié) 語
隨著科技的不斷進(jìn)步,無線藍(lán)牙溫度傳輸技術(shù)逐漸普及。傳統(tǒng)測溫方式,例如手持式測溫,人力消耗大,效率低,安設(shè)人臉識別測溫設(shè)備價格又比較高昂。本文介紹的基于藍(lán)牙技術(shù)的測溫系統(tǒng),利用了藍(lán)牙功耗低、體積小、價格低廉的特點,相較于市面幾萬元的紅外測溫儀或人臉識別測溫設(shè)備,整體系統(tǒng)價格親民,僅在幾十元以內(nèi),適用范圍廣。相較手持式測溫儀,測溫效率更高,實現(xiàn)了實時檢測和傳輸,能夠為人們的生產(chǎn)生活提供極大便利。
參考文獻(xiàn)
[1]萬云,陳達(dá)美,蔣陽.基于LoRa技術(shù)的校園疫情體溫監(jiān)測系統(tǒng)設(shè)計[J].深圳信息職業(yè)技術(shù)學(xué)院學(xué)報,2022,20(4):57-64.
[2]張浩華,張夢瑤,趙小姝,等.基于Arduino的校園環(huán)境監(jiān)測系統(tǒng)[J].沈陽師范大學(xué)學(xué)報(自然科學(xué)版),2018,36(6):562-566.
[3]杜光月,劉美麗,周蒙,等.基于多DS18B20傳感器陣列的數(shù)據(jù)采集方法研究[J].電子器件,2023,46(1):16-21.
[4]盧佳佳,張亞芳.基于STM32單片機(jī)的溫度智能測量系統(tǒng)設(shè)計與實現(xiàn)[J].景德鎮(zhèn)學(xué)院學(xué)報,2022,37(6):53-57.
[5]王建鋒.藍(lán)牙技術(shù)的應(yīng)用及發(fā)展前景[J].鄭州航空工業(yè)管理學(xué)院學(xué)報,2003,21(2):107-109.
[6]王文秀,吳慧,葛瓊,等.基于Android的物聯(lián)網(wǎng)溫濕度監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2022,12(5):8-10.
[7]楊淑裕,鄢艷紅.基于單片機(jī)的指紋識別電子密碼鎖系統(tǒng)的設(shè)計[J].電腦知識與技術(shù),2021,17(15):228-230.
[8]張樂,王悅.基于STM32的指紋識別系統(tǒng)設(shè)計[J].沈陽大學(xué)學(xué)報(自然科學(xué)版),2019,31(2):113-117.
[9]萬志強(qiáng),張晴晴,王晨,等.一種基于ds18b20傳感器溫度信號采集的實現(xiàn)[J].科技風(fēng),2018,31(27):16.
[10]姜寧,李奕兵,任可心,等.無接觸溫度測量與身份識別裝置設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2022,12(3):100-101.
作者簡介:姬明君(2001—),女,本科在讀,研究方向為工業(yè)控制。
房鴻超(2001—),男,本科在讀,研究方向為物聯(lián)網(wǎng)技術(shù)。
宋 蕾(2001—),女,本科在讀,研究方向為通信技術(shù)。
錢琪豐(2002—),男,本科在讀,研究方向為物聯(lián)網(wǎng)技術(shù)。
徐永剛(1977—),男,博士,副教授,研究方向為圖像處理、云計算、大數(shù)據(jù)、傳感器與網(wǎng)絡(luò)。
收稿日期:2023-06-26 修回日期:2023-07-24