RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android設(shè)備通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線(xiàn)終端的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-07-11 08:10 ? 次閱讀

Android操作系統(tǒng)是Google 基于開(kāi)源的Linux 操作系統(tǒng)開(kāi)發(fā)的移動(dòng)操作平臺(tái),由操作系統(tǒng)、中間件、用戶(hù)界面和應(yīng)用軟件組成,是專(zhuān)門(mén)為移動(dòng)終端打造的開(kāi)放和完整的移動(dòng)操作系統(tǒng)。Android 軟件平臺(tái)包含Java Application、Application Framework、Libraries、Runtime 與LinuxOS 等層。用戶(hù)可根據(jù)產(chǎn)品的不同需求對(duì)系統(tǒng)進(jìn)行裁剪,從而適應(yīng)多樣的產(chǎn)品需求,Android 系統(tǒng)就如同積木一樣通過(guò)組合不同的軟硬件實(shí)現(xiàn)不同的應(yīng)用產(chǎn)品。藍(lán)牙的出現(xiàn)為移動(dòng)設(shè)備的互聯(lián)提供了一個(gè)方便快捷的選擇,Android 設(shè)備和以單片機(jī)為處理器控制器聯(lián)接使兩者的功能得到了互補(bǔ)。

1 系統(tǒng)架構(gòu)

基于藍(lán)牙與Android 設(shè)備的控制系統(tǒng)由Android 設(shè)備和下位機(jī)組成。Android設(shè)備(Android 智能手機(jī)或Android 平板)安裝有專(zhuān)門(mén)編制的軟件。下位機(jī)采用ATMEL 公司高效的RISC 內(nèi)核的ATMEGA 8 為核心,并集成藍(lán)牙串行模塊為通信信道。Android 設(shè)備通過(guò)藍(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ǔ)和處理在A(yíng)ndroid 設(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è)置為從工作模式。

Android設(shè)備通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線(xiàn)終端的設(shè)計(jì)


圖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ù)連接。用戶(hù)通過(guò)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 所示

Android設(shè)備通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線(xiàn)終端的設(shè)計(jì)


圖2 電機(jī)驅(qū)動(dòng)電路原理圖

2.2 藍(lán)牙模塊

藍(lán)牙模塊型號(hào)為IDS-BM4A, 模塊有主/ 從兩種工作模式,通過(guò)PIO2 電平來(lái)選擇模塊的工作,PIO2 為高電平,模塊工作在從模式。模塊可以有兩種應(yīng)用方式,方式1 :從模塊上電即開(kāi)始工作,用戶(hù)可以通過(guò)Android 設(shè)備查找模塊,模塊設(shè)備名稱(chēng)為”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 用來(lái)連接LED,指示當(dāng)前工作方式。

主模式:未連接,LED 間隔1 秒鐘快速閃爍2次;已連接,LED 常亮。

從模式:未連接,LED 快速閃爍;已連接,LED 常亮。

連接狀態(tài)指示:模塊PIO1 為連接狀態(tài)指示,連接成功PIO1 為高電平,連接斷開(kāi)PIO1 為低電平。

波特率設(shè)定表:

Android設(shè)備通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線(xiàn)終端的設(shè)計(jì)

3 Android 設(shè)備軟件設(shè)計(jì)

Android2.2 版本以上才能很好的支持藍(lán)牙功能,Android 上的應(yīng)用程序一般采用Java 語(yǔ)言開(kāi)發(fā),編程環(huán)境一般采用Eclipse。

Android 應(yīng)用程序需要使用藍(lán)牙功能, 必須在A(yíng)ndroidManifest.xml 中要申請(qǐng)兩個(gè)權(quán)限:BLUETOOTH_ADMIN 和BLUETOOTH。具體格式如下:

me="android.permission.BLUETOOTH"/>

