《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > Android應用之藍牙傳感應用
Android應用之藍牙傳感應用
摘要: 如果傳感器本身需要包含控制電路(例如采集血氧信號需要紅外和紅外線交替發射),那么傳感器本身就需要帶一片主控IC,片內采集并輸出數字信號了。
Abstract:
Key words :

如果傳感器本身需要包含控制電路(例如采集血氧信號需要紅外和紅外線交替發射),那么傳感器本身就需要帶一片主控IC,片內采集并輸出數字信號了。Android手機如何在不改硬件電路的前提下與這類數字傳感器交互呢?可選的通信方式就有USB和藍牙,兩種方式各有好處:USB方式可以給傳感器供電,藍牙方式要自備電源;USB接口標準不一,藍牙普遍支持SPP協議。本文選擇藍牙方式做介紹,介紹Android的藍牙API以及藍牙客戶端的用法。
      在Android 2.0,官方終于發布了藍牙API(2.0以下系統的非官方的藍牙API可以參考這里:http://code.google.com/p/android-bluetooth/)。Android手機一般以客戶端的角色主動連接SPP協議設備(接上藍牙模塊的數字傳感器),連接流程是:
1.使用registerReceiver注冊BroadcastReceiver來獲取藍牙狀態、搜索設備等消息;
2.使用BlueAdatper的搜索;
3.在BroadcastReceiver的onReceive()里取得搜索所得的藍牙設備信息(如名稱,MAC,RSSI);
4.通過設備的MAC地址來建立一個BluetoothDevice對象;

5.由BluetoothDevice衍生出BluetoothSocket,準備SOCKET來讀寫設備;

6.通過BluetoothSocket的createRfcommSocketToServiceRecord()方法來選擇連接的協議/服務,這里用的是SPP(UUID:00001101-0000-1000-8000-00805F9B34FB);
7.Connect之后(如果還沒配對則系統自動提示),使用BluetoothSocket的getInputStream()和getOutputStream()來讀寫藍牙設備。

先來看看本文程序運行的效果圖,所選的SPP協議設備是一款單導聯心電采集表:

本文的代碼較多,可以到這里下載:http://www.pudn.com/downloads305/sourcecode/comm/android/detail1359043.html

本文程序包含兩個Activity(testBlueTooth和WaveDiagram),testBlueTooth是搜索建立藍牙連接。BluetoothAdapter、BluetoothDevice和BluetoothSocket的使用很簡單,除了前三者提供的功能外,還可以通過給系統發送消息來控制、獲取藍牙信息,例如:

注冊BroadcastReceiver:

view plaincopy to clipboardprint?
IntentFilter intent = new IntentFilter();  
intent.addAction(BluetoothDevice.ACTION_FOUND);// 用BroadcastReceiver來取得搜索結果  
intent.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);  
intent.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);  
intent.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);  
registerReceiver(searchDevices, intent); 
  IntentFilter intent = new IntentFilter();
  intent.addAction(BluetoothDevice.ACTION_FOUND);// 用BroadcastReceiver來取得搜索結果
  intent.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
  intent.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);
  intent.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
  registerReceiver(searchDevices, intent);

在BroadcastReceiver的onReceive()枚舉所有消息的內容:

view plaincopy to clipboardprint?
String action = intent.getAction();  
            Bundle b = intent.getExtras();  
            Object[] lstName = b.keySet().toArray();  
 
            // 顯示所有收到的消息及其細節  
            for (int i = 0; i < lstName.length; i++) {  
                String keyName = lstName[i].toString();  
                Log.e(keyName, String.valueOf(b.get(keyName)));  
            } 
String action = intent.getAction();
   Bundle b = intent.getExtras();
   Object[] lstName = b.keySet().toArray();

   // 顯示所有收到的消息及其細節
   for (int i = 0; i < lstName.length; i++) {
    String keyName = lstName[i].toString();
    Log.e(keyName, String.valueOf(b.get(keyName)));
   }

在DDMS里面可以看到BluetoothDevice.ACTION_FOUND返回的消息:

 

 

