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

    文章

    197

    浏览量

    59210
  • ESP32
    +关注

    关注

    12

    文章

    889

    浏览量

    15694
收藏 人收藏

    评论

    相关推荐

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

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

    ESP32-WROOM-32D和ESP32-WROOM-32U技术规格书

    ESP32-WROOM-32U 和 ESP32-WROOM-32D 是乐鑫通用型 Wi-Fi + Bluetooth® + Bluetooth LE MCU 模组,功能强大,用途广泛,
    发表于 09-18 07:24

    如何在Arduino IDE中安装ESP32开发环境

    要在Arduino IDE中使ESP32开发板,您需要先安装相应的开发环境。以下是在Arduino IDE中安装ESP32开发环境的步骤。
    的头像 发表于 07-13 16:48 1.2w次阅读
    如何在Arduino IDE中安装<b class='flag-5'>ESP32</b>开发环境

    如何在ESP32中使用PWM

    ESP32 SoC 满载了非常有用的外设,PWM 就是其中之一。是的。ESP32 的芯片中有一个专用的 PWM 硬件模块。脉宽调制或简称PWM是一种成熟且广泛使用的供电技术。
    的头像 发表于 07-13 11:14 1123次阅读
    如何在<b class='flag-5'>ESP32</b><b class='flag-5'>中使</b>用PWM

    ESP32-H2 x Bluetooth 5.2=智能家居新拼图?

    ESP32-H2芯片是乐鑫第一次在2.4GHz频段集成IEEE802.15.4和蓝牙5.2技术,这意味着着乐鑫除了Wi-Fi、Bluetooth,又多了一项IEEE802.15.4标准的技术支持
    的头像 发表于 06-21 17:42 390次阅读
    <b class='flag-5'>ESP32</b>-H2 x <b class='flag-5'>Bluetooth</b> 5.2=智能家居新拼图?

    ESP32ESP32通过Internet进行通信

    电子发烧友网站提供《ESP32ESP32通过Internet进行通信.zip》资料免费下载
    发表于 06-15 09:58 2次下载
    <b class='flag-5'>ESP32</b>到<b class='flag-5'>ESP32</b>通过Internet进行通信

    [esp32教程] 5、UART使用

    基于Ubuntu下,利用esp-idf进行esp32开发的教程
    的头像 发表于 06-13 09:04 3862次阅读
    [<b class='flag-5'>esp32</b>教程] 5、UART使用

    [esp32教程] 4、LEDC使用

    基于Ubuntu下,利用esp-idf进行esp32开发的教程
    的头像 发表于 06-03 09:39 2897次阅读
    [<b class='flag-5'>esp32</b>教程] 4、LEDC使用

    自动化烧录器支持芯片烧录Espressif乐鑫科技的低功耗蓝牙模组ESP32-WROOM32E

    AP8000所支持。 ESP32-WROOM-32E通用型Wi-Fi + Bluetooth + Bluetooth LE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务
    的头像 发表于 05-09 17:17 2198次阅读
    自动化烧录器支持芯片烧录Espressif乐鑫科技的低功耗蓝牙模组<b class='flag-5'>ESP32</b>-WROOM32E

    [esp32教程]2、按键中断

    基于Ubuntu,利用esp-idf进行esp32的教学
    的头像 发表于 05-05 09:04 1998次阅读
    [<b class='flag-5'>esp32</b>教程]2、按键中断

    [esp32教程]1、点灯之术

    基于Ubuntu下,利用esp-idf进行esp32开发的教程
    的头像 发表于 04-30 18:11 2303次阅读
    [<b class='flag-5'>esp32</b>教程]1、点灯之术

    esp32教程】0、环境搭建

    基于Ubuntu下,利用esp-idf进行esp32开发的教程
    的头像 发表于 04-21 16:54 3638次阅读

    ESP32原理图

    ESP32原理图免费下载。
    发表于 04-17 09:23 36次下载

    乐鑫首款WiFi 6芯片—ESP32-C6现已开售

    、C3系列S5模Pin脚定义。ESP32-C6是第一款基于Wi-Fi6的SoC芯片,采用2.4GHzWi-Fi6+Bluetooth5(LE)与802.15.4通信协
    的头像 发表于 04-13 11:02 1419次阅读
    乐鑫首款WiFi 6芯片—<b class='flag-5'>ESP32</b>-C6现已开售

    ESP32-S3(ESP32-S2,ESP32)商用触摸按键面板上使用安全吗?

    ESP32ESP32-S2 和 ESP32-S3 的数据表中提到:[indent]ESP32-S3(
    发表于 04-12 07:03