本文描述利用 android 平台提供的蓝牙 API 去实现蓝牙设备之间的通信,蓝牙设备之间的通信主要包括了四个步骤:
*设置蓝牙设备
*寻找局域网内可能或者匹配的设备
*连接设备
*设备之间的数据传输
连接设备:
在想建立连接的两个蓝牙设备间,实现客户端(使用服务器端设备的 MAC 地址发送连接请求)和服务器端(开启服务来监听)代码。当他们都拥有一个蓝牙套接字在同一RFECOMM 信道上的时候,可以认为他们之间已经连接上了。
(嵌入式系统作为蓝牙客户端,手机作为蓝牙服务器端)
管理连接(主要涉及数据的传输):
当设备连接上以后,每个设备都拥有各自的 bluetoothsocket。现在你就可以实现设备之间数据的共享了。
1. 首先通过调用 getInputStream方法来获取输入流。然后通过调用 read(byte[])方法来读取数据。
2. 实现细节:因为读写操作都是阻塞调用,需要建立一个专用线程来管理。
本例中:
通过调用 getInputStream方法来获取输入流,调用read(byte[])方法读取到经纬度信息后,强制转换为list有序实数对,将坐标信息显示在已拟合的景区地图坐标系中并显示定位点。