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

    文章

    213

    浏览量

    61573
  • ESP32
    +关注

    关注

    18

    文章

    971

    浏览量

    17218
收藏 人收藏

    评论

    相关推荐

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

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

    esp32上使用chatGPT做一些有意思的事情

    将ChatGPT与ESP32进行结合,可以物联网应用方面做出更有意思的事情,如聊天机器人、语音助手和自然语言界面。下面,我将在ESP32中使用ChatGPT API。为了让
    的头像 发表于 10-18 10:04 458次阅读

    esp32esp8266代码共用吗

    本文将介绍ESP32ESP8266两款流行的微控制器代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32
    的头像 发表于 08-19 18:23 1120次阅读

    esp8266和esp32区别是什么

    的内存选项,包括最小512KB的RAM和最大16MB的闪存。 Wi-Fi和蓝牙 : ESP8266 :支持2.4GHz Wi-Fi。 ESP32 :支持2.4GHz Wi-Fi和蓝牙5.0,这使得ESP32
    的头像 发表于 08-19 18:16 5318次阅读

    esp32用什么软件编程

    ESP32是一款由乐鑫(Espressif)推出的低功耗、高性能的Wi-Fi和蓝牙双模微控制器,广泛应用于物联网、智能家居、智能穿戴等领域。要对ESP32进行编程,需要选择合适的编程软件和开发环境
    的头像 发表于 08-19 17:24 3453次阅读

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

    相信很多人心里都有这样的疑问,今天就教大家怎么区分它们。 32D和32U是同一个芯片ESP32-D0WD的模组,主要区别的天线模式,分别是板载和IPEX外接天线。 32E是用的升级版的芯片
    的头像 发表于 07-17 10:09 9495次阅读
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么区别?<b class='flag-5'>ESP32</b>-WROOM-32 后缀字母代表的意思是?

    ESP32能取代STM32吗?哪个更好?

    不能!首先二者不存在哪个更好的问题,因为这两个芯片使用场景各不相同,嵌入式系统领域,ESP32和STM32都是常见的单片机系列,它们各自具有一定的优势和适用场景。本文主要探讨ESP32是否能够取代
    的头像 发表于 07-06 08:04 1.1w次阅读
    <b class='flag-5'>ESP32</b>能取代STM32吗?哪个更好?

    使用ESP-IDF33bluetooth的a2dp_sink example,如何做到手机自动连接ESP32_SPEAKER?

    目前使用ESP-IDF33bluetooth 的 a2dp_sink example,发现设备如果连接上手机使用之后,重新开关Esp32
    发表于 06-25 06:14

    基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接

    。 注意:我的设置,出现了两个新设备。我选用第一个,但你需要再次验证。 MacOS 上: 打开首选项并单击 Bluetooth。它会可以显示 “
    发表于 06-24 09:34

    乐鑫科技发布全新ESP32-H4 SoC

    乐鑫信息科技最新发布了ESP32-H4,这一创新产品是对其ESP32-H2系列的完美补充,进一步巩固了公司802.15.4和Bluetooth LE领域的产品布局。
    的头像 发表于 05-06 15:18 1000次阅读

    乐鑫宣布推出ESP32-H4,支持802.15.4和Bluetooth 5.4的低功耗SoC

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

    ESP32-C2小魔方遥控器的应用

    我们经常提起的ESP32-C3和ESP32-S3,ESP32-C2感觉话题度没有那么多,但其应用上不可小觑。今天小启就跟大家讲讲ESP32-C2
    的头像 发表于 01-13 08:03 839次阅读
    <b class='flag-5'>ESP32</b>-C2<b class='flag-5'>在</b>小魔方遥控器的应用

    esp32外置flash的大小

    ESP32是一款功能强大的微控制器,广泛应用于物联网和嵌入式设备领域。虽然ESP32内置了一定的闪存空间,但有时候我们可能需要更大的储存空间来存储更多的数据或者程序。因此,一些厂商推出了外置
    的头像 发表于 01-09 11:24 4101次阅读

    乐鑫信息科技推出全新ESP32-C61 SoC

    乐鑫信息科技 (688018.SH) 宣布推出全新的 Wi-Fi 6 + Bluetooth 5 (LE) SoC ESP32-C61。这款芯片作为 ESP32-C 系列的新成员,旨在满足
    的头像 发表于 01-08 17:23 1190次阅读
    乐鑫信息科技推出全新<b class='flag-5'>ESP32</b>-C61 SoC

    ESP32与SD NAND的协同应用

    SDNAND乐鑫ESP32上的作用SDNAND是贴片式TF卡,可以用于存储数据,比如视频图片或者代码乐鑫ESP32一颗具有双核处理器的嵌入式系统芯片,有丰富的外设接口,包括Wi-Fi、蓝牙
    的头像 发表于 01-08 13:56 591次阅读
    <b class='flag-5'>ESP32</b>与SD NAND的协同应用