1

我的目标是设置我的 Raspberry Pi 4,使其能够在我使用 React Native 制作的应用程序中单击按钮时运行脚本。我需要能够做到这一点,以便他们可以在没有 wifi 的情况下连接,这就是我决定使用蓝牙的原因。

到目前为止,我在 Pi 上设置了 RFCOMM 服务器,并安装了 react-native-ble-plx 模块以处理蓝牙通信,但我不确定如何让 React Native 连接到该服务器。

如果有人能告诉我如何连接它们并将数据发送到 Pi 以使其运行终端命令并返回结果,我将不胜感激。

4

1 回答 1

1

有两种类型的蓝牙彼此不兼容。RFCOMM 和 BLE 不能一起工作。

在 Raspberry Pi 上,您需要创建一个 GATT 服务器。RPi 使用 BlueZ 堆栈,他们的源代码树中有一个示例: https ://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-gatt-server

您还需要有一个广告,以便您的手机可以找到 gatt 服务器。还有一个例子:https ://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-advertisement

另一个建议是不要尝试同时开发蓝牙链路的两端,因为这很棘手。在开发 React 应用程序之前,使用通用 BLE 工具检查服务器是否正常工作。

于 2020-10-23T22:12:36.823 回答