999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android系統藍牙開發的研究與實現*

2013-03-11 05:48:42周進波袁欽鵬
光學儀器 2013年1期
關鍵詞:單片機設備方法

周進波,張 磊,張 敏,袁欽鵬

(上海理工大學 光電信息與計算機工程學院,上海 200093)

引 言

Android是Google開發的一款基于Linux的開源手機系統,由于其完全開放的特點,Android開發群體和用戶越來越多,逐漸成為市場份額最大的智能手機操作系統。除了在移動通信方面,Android系統已經應用到其它電子領域,如平板電腦、手持設備等。設備間的數據傳輸方式主要包括USB 傳輸、紅外傳輸、藍牙傳輸,USB 傳輸速度快、即插即用、便于擴展,Android 系統從SDK3.1 平臺開始引入ADK(accessory development kit),使不支持USB Host功能的Android設備可以與其它USB設備通信。紅外傳輸是一種無線通信技術,因為傳輸距離較短、易受干擾,現在更多使用藍牙作為無線傳輸[1],藍牙傳輸方便穩定。Android系統同時支持藍牙通信,通過對Android系統的藍牙開發研究,對藍牙、單片機編程,以實現與單片機通信。

1 系統設計原理

Android系統控制單片機步進電機系統結構圖如圖1所示。首先由Android系統提供的藍牙API接口,編寫應用程序,實現藍牙設備的基本操作,設備連接正常后,通過Bluetoothsocket實現數據的輸入、輸出。單片機藍牙模塊接到數據命令后,調用單片機控制程序,控制步進電機的加速、減速、轉向。

圖1 系統結構框圖Fig.1 Block diagram of system structure

2 Android藍牙應用程序設計

2.1 Android藍牙協議棧

Android系統從2.0開始支持藍牙,使用了BlueZ協議棧,BlueZ通過DBUS來通信交互的。BlueZ是Linux內核的官方藍牙協議棧,目前在較高Linux內核版本中已有支持,也是目前應用最廣泛的藍牙協議棧,幾乎支持所有已通過認證的藍牙設備。該協議棧由多個相對獨立的模塊組成,內核空間主要包括設備驅動層(藍牙的設備驅動一般是指電源的開關驅動以及通信接口的驅動,如串口、USB 等)、L2CAP層與SCO 音頻層、RFCOMM、藍牙核心及HCI層、BNEP、CMTP層與HIDP層、通用藍牙SDP庫和后臺服務及面向所有層的標準套接字接口。Android提供Bluetooth通信的API是BlueZ的RFCOMM 的封裝,RFCOMM 層支持標準的套接口,并提供了串行仿真TTY 接口,這使串行端口應用程序和協議可以不加更改地運行在藍牙設備上[2-4]。藍牙應用程序設計主要包括:藍牙打開、藍牙查找、藍牙連接、數據通信等四個模塊[5-6],流程圖如圖2所示。Android系統為藍牙開發提供了API,其中最主要的幾個類包括:

BluetoothDevice:藍牙設備類,包括藍牙設備的名稱、MAC地址等信息。

Bluetoothsocket:藍牙套接字的接口類,藍牙設備間數據輸入輸出的連接點。

BluetoothAdapter:藍牙適配器類,所有藍牙設備交互的接口,包括查找、綁定、監聽其它設備。通過調用上面幾個基本類中的方法可以實現藍牙設備的基本操作。

圖2 藍牙通信流程圖Fig.2 Flowchart of bluetooth communication process

2.2 藍牙設備打開

首先獲取藍牙適配器,通過方法GetDefaultAdapter(),返回本地BluetoothAdpter,通過該對象就可以操作藍牙設備了,如果返回為空,則啟動藍牙失敗,需要檢測設備藍牙模塊是否正常工作。然后判斷藍牙是否打開,如果藍牙處于disable狀態,則需要封裝ACTION_REQUEST_ENABLED 到intent對象,通過startActivityForResult()方法調用intent對象打開藍牙。

2.3 藍牙設備查找

獲得藍牙設備包括新掃描的設備和已經綁定的設備,程序先要注冊一個ACTION_FOUND 動作的廣播,調用startDiscovery()方法,每次發現一個設備,系統就廣播一次,將設備的信息包括設備名、設備mac加入設備列表;調用getBondedDevices()方法得到已綁定的設備數量,依次加入到設備列表。因為在整個掃描過程要持續12s左右,占用一定系統資源,在設備連接之前,程序要調用cancelDiscovery()方法取消設備查找,減少資源浪費。

2.4 藍牙設備連接

藍牙支持點對點、點對多點的連接方式。作為主設備,Android 系統中,一個從設備擁有一個RFECOMM 信道,只有當主從設備同時在一個信道上,調用 Bluetoothdevice 類中的createRfcommSocketToServiceRecord(UUID)方法(UUID 為識別碼),獲取Bluetoothsocket后才能建立連接。連接多個設備時,應用程序需要建立一個服務器端口Bluetoothserversocket,調用accept()方法監聽其它設備請求,當有請求發出后,將已經連接的Bluetoothsocket分配給設備。

