1、首先要准备一台linux设备运行bluez
本文使用树莓派作为运行bluez的linux环境, 默认自带bluez,?可以检查一下bluez版本
pi@raspberrypi:~ $ dpkg -s bluez | grep ^Version
Version: 5.50-1.2~deb10u2+rpt1
pi@raspberrypi:~ $
pi@raspberrypi:~ $
如果版本太旧可以考虑升级一下bluez
2、编译zephyr中的hci_uart例程,并烧录到nrf52832开发板中
west build -p always -b nrf52dk_nrf52832 samples\bluetooth\hci_uart
west flash
3、将烧录好的nrf52832开发板通过USB线插入树莓派中
通过ls /dev命令能够看到nrf52832开发板通过USB转串口,在树莓派中生成了一个ttyACM0节点
使用以下命令加载新的hci接口
pi@raspberrypi:~ $ sudo btattach -B /dev/ttyACM0 -S 1000000
pi@raspberrypi:~ $Attaching Primary controller to /dev/ttyACM0
pi@raspberrypi:~ $Switched line discipline from 0 to 15
pi@raspberrypi:~ $Device index 1 attached
4、接下来用sudo hciconfig查看hci接口,会发现多了一个hci1接口
这个新增的接口就是我们nrf52832 生成的BLE Controller
至此,后续即可通过bluetoohctl控制nrf52832开发板,实现BLE控制了。
Note: bluez + zephyr + nrf52832是一个非常有用的组合来学习BLE协议,zephyr除了支持BLE Host, 同时也支持BLE Controller,而且全部都是开源的!后续的LE Audio更是重头戏!
?一起开始学习吧!
|