資料介紹
描述
[編輯: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 中均有效)。
就這樣!我希望你會喜歡。很高興看到您的反饋。
干杯!
- 基于ESP32的網絡電臺 9次下載
- 使用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系列芯片的規格 7次下載
- ESP32 SDIO 使用教程
- ESP32 開發之旅② Arduino For ESP32說明
- 使用ESP32-CAM板訪問網絡 43次下載
- ESP32能取代STM32嗎?哪個更好? 1.3w次閱讀
- 淺析ESP32運行MQTT客戶端進行主題的發布和訂閱的方法 4081次閱讀
- 基于ESP32-S3的高性能開發板介紹 1w次閱讀
- ESP32-C3 WIFI的工作模式 5207次閱讀
- 什么是ESP32-CAM攝像頭? 2.4w次閱讀
- 基于ESP32的簡易web服務器設計 3990次閱讀
- 使用ESP32連接騰訊云實現遠程控制 3745次閱讀
- 使用ESP32實現UDP通信的方法 6519次閱讀
- ESP32使用MiroPython編程環境搭建 3047次閱讀
- 基于ESP32制造有趣的超級馬里奧主題時鐘 4783次閱讀
- ESP8266/ESP32自動下載原理 4742次閱讀
- 基于ESP-WROOM-32E專為IoT設計的FireBeetle ESP32-E主控板介紹 5025次閱讀
- ESP32的數字遙測實現 1779次閱讀
- 如何使用ESP32創建一個氣象站 4040次閱讀
- dfrobotBeetle-ESP32控制器簡介 2974次閱讀
下載排行
本周
- 1九陽豆漿機高清原理圖
- 2.47 MB | 12次下載 | 1 積分
- 2數能NU501系列恒流芯片型號選型表
- 0.04 MB | 2次下載 | 免費
- 3AIWA J470維修手冊 (可直接打印)
- 3.16 MB | 2次下載 | 10 積分
- 4基于51/32單片機按鍵控制步進電機正反轉,A4988驅動
- 2.05 MB | 2次下載 | 1 積分
- 5STM32F10xxx單片機編程手冊
- 0.29 MB | 2次下載 | 免費
- 6HR1124S/9110S單通道低壓H橋電機驅動芯片中文手冊
- 1.30 MB | 1次下載 | 免費
- 7MOSFET講解-02(可下載)
- 263.46 KB | 1次下載 | 免費
- 8MOSFET講解-03(可下載)
- 501.18 KB | 1次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 30次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 23次下載 | 1 積分
- 3第十一屆 藍橋杯 單片機設計與開發項目 省賽 程序設計試題及源碼
- 90.88KB | 23次下載 | 3 積分
- 4Python從入門到精通背記手冊
- 18.77 MB | 22次下載 | 1 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 20次下載 | 2 積分
- 6STM32F103C8T6開發板最小系統原理圖
- 0.78 MB | 20次下載 | 免費
- 7九陽豆漿機高清原理圖
- 2.47 MB | 12次下載 | 1 積分
- 81875功放原理圖
- 0.04 MB | 11次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183337次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81585次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論