2.5 藍牙設備通信

設備連接成功后,主從設備擁有同一個Bluetoothsocket,通 過 getInputStream ()、getOutputStream()方法得到數據流,然后調用write()、read()方法寫入或者讀出數據,對于復雜的數據傳送可能出現堵塞情況,需要單獨建立一個線程實現。

至此整個應用程序設計完成,圖3為應用程序運行界面、測試結果圖。

3 單片機程序設計

步進電機是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,達到準確定位的目的;可以通過調整每相通電順序,改變電機轉動方向;可以通過控制脈沖頻率來控制電機轉動的速度,達到調速的目的[7]。設計采用AT89C52單片機作為控制器芯片,ULN2003芯片作為脈沖驅動芯片,藍牙串口模塊采用HC-06,步進電機采用M35SP-9四相電機,具有調速、調向的功能,數據接收、發送采用查詢的方式[8],程序流程如圖4所示。應用程序發送控制命令,單片機接收后調用對應的命令子程序,最后返回當前運行狀態給應用程序。

圖3 應用程序運行效果圖Fig.3 Running effect of application program

圖4 程序流程圖Fig.4 Program flowchart

4 結 論

Android系統的應用越來越廣泛,其中藍牙是一種主要的數據傳輸方式,通過對Android系統藍牙編程,完成了應用程序界面編寫及單片機步進電機驅動程序設計,實現了Android系統與單片機之間的藍牙通信。實踐表明,該通信方式數據傳輸穩定、控制精度高,對Android系統的應用具有積極的指導意義。

[1] 鄔正義,范 瑜,徐惠鋼.現代無線通信技術[M].北京:高等教育出版社,2006:342-343.

[2] 郭宏志.Android應用開發詳解[M].北京:電子工業出版社,2010:173-175.

[3] 楊文志.Google Android程序設計指南[M].北京:電子工業出版社,2009:210-212.

[4] 李黎國,張 輝,程 號.基于Android健康服務終端藍牙傳輸軟件的設計[J].電子科技,2012,25(5):115-118.

[5] MILIER B A.藍牙核心技術[M].北京:機械工業出版社,2001:180-182.

[6] 朱 剛,談振輝,周賢偉.藍牙技術原理與協議[M].北京:北方交通大學出版社,2002:200-201.

[7] 胡虔生,胡敏強.電機學[M].北京:中國電力出版社,2009:145-146.

[8] 陳貴銀.單片機原理及接口技術[M].北京:電子工業出版社,2011:98-100.

猜你喜歡
單片機設備方法
諧響應分析在設備減振中的應用
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 伊人色婷婷| 国产精品一区二区国产主播| 欧美在线视频不卡第一页| 激情综合网激情综合| 国产精品yjizz视频网一二区| 91视频精品| 国产99视频免费精品是看6| 中国一级特黄视频| 亚洲另类色| 亚洲欧美另类中文字幕| 国产福利一区在线| 波多野结衣一区二区三区AV| 成色7777精品在线| 草逼视频国产| 欧美伊人色综合久久天天| 亚洲人成网站18禁动漫无码 | 久久窝窝国产精品午夜看片| 91精品福利自产拍在线观看| 九色综合伊人久久富二代| 精品福利视频网| 免费不卡在线观看av| 日韩av高清无码一区二区三区| 欧美三级不卡在线观看视频| 美女被躁出白浆视频播放| 久久 午夜福利 张柏芝| 国产精品 欧美激情 在线播放| 大香伊人久久| 特级毛片免费视频| 91系列在线观看| 在线不卡免费视频| 91小视频版在线观看www| 日韩a在线观看免费观看| 亚洲中文字幕av无码区| 超碰91免费人妻| 亚洲综合九九| 成人日韩欧美| 国产极品美女在线观看| 日本五区在线不卡精品| 亚洲日本中文综合在线| 中日韩一区二区三区中文免费视频| 国产手机在线ΑⅤ片无码观看| 99久久精品免费视频| 在线国产你懂的| 久青草网站| 欧美yw精品日本国产精品| 欧美成人二区| 91精品小视频| 日韩无码黄色网站| 色婷婷成人网| 欧美日韩综合网| 久久精品国产在热久久2019| 无码国内精品人妻少妇蜜桃视频| 国产亚洲精久久久久久无码AV| 色综合久久无码网| 国产18在线| 国产一级毛片网站| 美女被操91视频| 国产免费黄| 一区二区三区四区精品视频| 免费无码网站| 波多野结衣一二三| 免费在线一区| 国产美女精品一区二区| 欧美影院久久| 国产精品 欧美激情 在线播放| 亚洲日本中文字幕天堂网| 黄色网址免费在线| AV色爱天堂网| 女人18一级毛片免费观看| 99热这里只有精品在线观看| 中文字幕啪啪| 野花国产精品入口| 天堂成人在线| 国产精品无码制服丝袜| 野花国产精品入口| 综合色88| 国产精品成人AⅤ在线一二三四| 国产亚洲精品自在线| av一区二区人妻无码| 亚洲国产在一区二区三区| 精品三级在线| 久久成人18免费|