2017-06-13 2 views
0

Je veux envoyer hexadécimal cmd (0X2A, 0X0A, 0X58) à partir de framboise pi à mon autre périphérique bluetooth interfacé (Arduino) pour recevoir des données de capteur.Quand j'utilise le serveur. envoyer (0X2A, 0X0A, 0X58) .si ne fonctionne pas. Alors comment envoyer cette demande cmd pour recevoir des données de bluetooth.J'ai déjà couplé mes appareils Bluetooth.commande ASCII envoyer au périphérique bluetooth pour recevoir des données en utilisant Python

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() 
+0

Vouliez-vous dire manquer de la chose que vous importez en ligne 1? – Goralight

+0

Veuillez lire ceci ["Que dois-je faire lorsque quelqu'un répond à ma question?"] (Http://stackoverflow.com/help/someone-answers). – thewaywewere

Répondre

0

Vous pouvez changer envoyer des données en série comme,

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