繁体   English   中英

ASCII命令发送到蓝牙设备以使用Python接收数据

[英]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()

您可以将发送串行数据更改为

  1. server.send('\\x2A\\x0A\\x58')
  2. server.send('2A0A58'.decode("hex"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM