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

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

3天内不再提示

如何利用ESP-NOW 技术实现高效物联网通信

海阔天空的专栏 来源:Lashley Wang 作者:Lashley Wang 2025-01-26 17:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Lashley Wang

物联网应用急促发展, 市场需要一种高效、低成本的解决方案, 本期将为你详细探讨ESP-NOW技术在物联网应用中的应用,包括其技术特点、适用场景以及如何利用它实现多设备之间的高效无线通讯。

本系列第三集,依然是我们的老朋友DFRobot 高级工程师夏青(Rockets Xia)给大家讲解。


主讲嘉宾:

Rockets Xia
夏青(Rockets Xia),DFRobot高级工程师,蘑菇云创客空间共同创始人

夏青经常活跃于国内外创客社区。从2008起开始致力推广创客文化,促进创客运动在中国的发展,2010年与中国创客教父李大维等打造国内首个创客空间"新车间"。2013年在DFRobot和浦软集团的支持下建设蘑菇云创客空间。作为蘑菇云创客空间共同创始人,经常鼓励和推动社区创客项目的推进。作为DFRobot高级工程师,积极致力于推动人工智能、物联网等先进技术在创客及创客教育领域的落地和推广。

本期首先介绍了ESP-NOW,这是一种由[乐鑫公司] 定义的无连接WiFi通信协议,类似于低功耗的2.4GHz无线连接。ESP-NOW在通信前需要对设备进行配对,配对完成后连接是安全、点对点且持久的,适合于多设备的低功耗低延迟数据传输。但同时也与传统WiFi不同,ESP-NOW不需要路由器或接入点,而是通过设备MAC地址进行识别和通讯。

图片来源:DFRobot(图片来源:DFRobot)

接下来,我们来看一看由 [DFRobot] 提供的[Beetle ESP32-C3] 。它不仅支持 ESP-NOW 通信,还具备低功耗和小尺寸的优势。

图片来源:DFRobot(图片来源:DFRobot)

Beetle ESP32-C3 在仅有硬币大小的体积上,引出了多达 13 个 I/O 口,同时主控板还集成锂电池充电管理功能,可以直接连接锂电池,不需要外围模块。

图片来源:DFRobot(图片来源:DFRobot)

图片来源:DFRobot(图片来源:DFRobot)

Beetle ESP32-C3 配套的扩展板在未增加太大体积的情况下,引出了更多的接口,在制作项目时焊接更加方便。板载的GDI显示屏接口,解决使用屏幕时的接线烦恼。Beetle ESP32-C3 支持Wi-Fi和Bluetooth 5 (LE)双模通讯,并且拥有详细的示例[教程] ,通过教程可以轻松地使用控制器的无线功能,连接物联网平台。

图片来源:DFRobot(图片来源:DFRobot)

DFRobot 的 Beetle 系列开发板以其小巧且功能强大的设计着称,非常适合空间有限的项目。无论在性能还是灵活性方面,相信它们都能够完美满足大家的需求。

接下来介绍基于Beetle ESP32-C3开发板的运动按钮项目。Beetle ESP32-C3具有小尺寸、低功耗、支持WiFi和蓝牙等优点, 非常适合该项目。项目包括4个运动按钮、WS2812灯带、蜂鸣器等组件,通过ESP-NOW实现设备间的同步和交互。项目设计了3种游戏模式: 打地鼠、接力和击鼓传花, 可以用于多人游戏或智能家居控制等应用场景。

图片来源:DFRobot(图片来源:DFRobot)

图片来源:DFRobot(图片来源:DFRobot)

图片来源:DFRobot(图片来源:DFRobot)

硬件组装完成后,进入编程环节。首先我们将使用 Arduino IDE 来编写和上传代码。如果你习惯使用其他编程环境,也可以选择自己熟悉的工具和代码。选取 Arduino 中的 ESP-NOW 的示例代码,我们来看看 ESP-NOW 的能力到底怎么样。

图片来源:DFRobot(图片来源:DFRobot)

