我目前正在尝试通过蓝牙连接Raspberry Pi和iOS设备。使用BTLE和CBCentralManager
我能够做到这一点 - 我可以连接到Pi并共享数据。
我的问题是,为了我的目的,我需要设备有一个IP - 据我所知,只能使用PAN(个人局域网)蓝牙配置文件。 iOS确实支持使用新的Multipeer Connectivity Framework,并且在连接两个iOS设备时有效,一个使用MCNearbyServiceBrowser
,另一个使用MCNearbyServiceAdvertiser
。连接完成后,两个设备都具有带IP的网络接口。但现在我必须让Rasperry Pi进入这种情况 - 我找不到任何方法让Pi加入PAN。
有没有人有任何线索,如果这在某种程度上是可能的,从哪里开始寻找,如果有关于PAN或类似的通信的良好解释?甚至可能有一个类似的东西的框架?我很高兴任何线索和建议。
答案 0 :(得分:5)
Multipeer Connectivity Framework可能基于专有协议,因为我无处可见它实现了PAN。它只与它相似。如您所述,支持的profiles列表包含PAN以及以下注释:
根据蓝牙配件的不同,您可能会遇到轻微的问题 配置文件功能的变化。这些变化受到 配件制造商,而不是iOS设备。
因此理论上支持PAN,您应该能够连接支持此配置文件的任意设备。我通过iPhone上的个人热点将我的Android手机连接到我的iPhone,Android可以使用共享的互联网连接而没有任何问题。
我找到了Raspberry Pi Bluetooth iPhone Tethering教程,似乎准确描述了您要做的事情。为了将来参考,请复制以下步骤:
安装蓝牙套件
sudo aptitude install bluetooth bluez-utils bluez-compat
配对设备,这是棘手的部分
pi@raspberrypi ~ $ hcitool scan
Scanning ...
18:34:51:55:B0:D8 Fanboy ][
pi@raspberrypi ~ $
pi@raspberrypi ~ $ grep KeyboardDisplay /usr/bin/bluez-simple-agent
capability = "KeyboardDisplay"
pi@raspberrypi ~ $ sudo perl -i -pe 's/KeyboardDisplay/DisplayYesNo/' /usr/bin/bluez-simple-agent
pi@raspberrypi ~ $ grep DisplayYesNo /usr/bin/bluez-simple-agent
capability = "DisplayYesNo"
pi@raspberrypi ~ $
pi@raspberrypi ~ $ sudo bluez-simple-agent hci0 18:34:51:55:B0:D8
RequestConfirmation (/org/bluez/18868/hci0/dev_18_34_51_55_B0_D8, 160178)
Confirm passkey (yes/no): yes
Release
New device (/org/bluez/18868/hci0/dev_18_34_51_55_B0_D8)
pi@raspberrypi ~ $
pi@raspberrypi ~ $ sudo bluez-test-device trusted 18:34:51:55:B0:D8 yes
开启个人热点
pi@raspberrypi ~ $ echo "echo 'iface bnep0 inet dhcp' >> /etc/network/interfaces" | sudo sh
pi@raspberrypi ~
$ sudo pand -c 18:34:51:55:B0:D8 -role PANU --persist 30
<强>享受强>
pi@raspberrypi ~ $ ifconfig bnep0
bnep0 Link encap:Ethernet HWaddr e0:91:53:61:0f:74
inet addr:172.20.10.10 Bcast:172.20.10.15 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4426 (4.3 KiB) TX bytes:802 (802.0 B)
所有积分均转至http://www.wolfteck.com/以提供详细说明。