Android学习笔记——蓝牙入门
来源:互联网 发布:网络电视怎么重新搜台 编辑:程序博客网 时间:2024/06/04 20:57
Android学习笔记之蓝牙入门
蓝牙概述
蓝牙是一种支持设备间短距离通信的无线电技术。
支持移动电话、笔记本电脑、无线耳机、智能小车等设备之间进行信息的交换。
Android支持的蓝牙协议栈:
协议栈(Protocol Stack)是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。面对众多不同的计算机和网络生产厂家,以及用户要求的便宜、灵活、方便的联网需求,必须建立一个公认的计算机网络连网标准和网络体系结构,以实现任意计算机系统和任意网络系统的互联。
链路管理(LMP)进行蓝牙配对、连接的过程。
BluetoothAdapter类
下面列举几个BluetoothAdapter类常用的成员方法:
权限
使用蓝牙需要在AndroidManifest.xml里添加两条权限:
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/><uses-permission android:name="android.permission.BLUETOOTH"/>
蓝牙模块的Mac地址获取
使用蓝牙模块与硬件通信时,用Android对指定蓝牙设备进行通信,可以使用getRemoteDevice的方法根据硬件设备的Mac地址绑定硬件设备,比如:
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();BluetoothDevicebl uetoothDevice = bluetoothAdapter.getRemoteDevice("98:D3:31:90:88:83"); //注意:有英文的一定要大写
而要用此法,首先要已知蓝牙模块的Mac地址。步骤如下:
1.先通过串口将蓝牙模块与电脑连接
2.打开显示蓝牙(我的是win10系统)
3.添加蓝牙或其他设备
4.输入PIN连接(蓝牙模块一般默认的是1234或0000)
5.更多蓝牙选项
6.查看Mac地址
图中最终获得的值
Bluetooth#Bluetooth80:a5:89:3d:75:9a-98:d3:31:90:88:83
其中 98:d3:31:90:88:83即为此蓝牙模块的Mac地址(注意:在Android中使用时,Mac地址里有英文的一定要大写,即98:D3:31:90:88:83)
蓝牙数据传输
通过蓝牙传输数据与Socket类似。在网络中使用Socket和ServerSocket控制客户端和服务端的数据读写。而蓝牙通讯则由客户端BluetoothSocket和服务端BluetoothServerSocket来完成。这两个类都在android.bluetooth包中。
蓝牙客户端和服务端均需要一个全局唯一标识符UUID(Universally Unique Identifier),格式如下:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(所以UUID实际上是一个8-4-4-4-12格式的字符串)UUID相当于Socket的端口,蓝牙Mac地址相当于Socketde的IP。
- Android学习笔记——蓝牙入门
- android学习笔记——蓝牙介绍
- android 蓝牙学习笔记
- android学习笔记之蓝牙
- 【Android学习笔记】 蓝牙Bluetooth
- Android 普通蓝牙学习笔记
- Android学习笔记之蓝牙
- Android开发笔记——蓝牙
- 快速学习Android蓝牙编程---- 学习笔记
- Android 学习笔记7——蓝牙4.0LE:搜索设备
- Android学习笔记 - 蓝牙篇 (Bluetooth)
- Android学习笔记(九)蓝牙设备
- Android学习笔记 - 蓝牙篇 (Bluetooth)
- Android学习笔记(九)蓝牙设备
- android 蓝牙学习笔记(一)
- Android 蓝牙学习笔记(二:)
- Android 蓝牙学习笔记(一)
- Android蓝牙学习笔记(二)
- 23switch
- 再讲*.hbm.xml中的类型映射
- C语言之简单计算器
- 对kafka的初步了解
- Linux学习笔记:grep及正则表达式
- Android学习笔记——蓝牙入门
- 【Java虚拟机】之一Java运行数据区域
- 排序的之神奇的希维尔排序
- 170804 逆向-RouterScan(8)
- Oracle使用实例:创建只读用户
- 文字的向上滚动
- sql语句优化
- nginx部署访问vue-cli搭建的项目
- spring mvc+Mybatis+bootstrap简单应用