[英]ASCII command send to bluetooth device for receive data using Python
我想从树莓派中发送十六进制cmd(0X2A,0X0A,0X58)到另一个蓝牙接口设备(Arduino)以接收传感器数据。当我使用server.send(0X2A,0X0A,0X58)。如何发送该请求cmd以从蓝牙接收数据。我已经将蓝牙设备配对。
from bluetooth import
server_sock=BluetoothSocket( RFCOMM )
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
advertise_service( server_sock, "SampleServer",
service_id = uuid,
service_classes = [ uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],
# protocols = [ OBEX_UUID ]
)
print "Waiting for connection on RFCOMM channel %d" % port
client_sock, client_info = server_sock.accept()
print "Accepted connection from ", client_info
try:
while True:
server.send(0X2A,0X0A,0X58)
data = client_sock.recv(1024)
if len(data) == 0: break
print "received [%s]" % data
except IOError:
pass
print "disconnected"
client_sock.close()
您可以将发送串行数据更改为
server.send('\\x2A\\x0A\\x58')
或 server.send('2A0A58'.decode("hex"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.