上传烧录以后我们就可以看到,发射和接收信息的延时是 2~4 ms 左右,单向传播的延时约为 2 ms 左右,相当于 1/100 秒,速度非常快。

图片来源:DFRobot(图片来源:DFRobot)

确保每个设备都能正常识别和通信后,接下来就可以进入下一步的功能实现。为了方便大家理解,这里用脑图的方式将程序结构做了梳理,供大家参考。

图片来源:DFRobot(图片来源:DFRobot)

现在和大家简单说下游戏规则的设置。在现有的程序里预设了三个模式,可以用短按来选择,长按 3 秒来确认选择。需要切换的时候,随时可以用长按来进入菜单。

模式 1 是打地鼠模式,这个模式下,我们的程序会随机在 4 个运动按钮上出现红色的信号,需要在最短时间内按下,才能获得成绩。

图片来源:DFRobot(图片来源:DFRobot)

模式 2 是接力模式,在这个模式下,每按一次运动按钮上出现绿色按钮,下一个运动按钮就会变成另外一个颜色,也就是说你需要依次按动按钮,这个时候就是接力模式。

图片来源:DFRobot(图片来源:DFRobot)

模式 3 是击鼓传花模式,进入此模式时 4 个按钮依次循环亮蓝灯,按下带屏幕的主按钮,此时亮蓝灯的那个按钮,就是被选中的“天之骄钮”了。

图片来源:DFRobot(图片来源:DFRobot)

在这个项目中,按钮的状态将通过 ESP-NOW 实时同步到所有设备,LED 和蜂鸣器会根据按钮状态作出相应的反馈。此外,此项目还可以展示不同的游戏模式,比如多人对战或合作模式,让大家看到这个项目在实际应用中的各种可能性和互动方式。

运动按钮项目不仅可以用于简单的游戏和互动,还可以扩展到其他领域,比如智能家居控制器、物联网项目等。欢迎大家发挥创意,探索 ESP-NOW 和 DFRobot 开发板的更多可能性。无论是改进现有项目,还是开发新的应用,这些技术都能为你带来无限的创作空间。

这就是本期的所有内容啦,感谢大家观看,希望大家可以从中获得有用的信息和灵感。下一期我们会进一步介绍 ESP32 另外一个高阶玩法,《ESP32在边缘计算使用 tinyML 项目的应用》,欢迎大家关注。

