BLE Bluez Host + nrf52832 Controller环境搭建

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节点

BLE Bluez Host + nrf52832 Controller环境搭建_第1张图片

使用以下命令加载新的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接口

BLE Bluez Host + nrf52832 Controller环境搭建_第2张图片

这个新增的接口就是我们nrf52832 生成的BLE Controller

至此,后续即可通过bluetoohctl控制nrf52832开发板,实现BLE控制了。

Note: bluez + zephyr + nrf52832是一个非常有用的组合来学习BLE协议,zephyr除了支持BLE Host, 同时也支持BLE Controller,而且全部都是开源的!后续的LE Audio更是重头戏!

 一起开始学习吧!

你可能感兴趣的:(腾讯云,云计算,阿里云)