程序另外一個Activity~~~WaveDiagram用于讀取藍牙數據并繪制波形圖,這里要注意一下JAVA的byte的取值范圍是跟C/C++不一樣的,Android接收到的byte數據要做"& 0xFF"處理,轉為C/C++等值的數據。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产久精国产一老狼 | 久久超碰97中文字幕| 亚洲毛片一区二区| 亚洲国内欧美| 91久久视频| 亚洲人成网站精品片在线观看| 欧美一区午夜精品| 欧美一区=区| 欧美在线播放视频| 久久激情网站| 亚洲成色精品| 最新亚洲电影| 亚洲精品在线免费观看视频| 亚洲精品美女在线| 日韩午夜av| 一区二区三区四区在线| 在线亚洲观看| 亚洲欧美日韩国产综合在线| 午夜久久福利| 久久电影一区| 久久综合伊人77777蜜臀| 麻豆久久婷婷| 欧美福利视频一区| 欧美日韩小视频| 欧美性猛片xxxx免费看久爱 | 国模套图日韩精品一区二区| 黑人巨大精品欧美黑白配亚洲| 国产一区二区三区日韩| 国产一区二区三区观看| 精品1区2区3区4区| 亚洲国产精品一区二区尤物区| 亚洲人午夜精品免费| 夜夜嗨av一区二区三区| 亚洲一区二区视频在线观看| 欧美在线免费| 亚洲三级毛片| 亚洲一区免费网站| 欧美在线国产| 欧美成人精品一区| 欧美日韩午夜| 国产日韩欧美综合精品| 一区二区三区在线观看视频| 91久久精品国产91性色| 在线一区视频| 久久成人在线| 一本久道久久久| 午夜视频在线观看一区| 亚洲精品你懂的| 亚洲一区二区欧美日韩| 欧美一区二区视频网站| 亚洲国产另类久久精品| 一本色道久久| 久久成人综合网| 欧美日本一区二区三区| 国产精品久久久久久久久果冻传媒 | 欧美理论电影在线观看| 国产欧美日韩另类视频免费观看| 一区二区三区中文在线观看| 99精品国产福利在线观看免费| 亚洲欧美日韩精品在线| 亚洲三级毛片| 欧美在线观看一二区| 欧美电影在线观看| 国产精品丝袜xxxxxxx| 亚洲国产精品99久久久久久久久| 亚洲网站啪啪| 亚洲人午夜精品| 久久国产色av| 欧美天天在线| 亚洲第一色中文字幕| 亚洲伊人伊色伊影伊综合网| 最新中文字幕亚洲| 欧美呦呦网站| 欧美天堂亚洲电影院在线观看| 激情亚洲成人| 亚洲综合99| 一区二区高清在线观看| 久久午夜精品| 国产精品日日摸夜夜摸av| 亚洲国产精品一区二区www在线| 亚洲男女自偷自拍图片另类| 99国产精品视频免费观看一公开 | 欧美另类在线播放| 韩日午夜在线资源一区二区| 在线亚洲电影| 99re66热这里只有精品4| 久久欧美肥婆一二区| 国产精品亚发布| 日韩视频在线一区二区三区| 亚洲夫妻自拍| 久久国产精品久久精品国产| 欧美特黄一级| 亚洲精品少妇网址| 亚洲黄色尤物视频| 久久精品欧美日韩| 国产精品久久久久久久久久久久 | 久久亚洲视频| 国产日韩一区二区三区在线播放 | 亚洲自拍啪啪| 欧美裸体一区二区三区| 欲色影视综合吧| 欧美一区综合| 久久99伊人| 国产精品在线看| 亚洲一级片在线观看| 一区二区三区四区在线| 欧美黄免费看| 最新日韩av| 日韩视频在线免费| 免费在线观看精品| 伊人久久大香线蕉综合热线| 欧美亚洲视频在线看网址| 欧美亚洲视频在线观看| 国产精品国产三级国产aⅴ入口| 99精品热视频| 亚洲综合电影一区二区三区| 欧美午夜片在线观看| 一二三区精品| 亚洲在线电影| 国产精品美女在线观看| 亚洲图片在线| 香蕉久久久久久久av网站| 国产精品久久久久久户外露出| 在线综合+亚洲+欧美中文字幕| 亚洲午夜国产成人av电影男同| 欧美日韩性视频在线| 日韩视频免费大全中文字幕| 一本大道久久a久久综合婷婷| 欧美日韩黄色一区二区| 国产精品99久久99久久久二8 | 午夜免费日韩视频| 国产美女扒开尿口久久久| 午夜一区二区三区不卡视频| 久久久久久国产精品一区| 国产综合色在线| 亚洲欧洲日本一区二区三区| 欧美成人精品1314www| 亚洲精品永久免费| 亚洲免费综合| 国产一区二区精品久久99| 欧美专区中文字幕| 美国成人直播| 亚洲精品欧美一区二区三区| 在线视频日本亚洲性| 国产精品视频久久| 欧美在线二区| 欧美国产专区| 亚洲午夜伦理| 久久久国产精品亚洲一区| 亚洲成人资源| 一区二区日韩| 国产伦精品一区二区三区视频黑人 | 9色国产精品| 国产精品视频免费一区| 久久精品国产99国产精品澳门| 美女脱光内衣内裤视频久久网站| 亚洲欧洲日韩综合二区| 小处雏高清一区二区三区| 好吊成人免视频| 99视频+国产日韩欧美| 国产精品久久福利| 亚洲第一福利社区| 欧美日韩中文字幕在线视频| 欧美一区二区三区精品电影| 欧美大片免费看| 亚洲男人第一av网站| 欧美多人爱爱视频网站| 在线一区二区三区四区| 久久亚洲欧美国产精品乐播| 亚洲精品视频二区| 久久精品一级爱片| 99re热这里只有精品视频| 久久国产精品久久精品国产| 亚洲欧洲日产国产综合网| 久久成人免费视频| 最新成人av在线| 久久久国产精品一区| 日韩写真视频在线观看| 久久久久久久久久码影片| 亚洲精品中文在线| 久久精品日韩| 在线视频精品一| 欧美99在线视频观看| 亚洲欧美成人在线| 欧美另类综合| 亚洲福利在线观看| 国产精品嫩草影院一区二区| 亚洲日本免费电影| 国产色视频一区| 一区二区欧美在线观看| 一区二区自拍| 久久成人综合网| 亚洲视频你懂的| 欧美福利一区二区| 欧美一区二区三区啪啪| 欧美视频在线观看免费| 亚洲伦伦在线| 在线精品视频在线观看高清| 欧美一级淫片播放口| 日韩午夜免费|