我正在尝试在两个设备之间创建一个蓝牙 PAN,我可以在其中通过蓝牙连接访问基于 REST 的 Web 服务。我在各种概念证明(蓝牙旧版和蓝牙智能)方面取得了一些成功,但是我在尝试创建组网络或 PANU <-> PANU 网络时遇到了问题。我能够使用网络接入点场景使网络正常工作,但是我们的用例需要是单个设备与另一个单个设备进行通信,而没有路由到任何其他设备或网络。
首先,我有一个带有最新 Raspbian 操作系统的 Raspberry Pi。这是 bluez 5.23 附带的。为了让网络接入点工作,我使用以下代码:
brctl addbr pan0
brctl setfd pan0 0
brctl stp pan0 off
ifconfig pan0 inet6 add fd00::5ef3:70ff:xxxx:xxxx
iplink set pan0 up
bt-network –d –s nap pan0
Run Code Online (Sandbox Code Playgroud)
这很好用,我能够连接 Linux 和 Windows 设备。我还可以从连接到它的设备访问在 Raspberry Pi 上运行的 Apache Web 服务器。
在 Linux 设备上,我使用 blueman 进行连接。我还使用带有 –c 选项的 bt-network 进行连接。对于 Windows 设备(Windows 10 平板电脑),我将设备配对,然后从蓝牙个人区域网络设备屏幕连接到网络。在连接之前,我确实需要使用 bluetoothctl 来信任两个设备。
随着 NAP 的工作,我想尝试让组网络或 panu-panu 网络按照本文档中的描述工作:http : //www.bluetooth.org/docman/handlers/downloaddoc.ashx? doc_id=6554 这些场景将最适合我们,因为我们不想路由到任何其他网络或设备(panu-panu 方案是理想的) …