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