如何将蓝牙数据发送到未知设备?
Posted
技术标签:
【中文标题】如何将蓝牙数据发送到未知设备?【英文标题】:How to send Bluetooth data to an unknown device? 【发布时间】:2012-10-08 14:42:57 【问题描述】:我问这个问题是因为我已经面临这个问题好几个星期了。
我需要开发一个能够执行蓝牙连接并将数据发送到蓝牙硬件的 android 应用程序。
好的,重点来了:
是否可以执行与“未知”设备的 RFCOMM 连接? 我的意思是,是否可以在没有任何有关硬件代码的信息的情况下执行此操作?
因为我只能修改 AndroidDevice(手机)代码,用于发送目的。
我想发送一个字节并确保它已被接收,但只有一个发送代码。
【问题讨论】:
【参考方案1】:我们可以提供更多细节吗?您是否可以访问其他设备,例如其他设备是否可以知道有关 Android 设备的信息? “发送代码”是什么意思?
Android 设备可以拾取其范围内的任何活动蓝牙设备,并知道这些设备的名称和地址。因此,如果 Android 设备对它要连接的蓝牙设备一无所知,您可以随时对范围内的设备列表进行排序,并从中获取其硬件代码。
请参阅有关蓝牙的文档,特别是查找设备部分: http://developer.android.com/guide/topics/connectivity/bluetooth.html
我已经在 Android 设备和 Arduinos 上完成了大量的蓝牙工作,蓝牙库使用起来可能有点麻烦,但它很强大。
【讨论】:
我有以下情况: 1 - Android 手机 2 - 蓝牙微控制器适配器(我不知道它是如何工作的,你只需打开它,它会自行绑定和连接设备)我想发送从 Android 手机到蓝牙适配器的一个字节,但我不确定如果没有 ReceiverCode 是否可行,我无法访问。 ReceiverCode 是什么意思?您是指蓝牙适配器的地址,还是它的 PIN? 没有。蓝牙供电的设备需要在 AndroidPhone 发送时进行监听。知道了?有什么方法可以建立一个只能访问 AndroidPhone 代码的安全连接? 我不这么认为。蓝牙涉及两个“同意”相互连接的设备,它不是广播协议,这意味着 Android 设备不能只是将数据发送给世界并希望有人在听。为了使蓝牙 API 在 Android 端工作,Android 设备需要连接到蓝牙设备,为此您需要有关蓝牙设备的信息。否则,您将无法获得一个开放的流来写入数据。 嗯,这就是我所坚持的。所以现在我需要检查蓝牙 MC 适配器是否有特定的协议来监听传入的连接。否则无法在这些设备之间执行数据传输。非常感谢您的指导。【参考方案2】:通过蓝牙,这两个设备都有一个 UUID。如果您编写一个在两个设备上运行的程序,您可以让它们监听该 UUID。当它们作为客户端或服务器连接时,您将拥有一个 dataInputStream 和一个 dataOutputStream。然后,您可以从中推送和拉出字节。
【讨论】:
以上是关于如何将蓝牙数据发送到未知设备?的主要内容,如果未能解决你的问题,请参考以下文章