0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过Arduino使用ESP-WROOM-32(Bluetooth-BLE连接篇)

蔡鼎瑾 来源:DevicePlus 作者:DevicePlus 2023-02-20 10:49 次阅读

这篇文章来源于DevicePlus英语网站的翻译稿。

本文最初发布在deviceplus网站上,而后被翻译成中文。

在本文中,我们将使用Bluetooth(BLE)功能连接ESP-WROOM-32与其他设备。

本项目电子设备清单
预计完成时间: 60分钟
所需部件:
・ESP-WROOM-32 development board

目录
1. 什么是Bluetooth(蓝牙)?
2. Bluetooth和BLE的区别
3. 在ESP-WROOM-32上使用BLE前的准备
4. 示例程序的运行
5. 总结

1. 什么是Bluetooth(蓝牙)?

pYYBAGPyz8eALkxSAAGJkS1nObM259.png

近年来,头戴式耳机、入耳式耳机、音箱、车载音响系统、鼠标、键盘等很多设备都开始支持Bluetooth通信。虽然与Wi-Fi无线通信不同,但Bluetooth通信对于那些经常使用蓝牙功能的人来说应该已经成为一种比较熟悉的通信方式了。

那么,Bluetooth通信到底是一种什么样的通信方式呢?大家可能会有这样的印象:用Bluetooth功能可以和附近的设备通信,不能和遥远的设备通信。下面,让我们来大致了解一下Bluetooth的机制和规格

Bluetooth(蓝牙)
Bluetooth(蓝牙)是一种无线通信技术规范,可实现固定设备和移动设备之间的短距离数据交换,还可用于构建个人局域网络(PAN)。该技术使用短波UHF无线电波进行数据传输,其波段为2.400 GHz至2.485GHz频段,这是全球范围内工业、科学和医疗领域可以使用的无线电频段。人们开发该技术的初衷是为了找寻一种替代RS-232数据线的无线通信方式。

现在,Bluetooth由蓝牙技术联盟(SIG)管理,该组织在电信、计算、网络和消费电子等领域拥有35000多家成员公司。IEEE将Bluetooth标准化为IEEE 802.15.1协议,但是已不再提供维护。蓝牙SIG负责监督蓝牙规范开发、管理证书认证并保护相关商标权益。要想销售蓝牙设备,制造商必须符合蓝牙SIG的标准。该技术拥有众多专利,可授权给各种合规设备。截至2009年,蓝牙集成电路芯片的年出货量约为9.2亿片。[改编自维基百科]
[改编自维基百科] https://en.wikipedia.org/wiki/Bluetooth

如维基百科中所述,Bluetooth基本上是一种用于数字设备的短距离无线通信标准。

识别与连接方法
使用Bluetooth时,需要经过“配对”和“连接”的步骤。对于无线LAN而言,通常需要输入密码才能连接到接入点,而Bluetooth通信则需要一个设备检测并登录(认证)另一个设备的过程。

pYYBAGPyz8uAFu0zAAH3jJLAS4c259.png

什么是配对?
比如您想通过Bluetooth功能使用智能手机和耳机时,您需要先进行配对设置,这就像一个面对面的识别(即认证、信息注册)仪式,允许目标设备之间相互连接。如果没有这个仪式,比如,如果Bluetooth采用与无线LAN一样的机制,那么有可能发生这种事情:A正在使用耳机的过程中,B用密码认证将A的耳机与自己的智能手机连接起来,A的耳机上会播放B的智能手机上正在播放的音乐。为了防止这种问题,Bluetooth采用了一种对设备之间进行身份验证和注册、并在使用时只允许连接已注册设备的机制。
所以,对于Bluetooth设备而言,基本上每个Bluetooth模块只能同时建立一个连接。

2. Bluetooth和BLE的区别

大家应该见过有时会和Bluetooth一起出现的符号“BLE”吧?BLE是Bluetooth的一种。根据设备的类型和用途,某些设备是采用BLE方式进行通信的。BLE是“Bluetooth Low Energy”的首字母缩写,与普通的Bluetooth相比,是一种功耗更低的通信方式。

