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

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

3天内不再提示

怎样在ESP32中使用Bluetooth

454398 来源:wv 2019-09-23 14:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:示例构建

如果您只是在这里进行说明,则可以跳过此步骤,但是逐步进行可能会使您更加清楚。。

首先,我是将建立一个示例项目,然后我将尝试解释其工作原理以及如何复制蓝牙通信。我们将构建一个便携式温度传感器,该实时传感器将实时提要发送到您的智能手机。该构建可以在一个锂电池上运行数天,并轻松演示BLE的优势。

您可以将该模块用作杯垫来隔离饮料,并在饮料到达瓶中时立即收到通知。最佳温度。因为如果您要喝40度以上的茶会很麻烦。

您唯一需要的硬件是ESP32开发板和数字温度传感器。我的电路板支持外部电池,因此我使用从旧设备中回收的 3.7v锂电池使该项目可移植。

硬件

温度传感器的连接很简单。红线连接到3.3v,黑线连接到地(gnd),黄线连接到GPIO 2,在我的板上标记为D9。在红色和黄色电线之间连接一个4.7k欧姆的电阻。我没有使用电阻,而是使用了传感器随附的3针可插拔端子。它具有一个内置的上拉电阻。

li-po确实应该使用JST连接器进行连接,但是我不愿意购买它,所以我只是将一些(母对母)跳线插入了连接器中,并焊接了另一对电池端子。这样可以实现可靠的连接和临时的电源开关

现在,作为项目附件,我正在使用从较大的薄片上切下的聚苯乙烯泡沫塑料磁盘。这使得绝缘体更好。另一个小得多的磁盘卡在顶部,但稍稍偏向侧面。这是为了包裹多余的电线,这样它们就不会在整个地方晃来晃去。大量使用胶水和传感器探针的小孔后,即可开始使用该软件。

软件

如果您尚未安装arduino IDE,请转到此链接下载。默认情况下,arduino软件不附带各种ESP32板的板定义。要让他们访问此链接并以zip格式下载文件。您需要将它们解压缩到以下位置:

C:/Users//Documents/Arduino/hardware/espserrif/ESP32

其中是您PC上的用户名。确保各种文件在ESP32文件夹下可用,并且不在另一个文件夹下。

现在,如果您启动arduino软件并转到 tools-》 boards ,则向下滚动时应会看到各种ESP32主板。

大多数数字温度传感器使用OneWire协议与微控制器通信,因此我们需要获取库。 转到草绘-》包括库-》管理库并搜索 onewire 并安装太多作者的库。您不需要onewire集线器。忽略它。

现在,您可以下载并打开此步骤附带的代码( temperature-example.ino )。

如果您使用的传感器与我不同,则必须相应地更改代码。替换getTemp()下的代码。只需以

Return ;

的形式返回最终温度,其中包含温度的浮点数在哪里。

插入板子,从工具下面选择正确的板子和端口,然后单击上载。

如果代码拒绝上传,请断开传感器的连接并将GPIO 0接地。上传后恢复连接。

您的ESP现在应该向全世界大喊咖啡的温度,但您需要能够理解它的人。

Android应用

对不起,iPhone用户(。..并非如此)。

从此处下载apk并安装。当您启动该应用程序时,您会看到一个非常简单的界面。

如果收到错误消息“不支持广告”,请单击“确定”并忽略它,但是如果收到“不支持BLE”消息,则说明您的手机没有蓝牙4.0或更高版本,并且将无法运行该应用程序。

请确保手机上的蓝牙功能已打开,然后单击“开始扫描”,只要esp处于有效范围内且已开机,则您应该接收到一定温度值。

可能的错误:

-1000 ::这表示您的设备找不到ESP。确保蓝牙已打开,然后尝试重新启动ESP。

SNA ::这意味着您的手机正在从ESP接收数据,但ESP本身在GPIO 2上找不到温度传感器。请确保连接牢固,请查看是否正在使用正确值的电阻。仔细检查电路板原理图,确认您已连接到GPIO 2,而不是连接到标记为D2的引脚。

步骤2:说明

例如名为“气象站”的设备可以在其下进行维护,例如“温度”,“湿度”和“风”。当另一个BLE设备(如您的智能手机)扫描设备时,它将看到气象站,并且在连接到它时,它将能够接收与不同服务相对应的数据流。

目前可供我们使用的库(用于ESP32)使我们能够创建一个信标,其他人可以发现,但仅此而已。我们无法创建服务,也无法连接任何设备。

因此,我如何在不创建服务的情况下发送数据,就是采用一种类似于WiFi协议的技术,称为信标填充。这意味着我将在信标名称本身中包含要发送的数据。这样一来,我就可以播发数据,而无需其他设备连接到信标。

ble.begin(beaconMsg); //beaconMsg is the advertised name

我们正在使用SimpleBLE库来创建一个信标,其名称为ESP格式。其中,“ ESP”始终在名称开头保持不变,并且每隔100毫秒就会由getValue()函数返回的最新数据替换。

float getValue(){return sensorValue;}

Android应用会查找以“ ESP”开头的BLE设备名称,一旦找到,它就会拆分名称并仅从末尾显示数据。

通信只是一种方式,应用程序不会发回任何东西。

步骤3:结论

最终,这种方法不能替代正确实现的BLE库,但它可能足以完成一些项目,直到Arduino完全支持BLE。希望此Instructables对您有所帮助。

一个大的感谢DFRobot.com向我发送了以下产品:

ESP32 FireBeetle Board

FireBeetle Expantion Shield

