如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

本文主要介绍了 ESP-NOW 技术 在物联网中的应用。ESP-NOW 是乐鑫公司的无连接 WiFi 通信协议,通过设备 MAC 地址识别和通讯,适合多设备低功耗低延迟数据传输。

概述

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

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!
(图片来源:DFRobot)
接下来,我们来看一看由 DFRobot 提供的 Beetle ESP32-C3 。它不仅支持 ESP-NOW 通信,还具备低功耗和小尺寸的优势。
Beetle ESP32-C3 在仅有硬币大小的体积上,引出了 多达 13 个 I/O 口 ,同时主控板还 集成锂电池充电管理功能 ,可以直接连接锂电池,不需要外围模块。
如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

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

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源: DFRobot)
DFRobot 的 Beetle 系列开发板以其小巧且功能强大的设计着称,非常适合空间有限的项目。无论在性能还是灵活性方面,相信它们都能够完美满足大家的需求。
接下来介绍基于Beetle ESP32-C3开发板的 运动按钮 项目。Beetle ESP32-C3具有小尺寸、低功耗、支持WiFi和蓝牙等优点, 非常适合该项目。项目包括4个运动按钮、WS2812灯带、蜂鸣器等组件,通过ESP-NOW实现设备间的同步和交互。项目设计了3种游戏模式: 打地鼠、接力和击鼓传花, 可以用于多人游戏或智能家居控制等应用场景。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!
如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!
(图片来源:DFRobot)
硬件组装完成后,进入编程环节。首先我们将使用 Arduino IDE 来编写和上传代码。如果你习惯使用其他编程环境,也可以选择自己熟悉的工具和代码。选取 Arduino 中的 ESP-NOW 的示例代码,我们来看看 ESP-NOW 的能力到底怎么样。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

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

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

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

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
现在和大家简单说下游戏规则的设置。在现有的程序里预设了三个模式,可以用短按来选择,长按 3 秒来确认选择。需要切换的时候,随时可以用长按来进入菜单。
模式 1 是打地鼠模式,这个模式下,我们的程序会随机在 4 个运动按钮上出现红色的信号,需要在最短时间内按下,才能获得成绩。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

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

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

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

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
在这个项目中, 按钮的状态将通过 ESP-NOW 实时同步到所有设备 ,LED 和蜂鸣器会根据按钮状态作出相应的反馈。此外,此项目还可以展示不同的游戏模式,比如多人对战或合作模式,让大家看到这个项目在实际应用中的各种可能性和互动方式。
运动按钮项目不仅可以用于简单的游戏和互动,还可以扩展到其他领域,比如智能家居控制器、物联网项目等。欢迎大家发挥创意,探索 ESP-NOW 和 DFRobot 开发板的更多可能性。无论是改进现有项目,还是开发新的应用,这些技术都能为你带来无限的创作空间。

来源:https://www.eeworld.com.cn/emp/DigiKey/a387773.jspx

- 本文内容来自网络,如有侵权,请联系本站处理。

2024-10   阅读(12)   评论(0)
 标签: 创客 ESP32

涨知识
面向对象编程

面向对象编程(Object Oriented Programming)是一种编程方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。

评论:
相关文章
Arduino-ESP32与ESP-IDF的版本对应表

Arduino-ESP32与ESP-IDF的版本对应表。


Arduino-ESP32文件系统全解析:SPIFFS、LittleFS、SD卡操作

Arduino-ESP32提供了多种文件系统解决方案,本文将深入解析SPIFFS、LittleFS和SD卡三种主流存储方案,帮助你做出最佳选择。


ESP32-P4-WIFI6开发板

ESP32-P4-WIFI6-DEV-KIT是一款微雪(Waveshare)设计的基于 ESP32-P4 的多媒体开发板,并集成 ESP32-C6,支持 Wi-Fi 6 和 BLE 5 无线连接。它提供丰富的人机交互接口,包括 MIPI-CSI (集成图像信号处理器 ISP)、MIPI-DSI、SPI、I2S、I2C、LED PWM、MCPWM、RMT、ADC、UART 和 TWAI 等。


ESP-Hosted 入门介绍 &使用指南

ESP-Hosted 解决方案提供了将 ESP 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。


设备上云太麻烦?ESP-Hosted一站触达!

ESP-Hosted 提供了一种将ESP芯片和模组用作通信协处理器的解决方案,该解决方案为主机微处理器或微控制器提供无线连接,使主机能够与其他设备通信。简单来说为网卡方案。


ESP32 + Arduino使用TFT_eSPI库

Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789


ESP32 利用 SPI 连通 TFT 彩屏

本文给出了一个ESP32与SPI 接口TFT显示屏接线的详细说明,供大家参考。


在Micropython下使用ESPNow功能进行数据传输

本文讲解如何在Micropython环境下使用ESP32的ESPNow功能进行数据传输。


用 ESP32-S3 打造多功能 USB Dongle

ESP-Dongle 是一款基于 ESP32-S3 芯片开发的多功能 USB Device 解决方案。它不仅外形小巧,功能齐全,更集成了无线 U 盘、SD 卡读取以及 USB 无线网卡等多项功能。


利用 ESP32-S3 和 CSI 技术打造智能家居

ESP32 系列芯片可以利用 CSI 数据实现动作检测和存在检测。无论是自动调节灯光、风扇,还是节能控制,CSI 技术为智能家居带来了新的可能性。随着 CSI 技术的发展,未来的智能家居将能够更精确地感知和响应我们的行为,实现更高效、更人性化的控制。