基于Arduino/Android的藍牙通信系統(tǒng)設(shè)計
引言
隨著當今安全管理的發(fā)展需求以及國家對安全監(jiān)控行業(yè)的支持,這幾年,安全監(jiān)控行業(yè)發(fā)展迅猛,各類監(jiān)控系統(tǒng)百花齊放。傳統(tǒng)的溫度監(jiān)控系統(tǒng)通過有線或其他方式傳送溫度數(shù)據(jù),而本文提出了利用藍牙無線傳輸數(shù)據(jù)的設(shè)計方案,這種利用藍牙傳輸?shù)脑O(shè)計方法,可以節(jié)約成本,提高生產(chǎn)效率和工作的靈活性。
1系統(tǒng)硬件設(shè)計
Arduino是一塊基于開放源代碼的USB接口SimpleI/O接口板(包括12通道數(shù)字GPIO,4通道PWM輸出,6~8通道10bitADC輸入通道),該系統(tǒng)的硬件主要由ArduinoUNO主控板、ArduinoXbee傳感器擴展板、藍牙串口模塊和數(shù)字溫度傳感器組成。
1.1ArduinoUNO主控板
對于開放原始碼的電路圖設(shè)計,可通過程式開發(fā)界面免費下載,也可依照需求自己修改。使用低價格的微處理控制器ATMEGA328P-PU;可依據(jù)官方電路圖簡化Arduino模組,從而完成獨立運作的微處理控制器;還可簡單地與傳感器、各式各樣的電子元件(如紅外線、超聲波、熱敏電阻、光敏電阻、伺服電機等)進行連接;USB接口可以不需外接電源,500mA自恢復保險絲可以避免電腦USB電源過載,另外,還有提供9VDC輸入接口,USB與外接電源可自動切換。在應用方面,利用Arduino可以突破以往只能使用滑鼠、鍵盤、CCD等輸入裝置的互動內(nèi)容,因而可以更簡單地達成單人或多人游戲互動。
1.2ArduinoXbee傳感器擴展板
ArduinoXbee傳感器擴展板V5含有RS485總線/無線數(shù)傳/藍牙串口,其主要功能是使藍牙芯片、溫度傳感器與主控板相連。
1.3藍牙串口模塊
DF-BluetoothV3藍牙模塊采用獨特雙層板設(shè)計,既美觀又可防止靜電損壞模塊??梢栽O(shè)計兩個電源輸入口,一個寬電
壓供電(3.5~8V),一個3.3V供電,以適用于各種場合。系統(tǒng)可以用STATE和LINK指示燈清晰顯示模塊工作狀態(tài)和連接狀態(tài),其中,STATE狀態(tài)有捜索狀態(tài)(高104ms,周期342ms,2.9Hz閃爍)和連接狀態(tài)(高104ms,周期2s,0.5Hz閃爍);而LINK狀態(tài)一般在配對后常亮。
1.4數(shù)字溫度傳感器
選用DS18B20數(shù)字溫度傳感器可以對環(huán)境溫度進行定量檢測。DS18B20數(shù)字溫度傳感器是美國DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器。其測溫范圍為-55~+125固有測
溫分辨率為0.5笆,可支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上實現(xiàn)多點測溫,測量結(jié)果以9~12位數(shù)字量方式串行傳送。
2系統(tǒng)的軟件設(shè)計
Arduino控制軟件設(shè)計
Arduino具有類似于Java和C語言的IDE集成開發(fā)環(huán)境,其編程語言類似于C語言,用戶可以通過USB接口直接進行編程和通信。Arduino端軟件的主要功能是要主控板將溫度感應器探測到的溫度通過藍牙芯片傳遞給手機終端。
Android手機端軟件設(shè)計
Android是基于Linux內(nèi)核的操作系統(tǒng)。Android的實質(zhì)是一種軟件架構(gòu),主要由操作系統(tǒng)、中間件以及一些關(guān)鍵應用組成。作為由Linux+Java構(gòu)成的開源軟件,Android已經(jīng)越來越多地出現(xiàn)在我們的生活中:手機、平板電腦,還有將來的電視甚至汽車。它是當今最火爆,市場占有率最高的移動終端操作系統(tǒng)。而手機端主要通過藍牙接收Arduino端傳遞過來的數(shù)據(jù),并在手機界面上顯示。
3藍牙通信
3.1藍牙技術(shù)簡介
藍牙是一種支持設(shè)備短距離通信(一般10m內(nèi))的無線電技術(shù),能在包括移動電話、PDA、無線耳機、筆記本電腦、相關(guān)外設(shè)等眾多設(shè)備之間進行無線信息交換。利用藍牙技術(shù),能夠有效地簡化移動通信終端設(shè)備之間的通信,也能夠成功地簡化設(shè)備與Internet之間的通信,從而使數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬道路。藍牙釆用分散式網(wǎng)絡(luò)結(jié)構(gòu)以及快跳頻和短包技術(shù),支持點對點及點對多點通信,工作在全球通用的2.4GHzISM(即工業(yè)、科學、醫(yī)學)頻段。其數(shù)據(jù)速率為1Mb/s。釆用時分雙工傳輸方案,可實現(xiàn)全雙工傳輸。
3.2藍牙協(xié)議
本系統(tǒng)中主要用的是藍牙配對和BluetoothSerialPort協(xié)議。其中配對是兩個Bluetooth設(shè)備間建立新關(guān)系的過程。在此過程中,將交換鏈路密鑰(在請求建立連接之前或在連接階段);而BluetoothSerialPort的主要功能是將Bluetooth的通信轉(zhuǎn)化成VirtualSerialPort(虛擬串口)。經(jīng)過這樣的轉(zhuǎn)換后,使用Bluetooth的Client程序就可以像使用串口一樣操作Bluetooth,并通過這個把釆集到的溫度數(shù)值傳遞給手機端。3.3藍牙傳輸過程
Arduino主控板可將溫度傳感器探測到的溫度以一定發(fā)送頻率通過藍牙芯片,以BluetoothSerialPort虛擬串口的方式傳遞給手機端,然后由手機端在界面上顯示溫度。圖1所示是本系統(tǒng)的藍牙傳輸過程圖。
圖1 系統(tǒng)藍牙傳輸過程
4結(jié)語
本系統(tǒng)是基于Arduino平臺和Android終端的操作系統(tǒng),系統(tǒng)先通過溫度探測器釆集溫度信息,并通過藍牙芯片傳遞給手機端。整個系統(tǒng)穩(wěn)定可靠,成本低廉,豐富了安防監(jiān)控手段。此外,Arduino功能強大,且與Android的耦合性極佳,還可以在本系統(tǒng)的方案上修改,從而開發(fā)出滿足自身需求的通信控制系統(tǒng)。
20210907_6136f9a867cc5__基于Arduino