ESP32 串口蓝牙技术原理及案例综合

716 阅读1分钟

1 蓝牙技术原理

  • 蓝牙发展史 image.png image.png
  • 技术对比 image.png image.png image.png image.png image.png

2 BLE 串口蓝牙

  • 服务和特征值UUID定义 image.png image.png
  • 广播 image.png e774534f92706454682e2acf883e837.jpg image.png image.png
  • add attributes into the database image.png image.png image.png

2.1 蓝牙初始化及启动串口接收任务

  • 蓝牙初始化 image.png image.png

2.2 ESP32蓝牙事件回调(接收phone蓝牙客户端数据)

  • gatts_profile_event_handler
  • ESP_GATTS_WRITE_EVT 经过ESP32 蓝牙固件,接收客户端(phone 蓝牙客户端)数据到ESP32内部,并在ESP32中进行处理,后串口打印 image.png
  • spp_cmd_task显示ESP32蓝牙固件接收数据 image.png
  • phone 蓝牙客户端发送数据到ESP32蓝牙固件 342b5db1f6bf93966c4a4a0348a1d0e.jpg
  • 结果ESP32串口接收打印 image.png

2.3 实时把串口数据通过ESP32蓝牙固件发送出去

  • spp_uart_init image.png
  • 创建串口数据处理任务,并实时把串口数据通过ESP32蓝牙固件发送出去 image.png
  • ESP32接收串口数据,通过ESP32蓝牙固件发送出去(最终到phone蓝牙客户端) image.png
  • ESP32串口发送数据 image.png
  • phone 蓝牙客户端接收数据
  • image.png 7f7cacde67ee0673d438ee811f644a9.jpg