资料介绍
描述
[编辑:2021 年 7 月 9 日] 该项目已得到改进、修复并从 ArduinoIDE 移植到 platformio。以下评论中的问题应该已经修复。
通常连接的项目具有某种 Web 或移动 UI。如果您想通过另一件事来控制一件事,尤其是在低延迟和通过互联网上很难实现。这就是我创建这个项目的原因。这是一个 Arduino 框架模板,向您展示如何通过 Internet 连接两个基于 ESP32 的板,在Wi-Fi 连接断开或连接板之一临时断电的情况下,通过自动恢复功能最大限度地减少延迟。很酷的是,如果 ESP32 板在同一个 Wi-Fi 网络中并且如果在不同的网络中,它就可以工作。即使在不同的大陆。
我们在此处描述的模板可以作为您基于 ESP32 项目的各种酷接口的基础,例如:
还有很多很多。
模板的默认功能是通过对面 ESP32 板的按钮对 LED 进行双向控制。您还可以将此模板视为摩尔斯电码 Internet 通信器:)。随意替换代码以通过您需要的任何输入/输出操作来控制按钮和 LED。
这个怎么运作
-
ESP32 既充当 HTTP 服务器(基于
ESPAsyncWebServer
库)又充当 HTTP 客户端(基于AsyncTCP
) - ESP32 自动检测同一 Husarnet VPN 网络中的所有对等点
- 当按下按钮时,HTTP 请求被发送到所有其他对等点并打开 LED
- 释放按钮时,向所有其他对等方发送 HTTP 请求并打开 LED
无线网络任务
如果当前连接断开,则写入 Wi-Fi 任务以自动切换到另一个 Wi-Fi 网络。在配置部分,您可以对多个 Wi-Fi 网络凭据进行硬编码 - 这是一种舒适的解决方案,因为如果您在不同位置打开电路板,您无需重新编程它们。
基本上,ESP32 设备之间的虚拟 LAN 网络是通过以下两条线创建的:
Husarnet.join(husarnetJoinCode, hostNameX);
Husarnet.start();
连接也是完全加密、安全和私密的。它不仅可以在 LAN 中工作,还可以通过 Internet 工作,因为连接由Husarnet提供支持- 一个开源 P2P VPN 客户端,它不仅可以在普通计算机上工作,而且可以在 ESP32 微控制器上工作。Husarnet 仅有助于通过 Internet 建立连接,并且其服务器不会转发用户数据。由于延迟较低。
HTTP 服务器
// A dummy web server (see index.html)
server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) {
request->send(200, "text/html", html);
});
// Send a GET request to /led//state/<0 or 1>
server.on("^\\/led\\/([0-9]+)\\/state\\/([0-9]+)$", HTTP_GET,
[] (AsyncWebServerRequest *request) {
String ledNumber = request->pathArg(0);
String state = request->pathArg(1);
digitalWrite(LED_PIN, state.toInt());
request->send(200, "text/plain", "LED: " + ledNumber + ", with state: " + state);
});
组装
- 在引脚P0和GND之间连接按钮
- 在引脚27和GND之间串联 LED 二极管和电阻
- 将电池连接到基于 ESP32 的开发板。在项目中,我们使用带有内置 LDO 的 ESP32 devkit。查看基于 ESP32 的电路板的最大输入电压电平以避免损坏。
准备固件
从 GitHub 存储库克隆项目并按照以下步骤操作:
1.打开项目
- 从安装了 Platformio 扩展的 Visual Studio Code 打开项目文件夹
2. 配置你的项目(ESP32-to-ESP32.ino 文件)
- 获取您的 Husarnet VPN 加入代码(允许您将设备连接到同一个 VPN 网络)
您将在https://app.husarnet.com
找到您的加入代码-> 单击所需的网络
->按钮->选项卡Add element
Join Code
- 将您的 Husarnet 加入代码放在这里:
const char *husarnetJoinCode = "fc94:b01d:1803:8dd8:b293:5c7d:7639:932a/xxxxxxxxxxxxxxxxxxxxxx
- 在此处添加您的 Wi-Fi 网络凭据:
// WiFi credentials
const char* wifiNetworks[][2] = {
{"wifi-ssid-one", "wifi-pass-one"},
{"wifi-ssid-two", "wifi-pass-two"},
}
- 如果您的 ESP32 板是 ESP32 TTGO T Display,那么您可以通过第 14 行启用 LCD/TFT 显示:
#define ENABLE_TFT 1 //tested on TTGO T Display
- 将项目上传到您的ESP32 板(所有板的代码相同)。
- 为两个 ESP32 模块供电并等待大约 15 秒,让您的 ESP32 设备连接到 Wi-Fi 网络并建立 P2P 连接(在 LAN 和 Internet 中均有效)。
就这样!我希望你会喜欢。很高兴看到您的反馈。
干杯!
- 使用ESP8266或ESP32通过Alexa控制家用电器
- 乐鑫ESP32-MINI-1参考设计
- 乐鑫ESP32-MINI-1U参考设计
- 乐鑫ESP32-SenseKit参考设计
- 乐鑫ESP32-LyraTD-DSPG_用户手册
- 乐鑫ESP32-DevKitS-V1.1参考设计
- 乐鑫ESP32-PICO-MINI-02参考设计
- 乐鑫ESP32-LyraTD-SYNA_用户手册
- 乐鑫ESP32-PICO-MINI-02U参考设计
- 乐鑫ESP32-MeshKit-Light_使用指南
- esp32-s3_datasheet
- ESP32系列芯片的规格 7次下载
- ESP32 SDIO 使用教程
- ESP32 开发之旅② Arduino For ESP32说明
- 使用ESP32-CAM板访问网络 43次下载
- ESP32能取代STM32吗?哪个更好? 2383次阅读
- 浅析ESP32运行MQTT客户端进行主题的发布和订阅的方法 2752次阅读
- 基于ESP32-S3的高性能开发板介绍 8718次阅读
- ESP32-C3 WIFI的工作模式 4478次阅读
- 什么是ESP32-CAM摄像头? 2.1w次阅读
- 基于ESP32的简易web服务器设计 3305次阅读
- 使用ESP32连接腾讯云实现远程控制 3240次阅读
- 使用ESP32实现UDP通信的方法 5727次阅读
- ESP32使用MiroPython编程环境搭建 2690次阅读
- 基于ESP32制造有趣的超级马里奥主题时钟 4021次阅读
- ESP8266/ESP32自动下载原理 4249次阅读
- 基于ESP-WROOM-32E专为IoT设计的FireBeetle ESP32-E主控板介绍 4608次阅读
- ESP32的数字遥测实现 1521次阅读
- 如何使用ESP32创建一个气象站 3771次阅读
- dfrobotBeetle-ESP32控制器简介 2695次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多