覆盆子BLE外围设备替代bleno

时间:2016-08-14 08:50:05

标签: python bluetooth-lowenergy peripherals bleno

到目前为止,我已经使用bleno开发了几个程序,可以在我的Raspberry Rpi2和RPi3中用作BLE外围设备。 任何人都可以告诉我,如果有替代Bleno的东西,在Python中甚至更好用C语言,为我的Raspberry开发BLE外围设备服务的代码?

4 个答案:

答案 0 :(得分:2)

您可以随时使用Linux中的HCI_CHANNEL_USER功能直接与蓝牙控制器通信(例如来自C)。事实上,这正是bleno所做的。只需遵循蓝牙规范中的HCI协议即可。

答案 1 :(得分:2)

我有同样的痛苦 - 试图为python获得一个好的BLE Peripheral角色库 - 所以我继续将Bleno移植到python2 / 3。 它仍然是WIP,但Echo演示工作正常。

https://github.com/Adam-Langley/pybleno/

它在pypi上是“pybleno”

当然,对于出色的原始节点代码库,向Sandeep Mistry大声呼喊。

希望人们觉得它很有用。

答案 2 :(得分:0)

我不能给你C的答案,但是bluepy现在似乎是与BLE外围设备(就像bleno一样)说话的最佳品种,如果你想使用核心模式,那就是Adafruit的BlueFruit LE

警告:我自己只是用Pi外围设备弄湿了,并且还没有任何成功的项目。

答案 3 :(得分:0)

据我所知,还没有用C编写的库,但这是一个有趣的起点: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/(特别有趣的是:doc / mgmt-api.txt,用于LE事物的doc / gatt-api.txt)

似乎有两个接口可以做蓝牙工作:D-Bus和HCI插座。 HCI套接字是具有特殊AF_BLUETOOTH域的实际C套接字(http://man7.org/linux/man-pages/man2/socket.2.html有助于对此进行解释)。 而且,您可以使用org.bluez。*通过D-Bus进行更高级的接口。

让所有这些工作都可能是一场噩梦,所有其他Python库可能都可以正常工作。如果您想要更高的性能,则完全可以在C或Rust中工作,而只需要套接字和D-Bus,这听起来真的很难。