ESP32 芯片平台的蓝牙 Demo 使用方法)

@ESP32 芯片平台的蓝牙 Demo 使用方法

ESP32 芯片是集成了 2.4 GHz Wi-Fi 和蓝牙双模的 SoC 方案。之前玩转 ESP8266 芯片的大都是 Wi-Fi 开发者,升级到 ESP32 芯片平台时对 Wi-Fi 部分还比较熟悉操作,但对新增加的蓝牙部分可能还不太了解,所以本文目的就是演示一下,指引想应用 ESP32 芯片蓝牙功能的开发者们该如何入手。

ESP32 芯片的 Wi-Fi 功能本文就略过不提了,直接谈蓝牙部分。ESP32 支持蓝牙 v4.2 的完整标准,包括传统蓝牙 (BR/EDR) 和低功耗蓝牙 (BLE)。
那么怎么来测试蓝牙功能呢?
在我们的 ESP-IDF 1.0 中已经包含了三个 BLE demo,分别是:05_ble_adv、14_gatt_server 和 15_gatt_client。

首先,我们来看第一个 demo:05_ble_adv
这是一个发送广播 (advertising) 的 demo。
进入 ESP-IDF 目录后(请在 github.com/espressif/esp-idf 下载),可以直接执行 make clean 再执行 make。弹出 make menuconfig 的图形用户界面 (GUI) 之后,可打开 BT 选项,如下图所示:
在这里插入图片描述
make flash 会编译源码,并且在编译好之后会烧录 BIN 文件。下图为烧录成功的打印信息:
在这里插入图片描述
连上串口工具,会有如下打印:
在这里插入图片描述
让我们来看看发生了什么?拿出安卓手机,打开 BLE 软件 BLEDeng (可以在应用商店下载),发现搜到了名为 ESP-BLE-HELLO 的设备,这个就是 05_ble_adv/main/app_bt.c demo 中设置的名字。
在这里插入图片描述
在这里插入图片描述
用户通过 05_ble_adv 下的 readme.rst,可以发现这个 demo 只是一个通过主机控制接口 (HCI) 直接控制蓝牙控制器发送广播的小程序。
在这里插入图片描述
其次,我们来看一下蓝牙主机的 demo,例如 GATT。
ESP-IDF 的 examples 目录下面还有 14_gatt_server 和 15_gatt_client,这就是 GATT 的 demo。我们以 14_gatt_server 的 demo 为例,来进行测试。
进入 14_gatt_server 的界面,同样可以直接编译,如果弹出 make menuconfig 的 GUI,同样检查一下 BT_ENABLE 的选项,并打开它。有了 05_ble_adv 的 demo 编译和烧录的经验,这个程序很快就能编译好,并且烧录成功。打开串口工具,发现了如下打印:
在这里插入图片描述
这个串口的打印,比 05_ble_adv 的 demo 多了一些 CREATE_SERVICE、ADD_CHAR、ADD_DESCR 的字眼,这个很明显就是创建了 GATT 的服务,添加了特性和描述。
此时,我们打开 LightBlue 软件,可以看到搜索到了设备 ESP_GATTS_DEMO。
在这里插入图片描述
再连接 GATT Server,发现已经可以连接成功了,显示出一个为 0xFF 的通用唯一识别码 (UUID),这个 UUID 很明显是 demo 自定义的啦。
在这里插入图片描述
我们再点进去这个 Service 看一下,发现可以读写特性,小编的截图已经是多次读取过特性和写过特性的
在这里插入图片描述
这里的 READ 操作返回的 0xDEEDBEEF 是在代码的哪里呢?打开 demo 的代码,会发现程序的 123 行收到了 GATTS_READ_EVT,这个表示的就是收到了 GATT 的读请求事件,收到事件后,程序固定发送 0xdeedbeef 的值的响应,正好与手机 app 里看到的是一致的。
在这里插入图片描述
说完读操作,再来看看写操作吧。
当小编写入特性值 0x8899 的时候,在最下面的串口 log 也可以看到 ESP32 已经接收到了正确的值,测试成功。
在这里插入图片描述
bluelight explorer:
[1]:http://www.liangchan.net/soft/softdown.asp?softid=10488

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值