个人进阶之路——安卓蓝牙模块(4)

来源:互联网 发布:记账app 知乎 编辑:程序博客网 时间:2024/06/06 02:52

图片为淘宝上面的蓝牙模块另一个图片
这个是购买的蓝牙模块的相关说明。
特别注意;以下均为错误的连接方法:
以下情况不属产品质量问题,均为接线错误导致,不保修不退换:
1、自收自发测试成功后,使用中造成TXD或RXD跟地短路的
2、模块接反电源导致损坏的这个模块是作为外贸出口的

产品特性:
1、核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接,KEY引脚对从机无效
2、led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口
3、底板3.3V LDO,输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!
4、接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!
5、空旷地有效距离10米,超过10米也是可能的,但不对此距离的连接质量做保证
6、配对以后当全双工串口使用,无需了解任何蓝牙协议,但仅支持8位数据位、1位停止位、无奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。
7、在未建立蓝牙连接时,支持通过AT指令,设置波特率、名称、配对密码,设置的参数掉电保存。
蓝牙连接后自动切换到透传模式
8、体积小巧(3.57cm*1.52cm),工厂贴片生产,保证贴片质量。并套透明热缩管,防尘美观,且有一定的防静电能力。
9、该链接为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对。
10、小常识(非常重要):
TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。
RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
正常通信时候本身的TXD永远接设备的RXD!
自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。

回来补充一下以前的知识点,首先是BluetoothAdapter类的公共方法
16、startDiscovery( );开始对远程设备进行查找的进程
1、cancelDiscovery( );取消当前的设备发现查找进程
2、checkBluetoothAddress(String address)验证一下蓝牙地址是否可用,字母必须为大写才有效
3、disable( );关闭本地的蓝牙适配器, 不能在没有明确关闭蓝牙的用户动作中使用
4、enable( );打开本地的蓝牙适配器, 不能在没有明确关闭蓝牙的用户动作中使用,不询问直接开启
5、getAddress( );返回本地蓝牙适配器的硬件地址
6、getBondedDevices( );返回已经匹配到本地适配器的BluetoothDevice类的对象集合
7、getDefaultAdapter( );获取对默认本地蓝牙适配器的操作权限。
8、getName( );获取本地蓝牙适配器的蓝牙名称
9、getRemoteDevice(String address)为给予的蓝牙硬件地址获取一个BluetoothDevice对象
10、getScanMode( );获取本地蓝牙适配器的当前蓝牙扫描的模式
11、getState( );获取本地蓝牙适配器的当前状态,4种
12、isDiscovering( );如果当前蓝牙适配器正在处于设备发现查找进程中,返回真值,蓝牙是否允许被搜索
13、isEnable( );如果蓝牙正处于打开状态并且可用,则返回真值
14、listenUsingRfcommWithServiceRecord(String name , UUID uuid)创建一个正在监听,安全的,带有服务记录的RFCOMM(无线射频通信)蓝牙端口。
15、setName(String name)设置蓝牙或者是本地蓝牙适配器的昵称
17、RFCOMM:蓝牙创建连线接口

BluetoothClass.Service
格式和方法略
用于定义所有的服务类常量,任意的BluetoothClass由0或者多个服务类编码组成
BluetoothClass.Device
格式和方法略
用于定义所有的设备类常量,每个BluetoothClass有一个带有主要和较小部分的设备类进行编码,里面的常量一代表主要和较小的设备类部分(完整的设备类)的组合。BluetoothClass.Device.Major的常量只能代表设备类。

要保持安卓程序在API 5以上,注意两个权限的使用

《Android智能手机与8051单片机应用于开发实战》
蓝牙Bluetooth的基本概念,
跟蓝牙相关的类和接口都在android.bluetooth的软件包中(BLEAdapter,BLESocket,BLEServerSocket,BLEDevice)
1、BLEDevice:负责远程的蓝牙设备
2、BLESocket:创建IO串流数据的接口
3、BLEServerSocket:创建蓝牙server端的对象
4、BLEAdapter用于搜索,管理蓝牙设备,包含打开关闭蓝牙,蓝牙状态,搜索蓝牙等常用的功能

2和3常用方法为
Connect()
Close()
getInputStream()
getOutputStream()
getRemoteDevice()

检测手机蓝牙设备与许可权设置
使用权限中加BLE还有BLE_ADMIN
getDefaultAdapter方法获取蓝牙适配器,判断是否支持蓝牙传输功能

0 0
原创粉丝点击