问题 我正在为树莓派编写蓝牙通信库,只需要支持简单的消息传递。主要需求是分散化。 因此,我认为蓝牙Mesh会是最好的解决方案。我按照此指南安装了Linux meshctl工具,但我找不到在多个树莓派之间发送消息的功能。似乎meshctl工具仅用于配置和管理蓝牙Mesh网络。 这正确吗?如果我错了,请纠正我,我很愿意接受。 解决方案? Zephyr是否是一个可行的替代选择?目前它似乎在蓝牙Mesh方面领先于Linux。 TLDR:Linux的meshctl工具是否仅用于配置和管理?我应该使用Zephyr代替吗?
TLDR: 是的,Meshctl仅用于配置。最好使用Zephyr来代替常规mesh节点。Bluetooth Mesh 节点通常是嵌入式设备,而 Zephyr 则是常规节点的一种很好的替代品。它由 Linux 基金会支持,并具有丰富的功能实现。目前还在积极开发中。此外,还有几个其他的开源mesh实现:Mynewt-nimble 和 ESP32,但它们实际上都基于 Zephyr 的 mesh栈。作为配置器,您可以使用蓝牙软件栈Bluez的meshctl或手机上的配置程序(nRF Mesh或Silicon Labs的蓝牙Mesh)。
Zephyr是一个很好的选择。Bluetooth SIG为希望学习蓝牙网格(包括实践项目工作)的开发人员提供了教育资源,并使用了Zephyr。请参见https://www.bluetooth.com/bluetooth-resources/bluetooth-mesh-developer-study-guide/。
你可以使用STMicroelectronics的ST BLE Mesh应用程序: https://play.google.com/store/apps/details?id=com.st.bluenrgmesh&hl=en_IN 他们还有Mesh固件和应用程序SDK,其中包括(Mesh的Android库和Mesh的iOS SDK)。 它不仅可以作为提供商,而且还可以通过电子邮件或云共享网状网络配置到另一个智能手机。除此之外,他们还有许多网格模型的命令集 - GenericOnOff,GenericLevel,Sensor Model,Lighting Model,HSL模型和CTL模型。您可以在此处提出支持问题:https://community.st.com/s/topic/0TO0X000000BSrIWAW/ble-mesh