一種基于藍(lán)牙與Android設(shè)備的控制系統(tǒng)設(shè)計(jì)
Android 操作系統(tǒng)是Google 基于開源的Linux 操作系統(tǒng)開發(fā)的移動(dòng)操作平臺(tái),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是專門為移動(dòng)終端打造的開放和完整的移動(dòng)操作系統(tǒng)。Android 軟件平臺(tái)包含Java Application、Application Framework、Libraries、Runtime 與LinuxOS 等層。用戶可根據(jù)產(chǎn)品的不同需求對(duì)系統(tǒng)進(jìn)行裁剪,從而適應(yīng)多樣的產(chǎn)品需求,Android 系統(tǒng)就如同積木一樣通過組合不同的軟硬件實(shí)現(xiàn)不同的應(yīng)用產(chǎn)品。藍(lán)牙的出現(xiàn)為移動(dòng)設(shè)備的互聯(lián)提供了一個(gè)方便快捷的選擇,Android 設(shè)備和以單片機(jī)為處理器的控制器聯(lián)接使兩者的功能得到了互補(bǔ)。
本文引用地址:http://2s4d.com/article/256198.htm1 系統(tǒng)架構(gòu)
基于藍(lán)牙與Android 設(shè)備的控制系統(tǒng)由Android 設(shè)備和下位機(jī)組成。Android設(shè)備(Android 智能手機(jī)或Android 平板)安裝有專門編制的軟件。下位機(jī)采用ATMEL 公司高效的RISC 內(nèi)核的ATMEGA 8 為核心,并集成藍(lán)牙串行模塊為通信信道。Android 設(shè)備通過藍(lán)牙將數(shù)據(jù)發(fā)送至下位機(jī),下位機(jī)根據(jù)接收到數(shù)據(jù),完成相應(yīng)的控制功能,并將處理結(jié)果上傳,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)、實(shí)時(shí)控制功能。下位機(jī)只負(fù)責(zé)數(shù)據(jù)的采集和實(shí)現(xiàn)控制功能,數(shù)據(jù)的存儲(chǔ)和處理在Android 設(shè)備上實(shí)現(xiàn)。
2 下位機(jī)設(shè)計(jì)
2.1 控制模塊的設(shè)計(jì)
下位機(jī)由ATMEAG8、數(shù)字溫度傳感器、電機(jī)驅(qū)動(dòng)電路等組成,其中CPU 部分電路如圖1 所示。下位機(jī)處理器串口連接藍(lán)牙模塊。數(shù)字溫度傳感器將當(dāng)前溫度直接轉(zhuǎn)換成數(shù)字信號(hào)。藍(lán)牙模塊設(shè)置為從工作模式。
圖1 CPU 電路原理圖
系統(tǒng)上電后藍(lán)牙模塊處于等待連接狀態(tài), 當(dāng)Android 設(shè)備第一次發(fā)出連接請(qǐng)求時(shí)需要輸入藍(lán)牙模塊的內(nèi)置密碼,以后再連接時(shí)則不需要輸入密碼,只有密碼匹配成功才能后成功建立藍(lán)牙連接。藍(lán)牙模塊為Android 設(shè)備和ATMEAG8 的通信信道,實(shí)現(xiàn)Android 設(shè)備和下位機(jī)的雙向數(shù)據(jù)連接。用戶通過Android 設(shè)備向下位機(jī)發(fā)送命令,下位機(jī)接收到命令后,控制相應(yīng)的執(zhí)行模塊,實(shí)現(xiàn)設(shè)定的控制功能。K1 和K2 為低電平,電機(jī)兩端電壓為0V,電機(jī)停止;K1 為高電平,K2為低電平電機(jī)兩端為5V,電機(jī)正向轉(zhuǎn)動(dòng);K1 為低電平,K2 為高電平電機(jī)兩端為-5V,電機(jī)反向轉(zhuǎn)動(dòng);K1 和K2 不能同時(shí)為高電平,電機(jī)驅(qū)動(dòng)電路如圖2 所示
圖2 電機(jī)驅(qū)動(dòng)電路原理圖
2.2 藍(lán)牙模塊
藍(lán)牙模塊型號(hào)為IDS-BM4A, 模塊有主/ 從兩種工作模式,通過PIO2 電平來選擇模塊的工作,PIO2 為高電平,模塊工作在從模式。模塊可以有兩種應(yīng)用方式,方式1 :從模塊上電即開始工作,用戶可以通過Android 設(shè)備查找模塊,模塊設(shè)備名稱為”SPP”, 查到設(shè)備后選擇連接,電腦端將提示輸入密碼,此時(shí)輸入“0000”,電腦將與模塊建立透明連接。方式2 :需要兩個(gè)藍(lán)牙模塊,一個(gè)設(shè)置為主模式,一個(gè)設(shè)置為從模式,分別與兩個(gè)MCU 連接,上電后主從模塊會(huì)自動(dòng)配對(duì)連接,連接成功后主從模塊將建立透明數(shù)據(jù)傳輸,兩個(gè)設(shè)備之間可以直接互發(fā)數(shù)據(jù)。
工作狀態(tài)指示:模塊PIO0 用來連接LED,指示當(dāng)前工作方式。
主模式:未連接,LED 間隔1 秒鐘快速閃爍2次;已連接,LED 常亮。
從模式:未連接,LED 快速閃爍;已連接,LED 常亮。
連接狀態(tài)指示:模塊PIO1 為連接狀態(tài)指示,連接成功PIO1 為高電平,連接斷開PIO1 為低電平。
波特率設(shè)定表:
3 Android 設(shè)備軟件設(shè)計(jì)
Android2.2 版本以上才能很好的支持藍(lán)牙功能,Android 上的應(yīng)用程序一般采用Java 語(yǔ)言開發(fā),編程環(huán)境一般采用Eclipse。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評(píng)論