BLUETOOTH_ADMIN 權(quán)限允許Android 應(yīng)用程序啟動(dòng)發(fā)現(xiàn)設(shè)備或者進(jìn)行藍(lán)牙功能的設(shè)置;BLUETOOTH 權(quán)限是Android 應(yīng)用程序執(zhí)行藍(lán)牙通信必須具有的權(quán)限,例如接受連接和傳送數(shù)據(jù)。大多數(shù)應(yīng)用程序都需要這個(gè)權(quán)限,才能查找當(dāng)?shù)氐乃{(lán)牙設(shè)備。

由于需要和下位機(jī)的藍(lán)牙模塊連接,在應(yīng)用程序中需要實(shí)現(xiàn)主設(shè)備功能。具體的連接流程是:

(1)在應(yīng)用程序中檢查設(shè)備的藍(lán)牙功能是否開(kāi)啟,如果未開(kāi)啟,則打開(kāi)藍(lán)牙功能;

(2)查找設(shè)備附近等待連接的藍(lán)牙設(shè)備,顯示查找到的藍(lán)牙設(shè)備的物理地址(以前沒(méi)有連接過(guò)的設(shè)備)或藍(lán)牙設(shè)備的名稱(chēng);

(3)選擇想要連接的藍(lán)牙設(shè)備,如果是第一次連接這個(gè)目標(biāo)設(shè)備系統(tǒng)會(huì)自動(dòng)發(fā)起一個(gè)配對(duì)過(guò)程,彈出輸入連接密碼的對(duì)話(huà)框,輸入“0000”,等待對(duì)方校驗(yàn)密碼,完成配對(duì),然后進(jìn)行連接。

(4)應(yīng)用程序接收到連接成功,就可以通過(guò)生成的BluetoothServerSocke 和下位機(jī)進(jìn)行數(shù)據(jù)傳輸。需要連接的藍(lán)牙模塊是藍(lán)牙串口,因此應(yīng)用程序中定義的UUID 必須符合藍(lán)牙串口的UUID,這樣連接才會(huì)被接受。因?yàn)?a target="_blank">accept() 調(diào)用是一個(gè)阻塞的調(diào)用,應(yīng)用程序所有響應(yīng)在調(diào)用返回之前會(huì)被阻塞,因此一定不能在主線(xiàn)程中進(jìn)行調(diào)用, 通常是在一個(gè)新的線(xiàn)程中做所有的工作從而避免應(yīng)用程序主線(xiàn)程的阻塞。主要代碼如下;

(5)關(guān)閉server socket,釋放serversocket 和它占用的資源,結(jié)束應(yīng)用程序。

4 結(jié)束語(yǔ)

本文提出了基于藍(lán)牙與Android 設(shè)備的無(wú)線(xiàn)控制系統(tǒng)模型,分析了藍(lán)牙網(wǎng)絡(luò)的一般結(jié)構(gòu), 采用通用的藍(lán)牙模塊實(shí)現(xiàn)了無(wú)線(xiàn)終端設(shè)計(jì),給出了Android 設(shè)備的藍(lán)牙串行通訊軟件框架。憑借藍(lán)牙的傳輸高效并且快速等特點(diǎn),該系統(tǒng)具有很好的靈活性,能廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制等多個(gè)領(lǐng)域,尤其是一些需要數(shù)據(jù)傳輸又不能很方便的布設(shè)通訊電纜的場(chǎng)合,具有廣闊的發(fā)展空間。

主要代碼

Android設(shè)備通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線(xiàn)終端的設(shè)計(jì)

