电子发烧友App

硬声App

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

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

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>ESP32到ESP32通过Internet进行通信

ESP32到ESP32通过Internet进行通信

2023-06-15 | zip | 0.00 MB | 次下载 | 2积分

资料介绍

描述

[编辑:2021 年 7 月 9 日] 该项目已得到改进、修复并从 ArduinoIDE 移植到 platformio。以下评论中的问题应该已经修复。

通常连接的项目具有某种 Web 或移动 UI。如果您想通过另一件事来控制一件事,尤其是在低延迟和通过互联网上很难实现。这就是我创建这个项目的原因。这是一个 Arduino 框架模板,向您展示如何通过 Internet 连接两个基于 ESP32 的板,在Wi-Fi 连接断开或连接板之一临时断电的情况下,通过自动恢复功能最大限度地减少延迟很酷的是,如果 ESP32 板在同一个 Wi-Fi 网络中并且如果在不同的网络中,它就可以工作即使在不同的大陆。

 

我们在此处描述的模板可以作为您基于 ESP32 项目的各种酷接口的基础,例如:

  • 智能手套来控制你的遥控车
  • 远程控制您的智能家居设备
  • 到您家的安全和私人 Wi-Fi 密钥(当连接是 P2P 时,没有第 3 方可以访问加密密钥)
  • 一个非常快速的互联网按钮,您的东西

还有很多很多。

模板的默认功能是通过对面 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);
});

组装

  • 在引脚P0GND之间连接按钮
  • 在引脚27GND之间串联 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 中均有效)。

就这样!我希望你会喜欢。很高兴看到您的反馈。

干杯!


评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费