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