审核编辑 黄宇

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

    关注

    18

    文章

    6319

    浏览量

    139582
  • 物联网
    +关注

    关注

    2939

    文章

    47334

    浏览量

    408077
  • ESP
    ESP
    +关注

    关注

    0

    文章

    194

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问esp-now如何实现靠近配对?

    请问esp-now 如何实现靠近配对?
    发表于 06-11 07:08

    使用ESP32-C3的蓝牙进行传感器数据上传,ESP-NOW协议的功耗能满足需求吗?

    1.使用ESP32-C3的蓝牙进行传感器数据上传,期望使用纽扣电池供电,ESP-NOW协议的功耗能满足需求吗 2.使用ESP-now协议的设备能否和手机蓝牙或其他未使用ESP-NOW
    发表于 07-01 07:22

    请问esp-now如何确定消息是否加密?

    我的项目打开和关闭设备,不一定登录到 WiFi。所以我认为 esp-now 值得一试。出于安全原因,我需要加密,以便未经授权的发件人无法打开/关闭我的设备。我的理解是我需要
    发表于 07-09 07:14

    请问esp-now的安全模型是什么?

    尝试使用 esp-now 开发一些东西。 似乎,发送者和接收者在通信之前无法就一些共同的秘密达成一致。只要发送方知道接收方的MAC地址,发送方就可以随时向接收方发送数据。 我试过
    发表于 07-10 06:48

    ESP-NOW技术DIY

    ESP-NOW技术DIY
    发表于 07-20 07:08

    【视频】联网通信技术总结

    大家下午好!今天来为大家进行联网通信技术总结,视频为一个系列,请持续关注,会持续进行更新!有问题留言交流!上期回顾:stm32 uart硬件实现及深入探讨4
    发表于 10-20 14:42

    ESP-NOW唤醒无法接收数据是怎么回事?

    软件版本IDF-4.4, 硬件ESP32S2程序先初始化ESP-NOW,启动定时light-sleep, 唤醒后无法收到另外一个机子发送的ESP-NOW的数据,确定有唤醒,因为在唤醒后打印输出了
    发表于 02-20 07:37

    在两台esp32-c3上进行esp-now通信测试,无法将数据发送出去是为什么?

    我在两台esp32-c3上进行了esp-now通信测试,双方都可以正常收发数据。但是将其中一个配网接入路由器的wifi后,联网的设备只能接收另一台未
    发表于 04-13 08:57

    Esp-now唤醒时间如何变得更短?

    我的 esp-01 需要大约 150 毫秒才能打开并接收一些数据,然后再次进入睡眠状态。我正在使用 esp-now。 我可以让它在更短的唤醒时间内工作吗?
    发表于 05-11 07:59

    ESP-NOW技术的介绍和使用方式及示例代码资料免费下载

    本文介绍了乐鑫自主研发的ESP-NOW技术,说明了使用方式并提供了示例代码包括了:1.ESP-NOW技术简介,2.ESP-NOW使用方式,3
    发表于 03-15 08:00 59次下载
    <b class='flag-5'>ESP-NOW</b><b class='flag-5'>技术</b>的介绍和使用方式及示例代码资料免费下载

    ESP8266相互通讯(ESP-NOW

    办法,可以用一个ESP8266模块作为一个总的控制,就像一个管家,来和其他ESP8266通讯,来实现我们想要的功能。先说一下ESP-NOW,它是Espressif开发的一种协议,它使多
    发表于 12-29 19:33 10次下载
    <b class='flag-5'>ESP</b>8266相互通讯(<b class='flag-5'>ESP-NOW</b>)

    ESP-NOW无线通信ESP32学习之旅-Arduino版

    、WiFi、LoRa、NB-IoT等,本教程将重点介绍乐鑫科技开发的另一种无线通讯协议:ESP-NOW,通过 本教程的学习,你将了解到如何将 ESP-NOW 技术应用到我们的 DIY 项目中。
    发表于 05-30 09:55 0次下载
    <b class='flag-5'>ESP-NOW</b>无线<b class='flag-5'>通信</b>之<b class='flag-5'>ESP</b>32学习之旅-Arduino版

    启明云端为你盘点:乐鑫 ESP-NOW 无线通信方案到底厉害在哪里

    ESP-NOW是乐鑫定义的基于数据链路层的无线通信协议,可与 Wi-Fi 和 Bluetooth LE 共存,既能实现稳定的设备连接和控制,也能作为独立的辅助模块,为系统提供设备配网、调试和固件升级等功能。
    的头像 发表于 09-16 14:22 5179次阅读
    启明云端为你盘点:乐鑫 <b class='flag-5'>ESP-NOW</b> 无线<b class='flag-5'>通信</b>方案到底厉害在哪里

    乐鑫低功耗方案 | ESP-NOW

    在日益发展的联网世界中,无线通信已成为互联各种设备和系统的关键技术。在智能家居、工业自动化、医疗卫生、城市公共设施等领域,无线通信是解决这
    的头像 发表于 10-21 08:03 3568次阅读
    乐鑫低功耗方案 | <b class='flag-5'>ESP-NOW</b>

    ESP32的ESP-NOW通讯踩坑记

    1、背景前段时间看到乐鑫推出了一种很有意思的Wi-Fi通讯协议,它允许设备在无连接的时候进行直接通讯。乐鑫对它的概述如下:“ESP-NOW是一种由乐鑫公司定义的无连接Wi-Fi通信协议。在ESP-NOW中,应用程序数据被封装在
    的头像 发表于 09-13 10:03 1798次阅读
    <b class='flag-5'>ESP</b>32的<b class='flag-5'>ESP-NOW</b>通讯踩坑记