我目前正在使用蓝牙设备,目标是将数据(只是一个文本字符串)从raspberryPi2发送到安卓智能手机。
让我补充一句,我知道所谓的“配对”过程和发现的存在。我已经能够成功地将数据从手机发送到我的计算机(Windows10)。但是,我不能在RaspberryPi和电话之间接收或发送数据。在Windows中:只能从手机接收数据,但不能将数据发送到手机。
我使用的代码(在计算机上接收)如下:
from bluetooth import *
server_socket=BluetoothSocket( RFCOMM )
server_socket.bind(("", 3))
server_socket.listen(1)
client_socket, address = server_socket.accept()
data = client_socket.recv(1024)
print("received [%s]" % data)
client_socket.close()
server_socket.close()我在手机上使用了一个叫“蓝牙终端”的应用。
在这个应用程序中,我必须首先将手机“连接”到我的电脑。这是我的第二个问题:
“连接”两个蓝牙设备到底是什么意思?->它看起来不像是配对的->它甚至更令人困惑,因为我有时可以“直接”发送到手机,而不必经历这个神秘的“连接”过程……
他们所说的“连接”是什么意思?
发布于 2018-08-15 19:44:54
好的,我想我可以回答我自己的问题:
来自:https://developer.android.com/guide/topics/connectivity/bluetooth#about-uuid
请注意,配对和连接是有区别的:
配对意味着两个设备知道彼此的存在,具有可用于身份验证的共享链路密钥,并且能够彼此建立加密连接。
要进行连接,意味着设备当前共享RFCOMM通道,并且能够彼此传输数据。当前的Android蓝牙API要求在建立RFCOMM连接之前对设备进行配对。当您使用蓝牙API发起加密连接时,会自动执行配对。
https://stackoverflow.com/questions/51848180
复制相似问题