在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于ESP32的簡易web服務器設計

jf_eqg0Ui2u ? 來源:懂事電子設計 ? 2023-01-05 10:49 ? 次閱讀

本文介紹一下如何使用ESP32快速方便的搭建一個簡易的web服務器。

45e7f236-8c42-11ed-bfe3-dac502259ad0.png

使用ESP32或ESP8266搭建web服務器的方式有很多,但是大多數都的web頁面代碼都是內嵌在程序中的,這樣如果要修改web頁面就十分的不方便。今天介紹一種方法將web頁面的代碼以文件的形式上傳到存儲器中,然后在程序中直接利用文件搭建web服務器。 這里首先介紹一下SPIFFS。SPIFFS又叫SPI閃存文件系統。是一種小型嵌入式系統專用的文件系統。它支持用戶創建文件和目錄。

SPIFFS的主要特點: 專為微控制器上的低 RAM 使用場景而設計; 使用固定大小的 RAM 緩沖區; Posix-like api:打開,關閉,讀取,寫入,搜索,統計等; POSIX:Portable Operating System Interface 可移植操作系統接口; 不僅僅是SPI閃存 (SPI Flash:Serial Peripheral interface 串行外圍設備接口, 串行通信接口的NOR FLASH),它可以在任何 非易失閃存(NOR Flash)上運行,多個 SPIFFS 配置可以在同一目標上運行甚至可以在同一個 SPI 閃存設備上運行; 實現靜態磨損均衡; 內置的系統一致性檢查; 高度可配置,可適用于各種閃存類型。

使用Arduino進行ESP32開發時,開發套件中集成有SPIFFS可以直接使用。但是開發工具中不具有文件上傳功能,所以首先需要給ArduinoIDE添加SPIFFS文件上傳插件。 首先下載文件上傳工具,可以在下面的鏈接處下載,也可以在文末分享的鏈接處下載。 GitHub - me-no-dev/arduino-esp32fs-plugin: Arduino plugin for uploading files to ESP32 file system
461469ec-8c42-11ed-bfe3-dac502259ad0.png
將所下載的文件“esp32fs.jar”放置到Arduino安裝目錄下的工具文件夾中。如F:arduino-1.8.19 oolsESP32FS ool。然后重啟Arduino IDE。
462f1b5c-8c42-11ed-bfe3-dac502259ad0.png
重啟Arduino IDE后在工具菜單下就可以看到“ESP32 Sketch Data Upload”選項,通過該選項就可以將工程目錄下data文件夾中的文件上傳到ESP32的文件存儲系統中。上傳過程中一定要關閉ESP32的串口監視器窗口,否則會導致上傳失敗。

464cb144-8c42-11ed-bfe3-dac502259ad0.png

文件上傳工具安裝完成后,接下來需要安裝異步web服務器庫。主要包括ESPAsyncWebServer和AsyncTCP兩個庫。通過這兩個庫可以實現簡單的異步web服務器的搭建。 異步web服務器有以下優點: 使用異步意味著服務器可以同時處理來自客戶端的多個連接; 一旦請求準備好并被解析,您就會被調用; 當您發送響應時,您可以立即準備好處理其他連接,而服務器會在后臺處理發送響應 速度很快; 易于使用的 API、HTTP Basic 和 Digest MD5 身份驗證(默認)、ChunkedResponse; 易于擴展以處理任何類型的內容; 支持繼續 100; 異步 WebSocket 插件提供不同的位置,無需額外的服務器或端口; Async EventSource (Server-Sent Events) 插件向瀏覽器發送事件; 用于條件和永久 URL 重寫的 URL 重寫插件; 支持緩存、Last-Modified、默認索引等的 ServeStatic 插件; 處理模板的簡單模板處理引擎; 兩個庫的下載地址如下:

ESPAsyncWebServer

https://github.com/me-no-dev/ESPAsyncWebServer

AsyncTCP

https://github.com/me-no-dev/AsyncTCP

兩個庫安裝完成后就可以開始創建web頁面了。web前端頁面的開發工具有很多,自行選擇一種喜歡的方式就可以了。編寫一個簡單的web頁面。



  
    
    
    懂事<a href="https://www.hqchip.com/ask/" target="_blank"><u>電子</u></a>設計
  
  
    

懂事電子設計

這是一個測試網頁

Pulpit rock