DS18B20温度传感器

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

    关注

    3

    文章

    238

    浏览量

    64041
  • ESP32
    +关注

    关注

    27

    文章

    1223

    浏览量

    22352
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    乐鑫科技新品ESP32-H4亮点速递!

    近期,乐鑫科技新品发布节奏持续加快。作为乐鑫科技一级代理商,启明云端为您带来最新芯片产品ESP32-H4的详细解读。ESP32-H4隶属于乐鑫科技ESP32-H系列,低功耗物联网应用
    的头像 发表于 04-16 18:05 339次阅读
    乐鑫科技新品<b class='flag-5'>ESP32</b>-H4亮点速递!

    智能家居与IoT设备如何选择无线模块?ESP32-C5 两大模块详解

    ESP32-C5-WROOM-1 与 ESP32-C5-MINI-1 都基于新一代 WiFi 6 多协议无线平台,具备 Bluetooth LE、Zigbee 和 Thread 等丰富连接能力,能够满足智能家居、工业物联网
    发表于 04-08 14:14

    ESP32/ESP8266开发板单向多对一ESP-NOW无线通信

    本实验通过ESP-NOW无线通信协议实现多个ESP32/ESP 8266开发板向ESP32开发板发送数据。例如可以应用于从多个远程传感器上收集数据。
    的头像 发表于 03-30 10:14 190次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266开发板单向多对一<b class='flag-5'>ESP</b>-NOW无线通信

    ESP-IDF PowerShell 的使用

    ESP-IDF PowerShell 的使用 ESP-IDF 是乐鑫提供的用于开发 ESP32 系列芯片的框架。通过 PowerShe
    发表于 03-30 07:59

    ESP32/ESP8266开发板单向一对多ESP-NOW无线通信

    通过ESP-NOW无线通信协议实现ESP32开发板向多个ESP32/ESP 8266开发板发送数据。
    的头像 发表于 03-13 09:23 287次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266开发板单向一对多<b class='flag-5'>ESP</b>-NOW无线通信

    乐鑫科技发布全新ESP32-H21超低功耗无线SoC

    乐鑫科技 (688018.SH) 推出 ESP32-H21,一款针对 Thread、Matter 及 Bluetooth 5 (LE) 设备的增强型低功耗无线 SoC。作为 ESP32-H2 平台
    的头像 发表于 03-05 14:24 3.6w次阅读

    无需安装!浏览器里就能玩转ESP32/ESP8266,这个神器绝了!

    无需安装!浏览器里就能玩转ESP32/ESP8266,这个神器绝了!【往期精选】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生态设备接入(含
    的头像 发表于 01-10 10:01 1403次阅读
    无需安装!<b class='flag-5'>在</b>浏览器里就能玩转<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266,这个神器绝了!

    ESP32 Wi-Fi 控制 LED 灯的原理

    智能家居、物联网设备,用手机通过Wi-Fi控制灯光、风扇或插座,已经非常普遍。而在嵌入式开发ESP32是最常用的Wi-Fi模块之一。本文将带你系统理解:
    的头像 发表于 01-09 19:04 585次阅读
    <b class='flag-5'>ESP32</b> Wi-Fi 控制 LED 灯的原理

    ESP32蓝牙驱动MAX98357对音频音乐播放

    本文介绍了MAX98357音频模块的基本特性,并利用ESP32的蓝牙功能程序驱动此模块,最后用手机蓝牙连接ESP32播放手机音乐
    的头像 发表于 12-19 19:55 3232次阅读
    <b class='flag-5'>ESP32</b>蓝牙驱动MAX98357对音频音乐播放

    ESP32­WROOM­32 技术规格书

    电子发烧友网站提供《ESP32­WROOM­32 技术规格书.pdf》资料免费下载
    发表于 11-11 17:27 0次下载

    乐鑫ESP32-C6和ESP32-C61究竟该如何选择?一文读懂本质区别

    乐鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多协议枢纽,集成Wi-Fi6、蓝牙5、Zigbee和Thread,适合智能家居网关和Matter
    的头像 发表于 10-28 14:17 2671次阅读
    乐鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟该如何选择?一文读懂本质区别

    乐鑫ESP32-S3专为AIoT设计,强化边缘AI应用方向

    电子发烧友网报道(文/李弯弯)乐鑫最新的财报中表示,公司ESP32-S系列自ESP32-S3芯片开始,强化了边缘AI方向的应用。ESP32-S3芯片增加了用于加速神经网络计算和信号处
    的头像 发表于 09-09 09:20 7854次阅读
    乐鑫<b class='flag-5'>ESP32</b>-S3专为AIoT设计,强化边缘AI应用方向

    ESP32开发板元件资料

    ESP32开发板元件
    发表于 07-21 14:47 17次下载

    乐鑫ESP32-C61全面进入量产

    乐鑫信息科技 (688018.SH) 宣布,ESP32-C61 现已全面进入量产。这款集成 2.4 GHz Wi-Fi 6 与 Bluetooth 5 (LE) 的高连接、高性价比 SoC,专为满足新一代智能设备对高速连接与低功耗的双重需求而设计。
    的头像 发表于 06-16 15:26 1641次阅读

    乐鑫ESP32-C5全面进入量产!启明云端乐鑫科技代理商

    乐鑫信息科技(688018.SH)宣布,ESP32-C5现已全面进入量产。作为行业首款2.4&5GHz双频Wi-Fi6的RISC-VSoC,ESP32-C5同时集成Bluetooth5(LE
    的头像 发表于 04-30 18:10 1572次阅读
    乐鑫<b class='flag-5'>ESP32</b>-C5全面进入量产!启明云端乐鑫科技代理商