最近需要利用现有的单片机通过蓝牙和手机进行通信,并且在手机中实现一定程度的控制。我只是稍微知道点android的开发,现在是在调研阶段。第一步调研的是利用手头有的android-sdk文件来初步了解android中蓝牙的使用。有关蓝牙通信的基本知识将在以后补充。
一、android中蓝牙支持
安卓平台提供了蓝牙协议栈的支持,允许手机通过无线和其他蓝牙设备进行数据传输。应用程序通过安卓的Android Bluetooth APIs 能够实现蓝牙功能,实现点对点或者说对多点的无线传输功能,这些在API中都能轻易找到。
android中所有的bluetooth API都在android.bluetooth包中,使用bluetooth APIs ,android设备能够实现:
1)扫描其他蓝牙设备;
2)询问当前适配器已配对设备;
3)建立RFCOMM通道;
4)通过设备发现链接到其他设备;
5)传送或接受数据;
6)管理多点连接。
而为了通过蓝牙通信需要事先主要的四个任务:设置蓝牙适配器,查找已经配对的或者查找到的设备,建立连接,设备间传输数据。
二、建立蓝牙通信需要用的的类和接口
BluetoothAdapter :蓝牙适配器类,是所有蓝牙通信的入口,用于发现设备,询问配对请求,通过已知的MAC地址识别设备 BluetoothDevice,并且建立用于监听的 BluetoothServerSocket。
BluetoothDevice :远程蓝牙设备类,这个类的实例被用于通过 BluetoothSocket 或者设备的地址、名称等信息请求远程设备的连接。
BluetoothSocket :是Bluetooth Socket 类(类似于TCP 的Socket套接字)。是一个允许该设备和其他蓝牙设备之间通过InputStream和OutputStream进行数据交换的连接点。
BluetoothServerSocket :是一个用于监听其他设备发出的连接请求的类(类似于TCP的ServerSocket)。通过蓝牙连接两台android设备的时候,其中一台设备必须使用这个类开启一个Socket,当一远程设备向本设备发出蓝牙请求时,如果连接被允许,BluetoothServerSocket将返回一个连接号的BluetoothSocket 类的对象。
BluetoothClass :是描述蓝牙设备普遍特征和属性的类。一系列的属性都是只读类型,定义了设备的各种设备的种类,但是,这个类的属性并不能完全描述所有的蓝牙配置和设备支持的服务,但是对于了解设备类型是很有用的。
BluetoothProfile :接口,一个Bluetooth profile是设备间蓝牙通信的无线接口。(待完善)
BluetoothHeadset :
BluetoothA2dp :(完全不知道说什么)
BluetoothProfile.ServiceListener
三、应用程序蓝牙权限的获取
应用程序为了能够使用蓝牙,需要再程序中至少申明一到两种权限:BLUETOOTH 和 BLUETOOTH_ADMIN
实现任何的蓝牙通信都需要发出蓝牙允许的请求,包括发出连接请求,接受连接请求,传输数据。
为了初始化设备发现或者说操作蓝牙设置都必须申请获得 BLUETOOTH_ADMIN 权限,大多数的应用程序都仅仅是为了能够发现本地的蓝牙设备才需要这个权限,这个权限所能得到的其他应用一般都用不到。
上一篇:STM32比较常见的BUG总结
下一篇:关于stm32单片机低功耗的实现和唤醒
推荐阅读最新更新时间:2024-11-12 10:20
推荐帖子
- 一键GHOST系统备份与恢复(光盘版)
- 备份和恢复系统的实用工具使用方法:用Ghost备份和快速还原C盘Windows系统身躯庞大,如果要重装一次,再加上显卡、声卡、网卡等各硬件驱动程序,还有Office等其他应用软件,需要花费大量时间。要是用备份软件Ghost,则可以实现快速备份和还原系统(还原一般是10分钟左右)。一看名字“Ghost”,“魔鬼”?其实它是“GeneralHardwareOrientedSystemTransfer”的英文缩写,可译为“面向通用型硬件系统传送器”,通常称为“克隆幽灵”。1998年
- feifei 嵌入式系统
- S波段宽带低噪声放大器
- 摘要:介绍S波段宽带低噪声放大器的设计方法和实际测试结果\"该放大器用于指令传输接收系统,采用GaAsFET器件!运用计算机模拟优化方法及单电源电路设计形式,达到了预定的技术指标\"S波段宽带低噪声放大器
- JasonYoo 模拟电子
- 第二次免费开发板赠送,40mb 开发资料包:实例,原理图,keil 正式版,免费下载
- 第二次免费开发板赠送,40mb开发资料包:实例,原理图,keil正式版,免费下载第二次免费开发板赠送,40mb开发资料包:实例,原理图,keil正式版,免费下载下载50个单片机程序实例和开发板原理图,学林电子免费开发板暑期助学活动报名!暑假在家,就学单片机!申请主贴地址: http://www.51c51.com/bbs/thread-68995-1-1.html(即便您对此板子没有兴趣,也可直接下载40mb的开发资料包:实例,原理图,keil正式版等)http://www
- wucc007isyou 嵌入式系统
- 1.5V OTP液晶驱动单片机
- 概述该器件集成了CPU内核,RAM,ROM,定时器,LCD驱动器,I/O端口,R-F转换器,ALARM频率发生器。适用于LCD显示和GPIO控制类的消费类产品应用。特性■液晶驱动型4位单片机■MTPROM:2048X16bits■RAM:64X4bits■工作电压:1.5V或3.0V可选(硬件选择)■24个双向可编程I/O端口(配置选项)-PORT
- 1013957666@qq 单片机
- 翻转IO口输出方波
- voidIO_Toggle(GPIO_TypeDef*GPIOx,u16GPIO_Pin){GPIO_WriteBit(GPIOx,GPIO_Pin,(BitAction)((1-GPIO_ReadOutputDataBit(GPIOx,GPIO_Pin))));}intmain(void){GPIO_WriteBit(GPIOD,GPIO_Pin_0,Bit_RESET);GPIO_WriteBit(GPI
- 无垠星空 stm32/stm8
- 基于ARM的双通道数据采集
- 输入端接函数信号发生器,基于LM3S9B96的方波,正弦波,三角波等在屏幕上显示出来怎么写啊?基于ARM的双通道数据采集按点画线就可以,像示波器一样,和你输入的波形无关littleshrimp发表于2015-5-1719:48按点画线就可以,像示波器一样,和你输入的波形无关 不知道怎么按点画线,我是不是要给出许多数值得到波形啊?可以用gui来画啊,,
- L_古斯 ARM技术
设计资源 培训 开发板 精华推荐
- [已成功] 基于nfc的PCB名片
- L6726ATR单相PWM控制器典型应用
- STEVAL-ISA080V1,基于 L6585DE 组合 IC 的 90 W-HB LLC 谐振转换器
- LTC7812EUH 宽输入范围至 12V/8A 低 IQ、级联升压+降压稳压器的典型应用电路
- DER-971 - 使用 LinkSwitch-TNZ 的 0.25 W 非隔离电源,不带电解电容器
- 物联控制|室外_物联网控制器V1.0
- 使用 LT6202 将 ±10V 双极性信号转换为 0V 至 5V 输入信号到 LTC2370IMS-16 的典型应用
- esp8266 游戏机
- MAXREFDES138#:无光耦隔离,PoE,48V至12V,12W反激电源
- STM32F439NI MCU的评估板