Raspberry PI中创建基于蓝牙的个人区域网络PAN

使用树莓派有一个需求: 在新环境中当树莓派还没有连接到无线网络时,如何通过蓝牙连接设备并进行管理,从而可以配置Wifi。

网上有好多关于 TCP/IP over Bluetooth 的文章,但都有一些问题,经过中践,总结如下配置方法

1,安装bluez-tool

sudo apt-get install bluez-tools

2,配置,我这边写了个简单的shell,主要就是生成几个unit-file并Enable 一些命名可以自定义修改,IP也可以修改.

#!/bin/sh

cat > /etc/systemd/network/pan0.netdev <<EOF
[NetDev]
Name=pan0
Kind=bridge
EOF

cat > /etc/systemd/network/pan0.network <<EOF
[Match]
Name=pan0

[Network]
Address=172.20.1.1/24
DHCPServer=yes
EOF

cat > /etc/systemd/system/bt-agent.service <<EOF

[Unit]
Description=Bluetooth Auth Agent

[Service]
ExecStart=/usr/bin/bt-agent -c NoInputNoOutput
Type=simple

[Install]
WantedBy=multi-user.target
EOF

cat > /etc/systemd/system/bt-network.service <<EOF

[Unit]
Description=Bluetooth NEP PAN
After=pan0.network

[Service]
ExecStart=/usr/bin/bt-network -s nap pan0
Type=simple

[Install]
WantedBy=multi-user.target
EOF

systemctl enable systemd-networkd
systemctl enable bt-agent
systemctl enable bt-network
systemctl start systemd-networkd
systemctl start bt-agent
systemctl start bt-network

3,匹配连接

discoverable设为1,当然你也可以使用bluetoothctl来进行初次配对。

sudo bt-adapter --set Discoverable 1

成功后即可加入到PAN,并获得相应的IP对PI进行管理,SSH,FTP等等就随意了