
我们知道,Intel Edison 模块的顶面(屏蔽壳里面)有一块 Broadcom 的 BCM43340 芯片,这块芯片集成了 Wi-Fi 和 Bluetooth4.0。
在 Yocto 中配置和管理蓝牙
在 Intel 提供的专为 Edison 定制的 Yocto Linux 中,内置了一套工具来配置和管理蓝牙。
1.执行下列指令开启蓝牙,指令bluetoothctl
会BlueZ程序,你会在行头看到[bluetooth]#
:
1 2 |
rfkill unblock bluetooth bluetoothctl |
2.注册代理并将其设置为默认值:
1 2 |
agent KeyboardDisplay default-agent |
3.扫描蓝牙设备:
1 |
scan on |
4.配对蓝牙设备:
1 |
pair <Device ID> |
5.连接蓝牙设备:
1 |
connect <Device ID> |
更多指令使用 help
查看。
在 ubilinux 中配置和管理蓝牙
在 Emutex 发布的 ubilinux 中,似乎还没对内置蓝牙做相应的修改和适配,我们需要手动修改系统文件,才能对蓝牙进行配置和管理。
*感谢提供了此方法的 Daniele_Cleri
安装管理工具
1编译安装rfkill
和BlueZ
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ apt-get install libusb-dev libdbus-1-dev libglib2.0-dev automake libudev-dev libical-dev libreadline-dev rfkill $ wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.24.tar.xz $ tar xf bluez-5.24.tar.xz $ cd bluez-5.24 $ ./configure –disable-systemd $ make -j 2 $ make install |
或
2直接安装rfkill
和BlueZ
1 |
$ apt-get install rfkill BlueZ |
安装管理工具
1.从原始系统镜像获得
/etc/bluetooth/
/usr/sbin/bluetooth_rfkill_event
/usr/sbin/brcm_patchram_plus
并复制到目标系统相同目录中。
(可通过挂载 Intel Edison Yocto Complete Image 中的 edison-image-edison.ext4,或下载 Edison SDK,可以获得相应的文件)
2.将蓝牙固件复制到/etc/firmware
目录中
1 2 |
$ mkdir /etc/firmware $ cp /lib/firmware/bcm43341.* /etc/firmware/ |
3.开启蓝牙
1 2 |
$ bluetooth_rfkill_event & $ rfkill unblock bluetooth |
4.通过hciconfig dev
或rfkill list
可查看识别到的蓝牙设备。
1 2 3 4 5 |
$ hciconfig dev #或 $ rfkill list |
你可以看到3: hci0: bluetooth
已经出现在设备列表中。
5.其他操作与 Yocto 中一致。
本文链接地址: 开启 Intel Edison 中的蓝牙:Yocto 和 ubilinux 中的方案
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
如果您愿意为文章的内容或想法提供支持,欢迎点击下边的捐赠按钮,资助作者创作更多高价值高品质的内容。