我一直在努力在运行Linux服务的Python脚本中使用运行Cordova混合应用程序的iPhone设备连接蓝牙服务器(使用Bluez或类似软件)。使我的python的蓝牙服务器对iOS可见
我使用的科尔多瓦 - 插件-BLE-中央对于后者,和前我给你下面的代码:
try:
server_sock = BluetoothSocket(RFCOMM)
server_sock.bind(("", 0))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "d507688e-5fa7-11e7-907b-a6006ad3dba0"
advertise_service(server_sock, "TestService", service_id=uuid, service_classes=[uuid])
print("Waiting for connection on RFCOMM channel %d" % port)
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()
except Exception as e:
print 'ERROR: ' + str(e)
的问题是,“扫描()”函数的结果iPhone给了我几个设备附近,但不是我的...在Android中,它的工作原理非常好!
我错过了什么?有没有办法让它发现?
在此先感谢
同样如果你使用像LightBlue.app一个应用程序(可在AppStore上),你看到你的设备了吗?如果是,您可能想向我们展示Cordova代码而不是Python代码。 – Larme
@Larme不,我看不到使用LightBlue的设备... – DanielY
在下面链接的线程底部,有一个使用dbus将界面置于可发现模式的示例。我会测试这个,并写出一个答案,当我可以(如果它的作品);除非有人打我。只是想发布一条可能的路径:https://www.raspberrypi.org/forums/viewtopic.php?f=32&t=111486 – jinksPadlock