電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>ESP32到ESP32通過Internet進行通信

ESP32到ESP32通過Internet進行通信

2023-06-15 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

[編輯:2021 年 7 月 9 日] 該項目已得到改進、修復(fù)并從 ArduinoIDE 移植到 platformio。以下評論中的問題應(yīng)該已經(jīng)修復(fù)。

通常連接的項目具有某種 Web 或移動 UI。如果您想通過另一件事來控制一件事,尤其是在低延遲和通過互聯(lián)網(wǎng)上很難實現(xiàn)。這就是我創(chuàng)建這個項目的原因。這是一個 Arduino 框架模板,向您展示如何通過 Internet 連接兩個基于 ESP32 的板,在Wi-Fi 連接斷開或連接板之一臨時斷電的情況下,通過自動恢復(fù)功能最大限度地減少延遲很酷的是,如果 ESP32 板在同一個 Wi-Fi 網(wǎng)絡(luò)中并且如果在不同的網(wǎng)絡(luò)中,它就可以工作。即使在不同的大陸。

?

我們在此處描述的模板可以作為您基于 ESP32 項目的各種酷接口的基礎(chǔ),例如:

  • 智能手套來控制你的遙控車
  • 遠程控制您的智能家居設(shè)備
  • 到您家的安全和私人 Wi-Fi 密鑰(當(dāng)連接是 P2P 時,沒有第 3 方可以訪問加密密鑰)
  • 一個非??焖俚幕ヂ?lián)網(wǎng)按鈕,您的東西

還有很多很多。

模板的默認(rèn)功能是通過對面 ESP32 板的按鈕對 LED 進行雙向控制。您還可以將此模板視為摩爾斯電碼 Internet 通信:)。隨意替換代碼以通過您需要的任何輸入/輸出操作來控制按鈕和 LED。

這個怎么運作

  • ESP32 既充當(dāng) HTTP 服務(wù)器(基于ESPAsyncWebServer庫)又充當(dāng) HTTP 客戶端(基于AsyncTCP
  • ESP32 自動檢測同一 Husarnet VPN 網(wǎng)絡(luò)中的所有對等點
  • 當(dāng)按下按鈕時,HTTP 請求被發(fā)送到所有其他對等點并打開 LED
  • 釋放按鈕時,向所有其他對等方發(fā)送 HTTP 請求并打開 LED

無線網(wǎng)絡(luò)任務(wù)

如果當(dāng)前連接斷開,則寫入 Wi-Fi 任務(wù)以自動切換到另一個 Wi-Fi 網(wǎng)絡(luò)。在配置部分,您可以對多個 Wi-Fi 網(wǎng)絡(luò)憑據(jù)進行硬編碼 - 這是一種舒適的解決方案,因為如果您在不同位置打開電路板,您無需重新編程它們。

基本上,ESP32 設(shè)備之間的虛擬 LAN 網(wǎng)絡(luò)是通過以下兩條線創(chuàng)建的:

Husarnet.join(husarnetJoinCode, hostNameX);
Husarnet.start();

連接也是完全加密、安全和私密的。它不僅可以在 LAN 中工作,還可以通過 Internet 工作,因為連接由Husarnet提供支持- 一個開源 P2P VPN 客戶端,它不僅可以在普通計算機上工作,而且可以在 ESP32 微控制器上工作。Husarnet 僅有助于通過 Internet 建立連接,并且其服務(wù)器不會轉(zhuǎn)發(fā)用戶數(shù)據(jù)。由于延遲較低。

HTTP 服務(wù)器

// 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之間串聯(lián) LED 二極管電阻
  • 將電池連接到基于 ESP32 的開發(fā)板。在項目中,我們使用帶有內(nèi)置 LDO 的 ESP32 devkit。查看基于 ESP32 的電路板的最大輸入電壓電平以避免損壞。

準(zhǔn)備固件

從 GitHub 存儲庫克隆項目并按照以下步驟操作:

1.打開項目

  • 從安裝了 Platformio 擴展的 Visual Studio Code 打開項目文件夾

2. 配置你的項目(ESP32-to-ESP32.ino 文件)

  • 獲取您的 Husarnet VPN 加入代碼(允許您將設(shè)備連接到同一個 VPN 網(wǎng)絡(luò))

您將在https://app.husarnet.com
找到您的加入代碼-> 單擊所需的網(wǎng)絡(luò)
->
按鈕->選項卡Add element
Join Code

  • 將您的 Husarnet 加入代碼放在這里:
const char *husarnetJoinCode = "fc94:b01d:1803:8dd8:b293:5c7d:7639:932a/xxxxxxxxxxxxxxxxxxxxxx
  • 在此處添加您的 Wi-Fi 網(wǎng)絡(luò)憑據(jù):
// 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 設(shè)備連接到 Wi-Fi 網(wǎng)絡(luò)并建立 P2P 連接(在 LAN 和 Internet 中均有效)。

就這樣!我希望你會喜歡。很高興看到您的反饋。

干杯!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  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元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費