Bluetooth和BLE的区别在于通信速度和功耗。如果是发送数据量比较大的应用,比如蓝牙耳机等需要发送音频数据的设备,不适合用BLE通信方式,因为与普通的文本信息不同,这类应用对通信速度和功耗是有一定要求的。BLE的功耗较低,适用于简单的电源ON/OFF状态和可以用文本和数字简单表达的数据通信。(*BLE有时不需要配对)

poYBAGPyz9CAEeU7AAICtpSQrPk410.png

ESP-WROOM-32模块支持BLE通信功能,下面让我们尝试使用一下吧。

3. 在ESP-WROOM-32上使用BLE前的准备

现在,让我们尝试在ESP-WROOM-32上使用BLE功能。在第69篇中,我们已经搭建了环境,但仅凭这个环境是无法通过Arduino来使用BLE通信功能的,要想使用该功能,还需要下载所需的文件。

pYYBAGPyz9qAK6jfAARbrFFzx9o851.png

所需文件– ESP-BLE-Arduino
https://github.com/nkolban/ESP32_BLE_Arduino/tree/98cd2290d036a4e27db061a76a512b526ef1cc14

从上述页面的“Clone or download”下载文件(ZIP文件),并将文件保存在Arduino安装路径的libraries>BLE目录中。

pYYBAGPyz9yAEZ7QAAApEXkOOnI903.png

将下载的文件保存在libraries>BLE目录下。

安装完这些文件后重启Arduino IDE,将会在“草图示例”下生成“ESP BLE Arduino”,只要您能看到它们,就证明准备好了。

pYYBAGPyz9-AF7LMAAFlKAo6B38731.png

4. 示例程序的运行

接下来,我们将ESP-WROOM-32作为Bluetooth设备试用一下。从“File”-“Examples”-“ESP32 BLE Arduino”打开“BLE_client”程序,并将程序写入开发板。

程序写入完成后,将作为BLE的客户端启动(BLE是基于服务器-客户端的方式来传输数据的,相关概念将在后续文章中进行说明)。

在您的智能手机或其他设备上启用Bluetooth,并检测周围设备,应该会成功显示ESP-WROOM-32终端。

poYBAGPyz-KAWBijAACQP9rxh5o672.png

总结

在本文中,我们已做好了将ESP-WROOM-32用作BLE设备的准备。在下一篇文章中,我们将实际使用这种BLE通信功能,尝试在智能手机或其他设备上操作ESP-WROOM-32、将ESP-WROOM-32的数据发送到支持BLE的智能手机等功能。

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • BlueTooth
    +关注

    关注

    3

    文章

    206

    浏览量

    61243
  • BLE
    BLE
    +关注

    关注

    12

    文章

    648

    浏览量

    59293
  • Arduino
    +关注

    关注

    187

    文章

    6456

    浏览量

    186486
