Ich versuche, eine Bluetooth-Kommunikationsverbindung zwischen meiner Android App und einem Raspberry Pi 3 zu bauen. Ich versuche, pybluez auf meinem Raspberry Pi zu verwenden. Mein Problem ist, dass, wenn ich versuche, den Beispiel-Code mit pybluez (siehe unten) enthielt ausführen ich die folgende Fehlermeldung:Kann Python-Bluez nicht ausführen RFCOMM Server Beispiel Skript
Traceback (most recent call last):
File "/usr/share/doc/python-bluez/examples/simple/rfcomm-server.py", line 20, in <module>
profiles = [ SERIAL_PORT_PROFILE ],
File "/usr/lib/python2.7/dist-packages/bluetooth/bluez.py", line 176, in advertise_service
raise BluetoothError (str (e))
BluetoothError: (2, 'No such file or directory')
Dies ist das Skript, das ich zu laufen bin versucht: Es scheint, dass das Problem ist in der advertise_service Methode ...
# file: rfcomm-server.py
# auth: Albert Huang <[email protected]>
# desc: simple demonstration of a server application that uses RFCOMM sockets
#
# $Id: rfcomm-server.py 518 2007-08-10 07:20:07Z albert $
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:
data = client_sock.recv(1024)
if len(data) == 0: break
print "received [%s]" % data
except IOError:
pass
print "disconnected"
client_sock.close()
server_sock.close()
print "all done"
Interessanterweise funktioniert das folgende Skript einwandfrei, aber ich kann von Android nicht anschließen, weil ich den Port usw. einzustellen für die Steckdose in Android nicht in der Lage bin.
import bluetooth
server_sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)
port = 1
server_sock.bind(("",port))
server_sock.listen(1)
client_sock,address = server_sock.accept()
print("Accepted connection from ",address)
data = client_sock.recv(1024)
print("received [%s]" % data)
client_sock.close()
server_sock.close()
Was könnte der Grund für die Fehlermeldung sein, die ich für das offizielle Beispielskript bekomme ??? Ich habe bereits die hier beschriebenen Schritte befolgt: https://stackoverflow.com/a/14827036/6149322
Danke für Ihre Hilfe!