466a7ea4-8c42-11ed-bfe3-dac502259ad0.png

使用Arduino IDE創建ESP32工程。在工程下創建data文件夾,并將創建的HTML程序文件放到data文件夾內。然后依次點擊”工具”->”ESP32 Sketch Data Upload”將WEB程序文件上傳到ESP32存儲器中。

468ad3d4-8c42-11ed-bfe3-dac502259ad0.png

修改程序中的WIFI信息,點擊上傳到ESP32即可。

#include 
#include 
#include "ESPAsyncWebServer.h"
AsyncWebServer server(80);
//連接WIFI
void connect_wifi(){
  const char* wifi_ssid = "***";
  const char* wifi_password = "********";
  Serial.begin(115200);
  WiFi.begin(wifi_ssid, wifi_password);         //連接WIFI
  Serial.print("Connected");
  //循環,直到連接成功
  while(WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  IPAddress local_IP = WiFi.localIP();
  Serial.print("WIFI is connected,The local IP address is "); //連接成功提示
  Serial.println(local_IP); 
}


void web_server(){
 if(!SPIFFS.begin(true)){
    Serial.println("An Error has occurred while mounting SPIFFS");
    return;
  }
  server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html");
  server.begin();                       //初始化
}


void setup() {
  connect_wifi();
  web_server();
}
 
void loop() {


}

46a05aa6-8c42-11ed-bfe3-dac502259ad0.png

上傳完成后可以打開串口監視窗口,等ESP32完成網絡連接后會輸出對應的IP地址。使用同一網絡下的PC或手機的瀏覽器訪問該IP即可進入到web頁面。

需要對web頁面進行修改時,只需將對應的.html程序文件修改后重新上傳即可,可以最大程度的簡化復雜度。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1269

    瀏覽量

    69732
  • 服務器
    +關注

    關注

    12

    文章

    9303

    瀏覽量

    86061
  • ESP32
    +關注

    關注

    18

    文章

    978

    瀏覽量

    17528

原文標題:基于ESP32的簡易web服務器

文章出處:【微信號:懂事電子設計,微信公眾號:懂事電子設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【FireBeetle ESP32-E開發板免費試用】+wifi功能測試&搭建web服務器

    本帖最后由 dql2016 于 2021-9-15 21:11 編輯 ESP32具有wifi功能,可作為AP使用。本帖利用esp32的wifi功能搭建一個簡單的web服務器實現傳
    發表于 09-14 21:51

    使用rt-thread studio創建esp32 web服務器

    1、使用rt-thread studio創建esp32 web服務器  實驗步驟:  ESP32-Ethernet-Kit_A_V1.1 評估板板載
    發表于 09-29 14:38

    ESP8266 WEB智能小后臺 ,采電壓,繪曲線,向服務器傳信息

    ESP8266 WEB小后臺 ,采電壓,繪曲線,向服務器傳信息一個月前,自己想設計一個不用安裝應用程序的智能手機控制的硬件。是否有人有興趣?有興趣的可以聯系我,朝“自帶智能使用程序的智能硬件,或是有
    發表于 11-25 22:15

    ESP32 Web服務器可以向外部Rest API發起HTTP請求嗎?

    -IDF 服務器 API 也可以發起/發出請求?3)傳入和傳出請求的流量是否由同一個端口處理(出于端口轉發的原因)?舉個例子,考慮一下自動化中使用的 ESP32,它有自己的 WEB UI,可以向 Shelly 產品輪詢傳感
    發表于 03-01 06:22

    ESP8266可作為Web服務器嗎?怎么實現?

    ESP8266可作為Web服務器嗎怎么實現
    發表于 10-24 08:17

    帶有BME280的ESP32 Web服務器的高級氣象站

    介紹一款帶有BME280的ESP32 Web服務器的高級氣象站。
    發表于 03-17 11:15 ?18次下載
    帶有BME280的<b class='flag-5'>ESP32</b> <b class='flag-5'>Web</b><b class='flag-5'>服務器</b>的高級氣象站

    使用ESP32-CAM板訪問網絡

    在這個項目中,我們將使用ESP32-CAM板。 ESP32相機將托管視頻流Web服務器您可以使用網絡中的任何設備進行訪問。
    發表于 04-06 11:45 ?43次下載
    使用<b class='flag-5'>ESP32</b>-CAM板訪問網絡

    如何使用ESP8266制作可配置的Web服務器

    在這個項目中,我們首先研究如何在 Arduino IDE 中安裝 ESP8266 插件,然后使用 ESP8266 制作可配置的 Web 服務器
    的頭像 發表于 05-10 15:18 ?1.3w次閱讀
    如何使用<b class='flag-5'>ESP</b>8266制作可配置的<b class='flag-5'>Web</b><b class='flag-5'>服務器</b>

    ESP32 CAM WEB服務器及入門指南

    電子發燒友網站提供《ESP32 CAM WEB服務器及入門指南.zip》資料免費下載
    發表于 11-17 10:44 ?0次下載
    <b class='flag-5'>ESP32</b> CAM <b class='flag-5'>WEB</b><b class='flag-5'>服務器</b>及入門指南

    NodeMCU ESP8266啟用AJAX的Web服務器

    電子發燒友網站提供《NodeMCU ESP8266啟用AJAX的Web服務器.zip》資料免費下載
    發表于 11-22 09:37 ?1次下載
    NodeMCU <b class='flag-5'>ESP</b>8266啟用AJAX的<b class='flag-5'>Web</b><b class='flag-5'>服務器</b>

    ESP32制作網絡服務器

    電子發燒友網站提供《用ESP32制作網絡服務器.zip》資料免費下載
    發表于 11-25 11:53 ?0次下載
    用<b class='flag-5'>ESP32</b>制作網絡<b class='flag-5'>服務器</b>

    基于ESP8266的Web服務器

    項目將告訴你如何在不使用 Arduino 的情況下使用 ESP8266 構建 Web 服務器
    發表于 12-07 11:02 ?1次下載

    使用基于ESP32Web服務器的互聯網控制LED

    電子發燒友網站提供《使用基于ESP32Web服務器的互聯網控制LED.zip》資料免費下載
    發表于 12-20 10:09 ?2次下載
    使用基于<b class='flag-5'>ESP32</b>的<b class='flag-5'>Web</b><b class='flag-5'>服務器</b>的互聯網控制LED

    ESP32 IDF創建WEB SERVER的流程

    ESP-IDF中,Web服務器使用httpd組件實現。我們需要先創建httpd_config_t結構體,指定服務器的端口、最大并發連接數、URI匹配處理
    的頭像 發表于 03-13 15:36 ?4391次閱讀
    <b class='flag-5'>ESP32</b> IDF創建<b class='flag-5'>WEB</b> SERVER的流程

    使用ESP32 Web服務器進行家庭自動化設置

    電子發燒友網站提供《使用ESP32 Web服務器進行家庭自動化設置.zip》資料免費下載
    發表于 07-03 10:49 ?0次下載
    使用<b class='flag-5'>ESP32</b> <b class='flag-5'>Web</b><b class='flag-5'>服務器</b>進行家庭自動化設置
    主站蜘蛛池模板: 天天干视频在线观看 | 午夜无遮挡怕怕怕免费视频 | 国产汉服被啪福利在线观看 | 欧美xxxx色视频在线观看免费 | 在线色国产 | 免费级毛片| 天天槽任我槽免费 | 欧美成人午夜精品免费福利 | 免费黄色成人 | sihu免费观看在线高清 | 天天干夜夜叭 | 免费午夜视频在线观看 | 你懂的在线观看网站 | 亚洲国产欧美在线人成aaa | 黄色三级免费网站 | 国产亚洲自在精品久久 | 婷婷综合七月激情啪啪 | 亚洲一一在线 | 国产香蕉在线精彩视频 | 天堂电影在线观看免费入口 | 免费欧美黄色 | 欧美日韩在线成人看片a | ww久久| 日本不卡视频免费的 | 天天干天天拍天天射天天添天天爱 | 天堂电影免费在线观看 | 性夜黄a爽爽免费视频国产 羞羞答答xxdd影院欧美 | 中文字幕一二三区乱码老 | 91精选视频在线观看 | 天天操天天射天天舔 | 中国农村一级片 | 国语自产拍在线观看7m | 狠狠色婷婷| 男人午夜视频在线观看 | 亚洲三级成人 | 国产精品www视频免费看 | 色婷婷社区 | 人人人草 | 黄色一级毛片看一级毛片 | 色老头久久网 | 欧美极品|