收藏 人收藏

    评论

    相关推荐

    esp-wroom-32如何在不使用wifi功能的情况下获取mac地址?

    你好 我想检查 esp-wroom-32 模块的mac_address。 我已经通过初始化wifi然后调用函数来esp_get_mac检查了它。 但是,如果我想在不使用 wifi 功能的情况下获取该 mac 地址。 有没有其他
    发表于 07-19 09:37

    esp-wroom-32 AP模式下的最大带宽是多少?

    我正在使用 esp-wroom-32 模块,我们想在 AP Station 模式下使用它。我想知道 AP 模式下模块的最大带宽是多少,以及我可以连接wroom 32 模块的 AP 多少个站点
    发表于 07-19 06:16

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么区别?ESP32-WROOM-32 后缀字母代表的意思是?

    ESP32-D0WD-V3,板载天线。 ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U是乐鑫(Espressif Systems)推出
    的头像 发表于 07-17 10:09 6722次阅读
    <b class='flag-5'>ESP32-WROOM</b>-32E、<b class='flag-5'>ESP32-WROOM</b>-32D、<b class='flag-5'>ESP32-WROOM</b>-32U  有什么区别?<b class='flag-5'>ESP32-WROOM</b>-32 后缀字母代表的意思是?

    使用ESP-WROOM-32模块遇到的几个疑问求解

    我想在我的项目中使用 ESP-WROOM-32 模块。我想将其与外部 MCU 一起使用。S0,我有一些疑问,如下所示: 1).esp-wroom-32 的哪个 uart,我可以使用? 2).是否有
    发表于 07-16 07:26

    为什么esp32-wroom32不能通过串口与外设通讯?

    我是硬件小白,以前做软件开发,最近刚自学一个月单片机开发,我自学实验项目: 通过esp32-wroom32 这个开发板通过串口与支持串口TTL 通讯的数码管通讯(这个数码管是在某宝购买的中盛
    发表于 07-01 08:28

    ESP32 Dev Module上传程序运行不正常的原因?

    我的开发核心板是ESP-WROOM-32,CH9102X驱动,开发环境是Arduino IDE, 开发板选哪个?我选ESP32 Dev Module,但是感觉有点诡异,上传程序运行不正常。 应该选
    发表于 07-01 07:15

    请问ESP32-C3可以使用蓝牙连接电脑吗?

    5.2 我使用模组的UART-Bluetooth LE 透传模式可以连接手机的测试工具,但无法连接电脑,电脑搜索不到蓝牙,换其他电脑可以搜索到也连接不上,这是模组的问题,还是电脑问题,
    发表于 06-27 08:10

    如何通过BLE播放音频?

    现在是我有一个android app,有一块esp32板子上面有喇叭,板子刷了a2dp_sink例子的固件。如果用bluetooth 和板子pair之后,可以播放音乐。 现在要求不用bluetooth,而是用
    发表于 06-26 06:36

    请问模组ESP32-WROOM-32U或模组ESP32-WROOM-32UE能否自动从AP1切换到AP2?

    协议) 2、模组ESP32-WROOM-32U或模组ESP32-WROOM-32UE在TCP连接状态下有没有办法获得802.11帧?是通过esp
    发表于 06-21 14:02

    ESP32如何使用SPI的DMA?

    module:ESP-WROOM-32 IDF Version:ESP-IDF 4.3 各位,ESP32的技术手册中有关于SPI DMA的描述,但是在ESP-IDF编程指南http
    发表于 06-18 08:18

    esp32连接nrf-connect报错Error 133(0x85): GATT ERROR的原因?

    开发板用的是ESP-WROOM-32,芯片是esp32 d0wn v3, 软件用的是gatt_server_service_table例子,代码无改动,手机realme x 连接
    发表于 06-13 06:46

    esp32通过ble连接win10,为什么连不上?

    开发板用的是ESP-WROOM-32,芯片是esp32 d0wn v3,软件用的是gatt_server_service_table 官方例子,代码无改动,烧录后连接win10(版本
    发表于 06-13 06:05

    乐鑫ESP-WROOM-02 技术规格书

    电子发烧友网站提供《乐鑫ESP-WROOM-02 技术规格书.pdf》资料免费下载
    发表于 01-14 09:52 2次下载
    乐鑫<b class='flag-5'>ESP-WROOM</b>-02 技术规格书

    ESP8684-WROOM-06C技术规格书

    电子发烧友网站提供《ESP8684-WROOM-06C技术规格书.pdf》资料免费下载
    发表于 12-13 09:17 0次下载
    <b class='flag-5'>ESP8684-WROOM</b>-06C技术规格书

    ESP32-WROOM-32开发板教程

    ESP32-WROOM-32是一款功能强大的物联网开发板,它基于Espressif的ESP32芯片,拥有更多的性能和功能。在本篇文章中,我将为您提供一份详尽、详实、细致的教程,以帮助您快速上手
    的头像 发表于 12-08 13:55 9548次阅读