esp32 蓝牙启动流程_ESP32学习笔记十七之蓝牙通信

本文详细介绍了ESP32的蓝牙通信,包括蓝牙的两种技术——经典蓝牙和蓝牙低功耗,以及ESP32在蓝牙应用中的三种场景。重点讲述了ESP32的蓝牙启动流程,如控制器和主机的结构、HCI接口选择,以及蓝牙在ESP-IDF中的运行环境。此外,还详细阐述了经典蓝牙和BLE的协议栈、角色转换和广播流程。
摘要由CSDN通过智能技术生成

蓝牙是一种短距离通信系统,蓝牙系统分为两种不同的技术:经典蓝牙(ClassicBluetooth)和蓝牙低功耗(BluetoothLowEnergy)。

从整体结构上,蓝牙可分为控制器(Controller)和主机(Host)两大部分;

ESP32应用的三种场景:

场景一(ESP-IDF默认):在ESP32的系统上,选择BLUEDROID为蓝⽛牙主机,并通过VHCI(软件实现的虚拟HCI接⼝口)接⼝口,访问控制器器。

场景⼆:在ESP32上运⾏控制器器(此时设备将单纯作为蓝⽛控制器使⽤),外接⼀个运⾏蓝⽛主机的设备(如运⾏ BlueZ的LinuxPC、运⾏BLUEDROID的Android等)。

场景三:此场景与场景二类似,特别之处在于,在BQB(或其它认证)的控制器测试下,可以将ESP32作为DUT,用UART作为IO接口,接上认证测试的PC机,即可完成认证。

HCI接口选择

ESP32上,HCI只能同时使⽤用⼀个IO接口,即如使用UART,则放弃VHCI、SDIO等其他IO接口。在ESP-IDF(V2.1以后)中,可以在menuconfig中将蓝牙的HCIIO接口方式配置为VHCI或UART。

蓝牙运行环境

ESP-IDF的默认运行环境为双核FreeRTOS,ESP32的蓝牙可按照功能分为多个任务(task)运行,不同任务的优先级也有不同,其中优先级最高的为运行控制器的任务。控制器任务对实时性的要求较高,在FreeRTOS系统中的优先级仅次于IPC任务(IPC任务用于双核CPU的进程通信)。BLUEDROID(ESP-IDF默认蓝牙主机)共包含4个任务,分别运行B

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值