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

    文章

    229

    浏览量

    63531
  • ESP32
    +关注

    关注

    24

    文章

    1084

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件
    的头像 发表于 11-28 07:27 730次阅读

    idf.py --version` 提示“不是内部或外部命令”(ESP32S3小智调试遇到)

    idf.py --version` 提示“不是内部或外部命令”(ESP32S3小智调试遇到)
    的头像 发表于 11-28 07:22 401次阅读

    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 1291次阅读
    乐鑫<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 6945次阅读
    乐鑫<b class='flag-5'>ESP32</b>-S3专为AIoT设计,强化边缘AI应用方向

    ESP32开发板元件资料

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

    乐鑫ESP32-C61全面进入量产

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

    乐鑫ESP32-C5全面进入量产

    乐鑫信息科技 (688018.SH) 宣布,ESP32-C5 现已全面进入量产。
    的头像 发表于 05-06 16:50 1058次阅读

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

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

    乐鑫ESP32-H4:支持 802.15.4 和 Bluetooth 5.4 (LE) 的低功耗 SoC

    乐鑫信息科技(688018.SH)推出的ESP32-H4,继ESP32-H2后进一步丰富了公司的802.15.4和BluetoothLE产品矩阵。这款融合了802.15.4和Bluetooth
    的头像 发表于 04-24 18:08 1258次阅读
    乐鑫<b class='flag-5'>ESP32</b>-H4:支持 802.15.4 和 <b class='flag-5'>Bluetooth</b> 5.4 (LE) 的低功耗 SoC

    Wi-Fi 6超值畅享|乐鑫ESP32-C61 SoC,启明云端乐鑫科技代理商

    乐鑫信息科技(688018.SH)推出新的Wi-Fi6+Bluetooth5(LE)SoCESP32-C61。这款芯片作为ESP32-C系列的新成员,旨在满足对Wi-Fi6技术不断增长的市场需求
    的头像 发表于 04-22 18:00 1032次阅读
    Wi-Fi 6超值畅享|乐鑫<b class='flag-5'>ESP32</b>-C61 SoC,启明云端乐鑫科技代理商

    ESP32运行网页服务器 (Web-Server)-入门篇

    什么是ESP32WebServer?ESP32WebServer是ESP32微控制器上运行的一个嵌入式网页服务器。它能够处理HTTP请求并作出响应,使用户可以通过网络浏览器与设备进行
    的头像 发表于 03-09 14:24 6493次阅读
    <b class='flag-5'>ESP32</b>运行网页服务器 (Web-Server)-入门篇

    乐鑫 ESP32-C6 通过 Thread 1.4 互操作性认证

    ThreadGroup授权实验室的严格测试,展现了与最新Thread1.4协议的无缝兼容性,充分展现了其性能、安全性和广泛设备互操作性方面的卓越性能。ESP32-C
    的头像 发表于 02-06 18:02 922次阅读
    乐鑫 <b class='flag-5'>ESP32</b>-C6 通过 Thread 1.4 互操作性认证

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本质上是让 ESP32 设备与豆包的 API 进行通信,以获取相关服务
    的头像 发表于 02-05 13:40 2853次阅读
    <b class='flag-5'>esp32</b>如何接入豆包

    【AI技术支持】ESP32-S3模组EspBleOTA搜索不到ble_ota例程的蓝牙问题处理

    esp-iot-solutionexamples/bluetooth/ble_ota例程的时候,编译烧录完成后,EspBleOTAApp无法找到蓝牙设备,用NrfConnectAp
    的头像 发表于 12-13 18:06 2884次阅读
    【AI技术支持】<b class='flag-5'>ESP32</b>-S3模组EspBleOTA搜索不到ble_ota例程的蓝牙问题处理