Android設(shè)備通過(guò)藍(lán)牙模塊實(shí)現(xiàn)無(wú)線(xiàn)終端的設(shè)計(jì)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3935

    瀏覽量

    127339
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    114

    文章

    5809

    瀏覽量

    170188
  • 無(wú)線(xiàn)
    +關(guān)注

    關(guān)注

    31

    文章

    5450

    瀏覽量

    173238
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    采用藍(lán)牙技術(shù)的北斗終端通信模塊的設(shè)計(jì)

    系統(tǒng)以STM32F103RBT單片機(jī)為核心,在北斗射頻信號(hào)處理模塊和北斗信息處理模塊之間加入藍(lán)牙通信的模塊,實(shí)現(xiàn)這兩部分的
    發(fā)表于 01-17 13:56 ?1987次閱讀
    采用<b class='flag-5'>藍(lán)牙</b>技術(shù)的北斗<b class='flag-5'>終端</b>通信<b class='flag-5'>模塊</b>的設(shè)計(jì)

    藍(lán)牙4.0發(fā)展真的要靠Android嗎?

    之間隔著“一顆牙”,伴隨Android設(shè)備Android設(shè)備之間,Android設(shè)備
    發(fā)表于 07-05 15:14

    如何通過(guò)藍(lán)牙適配器實(shí)現(xiàn)ARM Linux開(kāi)發(fā)板與Android智能終端數(shù)據(jù)互傳?

    最近在做一個(gè)項(xiàng)目,有ARM+Linux開(kāi)發(fā)板完成視頻采集,并將視頻實(shí)時(shí)傳輸?shù)?b class='flag-5'>Android終端上。硬件設(shè)備:ARM CortexA8開(kāi)發(fā)板,Android智能手機(jī),USB
    發(fā)表于 04-20 15:36

    一個(gè)基于Android智能終端及FPGA的智能家居系統(tǒng)設(shè)計(jì)

    控制終端將成為未來(lái)智能家居系統(tǒng)發(fā)展的趨勢(shì)。本系統(tǒng)以Android智能設(shè)備作為遙控終端,以FPGA作為主控中心處理器,通過(guò)
    發(fā)表于 07-02 07:55

    Android系統(tǒng)終端實(shí)現(xiàn)3G WIFI無(wú)線(xiàn)漫游

    本文提出了一種基于Android系統(tǒng)終端控制上實(shí)現(xiàn)3G到WIFI以及WIFI到3G 的無(wú)線(xiàn)漫游機(jī)制,分析了3G到WIFI的連接、認(rèn)證、得到AP信息的過(guò)程。
    發(fā)表于 12-24 00:36 ?1823次閱讀
    <b class='flag-5'>Android</b>系統(tǒng)<b class='flag-5'>終端</b><b class='flag-5'>實(shí)現(xiàn)</b>3G WIFI<b class='flag-5'>無(wú)線(xiàn)</b>漫游

    基于Android健康服務(wù)終端藍(lán)牙傳輸軟件的設(shè)計(jì)

    本文在一款基于Android操作系統(tǒng)的健康服務(wù)終端設(shè)計(jì)基礎(chǔ)上,介紹了一種基于Android藍(lán)牙應(yīng)用程序的設(shè)計(jì)方法。通過(guò)分析
    發(fā)表于 05-25 14:34 ?95次下載
    基于<b class='flag-5'>Android</b>健康服務(wù)<b class='flag-5'>終端</b><b class='flag-5'>藍(lán)牙</b>傳輸軟件的設(shè)計(jì)

    基于Android系統(tǒng)終端實(shí)現(xiàn)3G WIFI無(wú)線(xiàn)漫游

    基于Android系統(tǒng)終端實(shí)現(xiàn)3G WIFI無(wú)線(xiàn)漫游
    發(fā)表于 01-13 22:02 ?3次下載

    基于藍(lán)牙Android設(shè)備控制系統(tǒng)的架構(gòu)及其下位機(jī)設(shè)計(jì)詳解

    ATMEL 公司高效的RISC 內(nèi)核的ATMEGA8 為核心,并集成藍(lán)牙串行模塊為通信信道。Android 設(shè)備通過(guò)
    發(fā)表于 10-21 09:44 ?4次下載
    基于<b class='flag-5'>藍(lán)牙</b>與<b class='flag-5'>Android</b><b class='flag-5'>設(shè)備</b>控制系統(tǒng)的架構(gòu)及其下位機(jī)設(shè)計(jì)詳解

    天工測(cè)控GPS模塊、WiFi模塊藍(lán)牙模塊選型資料參考

    天工測(cè)控GPS模塊、WiFi模塊藍(lán)牙模塊選型參考,藍(lán)牙網(wǎng)關(guān)是一個(gè)集成BLE低功耗藍(lán)牙和WiFi
    發(fā)表于 01-31 17:07 ?23次下載

    如何使用“藍(lán)牙”技術(shù)實(shí)現(xiàn)嵌入式終端設(shè)備的開(kāi)發(fā)及硬件實(shí)現(xiàn)

    隨著無(wú)線(xiàn)通信網(wǎng)絡(luò)的快速發(fā)展,藍(lán)牙技術(shù)作為一種新型的無(wú)線(xiàn)通信技術(shù)逐漸發(fā)展和壯大起來(lái),并迅速應(yīng)用于手機(jī)、藍(lán)牙耳機(jī)、標(biāo)識(shí)牌等終端設(shè)備。目前,
    發(fā)表于 11-02 15:46 ?6次下載
    如何使用“<b class='flag-5'>藍(lán)牙</b>”技術(shù)<b class='flag-5'>實(shí)現(xiàn)</b>嵌入式<b class='flag-5'>終端設(shè)備</b>的開(kāi)發(fā)及硬件<b class='flag-5'>實(shí)現(xiàn)</b>

    深度解讀無(wú)線(xiàn)模塊應(yīng)用:BLE藍(lán)牙模塊在工業(yè)領(lǐng)域的應(yīng)用

    的應(yīng)用。BLE藍(lán)牙模塊在工業(yè)領(lǐng)域的應(yīng)用在智能制造的大背景下,具有環(huán)境感知能力的各類(lèi)終端傳感器通過(guò)無(wú)線(xiàn)模塊
    的頭像 發(fā)表于 07-02 10:03 ?5924次閱讀

    DCS系統(tǒng)如何通過(guò)無(wú)線(xiàn)傳輸終端實(shí)現(xiàn)遠(yuǎn)距離采集和控制設(shè)備運(yùn)行狀態(tài)

    監(jiān)測(cè)現(xiàn)場(chǎng)數(shù)據(jù)、遙控現(xiàn)場(chǎng)設(shè)備是DCS的基本功能。想要通過(guò)DCS系統(tǒng)無(wú)線(xiàn)控制閥門(mén)開(kāi)關(guān),只需要在DCS系統(tǒng)和設(shè)備端分別連接無(wú)線(xiàn)傳輸
    發(fā)表于 04-12 09:30 ?3176次閱讀
    DCS系統(tǒng)如何<b class='flag-5'>通過(guò)</b><b class='flag-5'>無(wú)線(xiàn)</b>傳輸<b class='flag-5'>終端</b><b class='flag-5'>實(shí)現(xiàn)</b>遠(yuǎn)距離采集和控制<b class='flag-5'>設(shè)備</b>運(yùn)行狀態(tài)

    藍(lán)牙模塊的作用是什么?

    藍(lán)牙模塊的作用是什么? 藍(lán)牙模塊是一種用于無(wú)線(xiàn)通信的設(shè)備,它
    的頭像 發(fā)表于 09-08 11:47 ?4585次閱讀

    藍(lán)牙POS機(jī)無(wú)線(xiàn)數(shù)傳方案

    藍(lán)牙BLE低功耗數(shù)據(jù)傳輸技術(shù)的使用加持在POS機(jī)新應(yīng)用技術(shù)。 可以與移動(dòng)終端智能設(shè)備,通過(guò)藍(lán)牙配對(duì)功能,進(jìn)行數(shù)據(jù)傳輸,
    發(fā)表于 08-19 15:31 ?1次下載

    藍(lán)牙模塊無(wú)線(xiàn)游戲設(shè)備中的應(yīng)用

    了更多的樂(lè)趣和可能性。本文將探討藍(lán)牙模塊無(wú)線(xiàn)游戲設(shè)備中的應(yīng)用,并分析其對(duì)游戲產(chǎn)業(yè)的影響。 藍(lán)牙模塊
    的頭像 發(fā)表于 07-19 14:00 ?240次閱讀
    RM新时代网站-首页