python3蓝牙通讯_使用Python 3.3的蓝牙服务器
坏消息:Python似乎不支持您想要的开箱即用。(至少不在socketmodule.c中)。我见过的大多数python/bluetooth用户都使用^{},尽管它自2009年以来就没有更新过。好消息:我查看了它们的源代码(Linux连接),找到了广告服务的相关位。大部分代码实际上是从python 2.2版本的socketmodule.c复制粘贴的。pybluez确实为一个socket对象定义了一些
坏消息:
Python似乎不支持您想要的开箱即用。(至少不在socketmodule.c中)。
我见过的大多数python/bluetooth用户都使用^{},尽管它自2009年以来就没有更新过。
好消息:
我查看了它们的源代码(Linux连接),找到了广告服务的相关位。大部分代码实际上是从python 2.2版本的socketmodule.c复制粘贴的。
pybluez确实为一个socket对象定义了一些附加功能,以实现所有这些蓝牙功能。它不会太低,而是依赖于^{}来实现。据我所知,它基本上接受python对象并创建BlueZ所期望的数据结构,然后调用它。
如果您不想/不能使用pybluez,您将不得不以某种方式实现这个缺少的功能。我想你可以用c型的。广告服务的相关部分在btmodule.c,第2562-2642行。
在pybluez的源代码中有一个python-3分支,尽管我不知道它是否有效。
如果您决定使用pybluez,可以从their source中获取一个示例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 ],
)
随着google代码的关闭,该代码也可以在githubhere上找到。
更多推荐
所有评论(0)