中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

汽車(chē)門(mén)戶網(wǎng)站開(kāi)發(fā)推廣網(wǎng)站的文案

汽車(chē)門(mén)戶網(wǎng)站開(kāi)發(fā),推廣網(wǎng)站的文案,做網(wǎng)站銷(xiāo)售的技巧,小程序視頻網(wǎng)站開(kāi)發(fā)ESP32-HTTP 介紹 ESP32是一款功能強(qiáng)大的微控制器,具有豐富的網(wǎng)絡(luò)和通信功能。其中之一就是支持HTTP協(xié)議,這使得ESP32可以用于創(chuàng)建Web服務(wù)器。 HTTP是什么? HTTP(Hyper Text Transfer Protocol),即超文本傳…

ESP32-HTTP

介紹


ESP32是一款功能強(qiáng)大的微控制器,具有豐富的網(wǎng)絡(luò)和通信功能。其中之一就是支持HTTP協(xié)議,這使得ESP32可以用于創(chuàng)建Web服務(wù)器。

HTTP是什么?
HTTP(Hyper Text Transfer Protocol),即超文本傳輸協(xié)議,是一種無(wú)狀態(tài)的、建立在TCP之上的連接。其基本的工作流程是:客戶端發(fā)送一個(gè)HTTP請(qǐng)求,說(shuō)明自己想要訪問(wèn)的資源以及請(qǐng)求的動(dòng)作;服務(wù)端在收到請(qǐng)求后,開(kāi)始處理請(qǐng)求,并根據(jù)請(qǐng)求的內(nèi)容做出響應(yīng)。

ESP32上,我們可以使用其內(nèi)置的HTTP Server組件來(lái)運(yùn)行一個(gè)輕量級(jí)的Web服務(wù)器。這個(gè)服務(wù)器組件能夠根據(jù)具體的配置分配內(nèi)存和資源,并返回該服務(wù)器實(shí)例的句柄。通過(guò)這個(gè)句柄,我們可以控制服務(wù)器的各種行為,例如啟動(dòng)、停止等。

WebServer庫(kù)用來(lái)做什么?
總而言之HTTP 服務(wù)器組件提供 websocket 支持,而WebServer庫(kù)是一個(gè)專(zhuān)門(mén)用于HTTP協(xié)議通訊的庫(kù)。它為開(kāi)發(fā)者提供了一套簡(jiǎn)單易用的API,使得我們可以基于ESP32開(kāi)發(fā)板快速地建立網(wǎng)絡(luò)服務(wù)器。通過(guò)這個(gè)網(wǎng)絡(luò)服務(wù)器,其他網(wǎng)絡(luò)設(shè)備以及物聯(lián)網(wǎng)設(shè)備都能通過(guò)HTTP協(xié)議來(lái)訪問(wèn)并實(shí)現(xiàn)物聯(lián)網(wǎng)信息交流。

WebServer庫(kù)的主要功能可以被分為兩大部分:一部分是服務(wù)器運(yùn)行管理,另一部分是處理客戶端的HTTP請(qǐng)求。在服務(wù)器運(yùn)行管理中,我們可以通過(guò)調(diào)用begin()函數(shù)來(lái)啟動(dòng)服務(wù)器,使用stop()函數(shù)來(lái)停止服務(wù)器,以及使用close()函數(shù)來(lái)關(guān)閉服務(wù)器。而在處理客戶端的HTTP請(qǐng)求方面,庫(kù)中包含了各種處理Get請(qǐng)求和Post請(qǐng)求的函數(shù),這些函數(shù)可以幫助我們解析請(qǐng)求數(shù)據(jù)包,并回發(fā)響應(yīng)數(shù)據(jù)包。

基本流程

以下使用WebServer庫(kù)創(chuàng)建一個(gè)簡(jiǎn)單的Web服務(wù)器的基本步驟

  1. 引入相應(yīng)庫(kù):

    #include <WebServer.h>
    

    通過(guò)引入WebServer庫(kù),你可以使用其中定義的類(lèi)和函數(shù)來(lái)輕松創(chuàng)建Web服務(wù)器。

  2. 聲明WebServer對(duì)象并設(shè)置端口號(hào):

    WebServer server(80);
    

    在這里,你創(chuàng)建了一個(gè)名為serverWebServer對(duì)象,并設(shè)置端口號(hào)為80。Web服務(wù)器通常使用端口80來(lái)監(jiān)聽(tīng)HTTP請(qǐng)求。

  3. 使用on()方法注冊(cè)鏈接與回調(diào)函數(shù):

    server.on("/", handleRoot);
    server.on("/haha", [](){server.send(200, "text/html", "Hello from /haha!");
    });
    

    使用on()方法注冊(cè)了兩個(gè)路徑的處理函數(shù)。當(dāng)訪問(wèn)根路徑(“/”)時(shí),會(huì)調(diào)用handleRoot函數(shù)。而當(dāng)訪問(wèn)路徑"/haha"時(shí),使用Lambda函數(shù)直接發(fā)送一個(gè)包含"Hello from /haha!"的響應(yīng)。

  4. 使用begin()方法啟動(dòng)服務(wù)器進(jìn)行請(qǐng)求監(jiān)聽(tīng):

    server.begin();
    

    通過(guò)調(diào)用begin()方法,啟動(dòng)Web服務(wù)器開(kāi)始監(jiān)聽(tīng)請(qǐng)求。在這一步之前,你已經(jīng)注冊(cè)了路徑和相應(yīng)的處理函數(shù)。

  5. 使用handleClient()方法處理來(lái)自客戶端的請(qǐng)求:

    void loop() {server.handleClient();
    }
    

    loop()函數(shù)中,使用server.handleClient()不斷處理來(lái)自客戶端的請(qǐng)求。這是一個(gè)循環(huán),確保服務(wù)器一直處于監(jiān)聽(tīng)狀態(tài)。

這個(gè)流程能夠創(chuàng)建一個(gè)簡(jiǎn)單的Web服務(wù)器,處理不同路徑的請(qǐng)求并發(fā)送相應(yīng)的響應(yīng)。確保你的ESP32正確連接到WiFi網(wǎng)絡(luò),然后你可以在瀏覽器中訪問(wèn)相應(yīng)的IP地址,查看服務(wù)器的響應(yīng)。

示例:

#include <Arduino.h>
#include <WiFi.h>
#include <WebServer.h>
const char *ssid = "**********";
const char *password = "**********";WebServer server(80);void handelRoot()
{String HTML=R"(<!DOCTYPE html><html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hello World</title></head><body><h1>Hello World</h1></body></html>)";server.send(200,"text/html",HTML);
}
void setup()
{Serial.begin(115200);WiFi.mode(WIFI_STA);WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED){delay(500);Serial.print(".");}Serial.print("\nIP地址:");//獲取ip地址Serial.println(WiFi.localIP());//注冊(cè)鏈接與回調(diào)函數(shù)server.on("/", handelRoot);//用lambda函數(shù)server.on("/haha",[](){server.send(200,"text/html",R"(<!DOCTYPE html><html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hello World</title></head><body><h1>你好世界</h1></body></html>)");});//沒(méi)有頁(yè)面server.onNotFound([](){server.send(200,"text/html;charset=utf-8","沒(méi)有找到");});server.begin(); 
}
void loop()
{server.handleClient();
}

在瀏覽器中訪問(wèn)IP地址得到的響應(yīng)
在這里插入圖片描述

常用API

WebServer 常用的 API

  1. on 方法:

    server.on(path, HTTP_METHOD, handlerFunction);
    

    用于注冊(cè)路徑(path)和相應(yīng)的處理函數(shù)(handlerFunction)以及HTTP方法(HTTP_METHOD)。當(dāng)有請(qǐng)求匹配到指定路徑和方法時(shí),將調(diào)用對(duì)應(yīng)的處理函數(shù)。

  2. send 方法:

    server.send(statusCode, contentType, content);
    

    用于向客戶端發(fā)送 HTTP 響應(yīng)。你可以指定狀態(tài)碼 (statusCode)、內(nèi)容類(lèi)型 (contentType) 和實(shí)際內(nèi)容 (content)。

  3. onNotFound 方法:

    server.onNotFound(handlerFunction);
    

    用于注冊(cè)一個(gè)處理函數(shù),當(dāng)請(qǐng)求的路徑未找到時(shí)將調(diào)用該函數(shù)。

  4. begin 方法:

    server.begin();
    

    用于啟動(dòng)服務(wù)器,開(kāi)始監(jiān)聽(tīng)請(qǐng)求。

  5. handleClient 方法:

    server.handleClient();
    

    用于處理客戶端的請(qǐng)求。通常需要在 loop 函數(shù)中調(diào)用,以確保持續(xù)處理請(qǐng)求。

  6. arg方法:
    用于獲取 HTTP 請(qǐng)求中的參數(shù)值的函數(shù)。查詢參數(shù)是通過(guò) URL 傳遞的鍵值對(duì),出現(xiàn)在 URL 的問(wèn)號(hào) ? 后面。
    不了解URL請(qǐng)點(diǎn)擊查看這篇文章:
    https://editor.csdn.net/md/?articleId=135704158

    String value = server.arg("parameterName");
    

    這個(gè)函數(shù)會(huì)返回指定參數(shù)名 (parameterName) 對(duì)應(yīng)的值。例如,如果請(qǐng)求的 URL 是:

    http://example.com/path?name=John&age=25
    

    你可以使用 server.arg("name") 來(lái)獲取 name 參數(shù)的值,這將返回一個(gè) String 對(duì)象,其值為 “John”。

  7. pathArg方法:

    server.pathArg();
    

    用于從HTTP請(qǐng)求的路徑中提取參數(shù)值

常見(jiàn)的HTTP狀態(tài)碼

以下是一些常見(jiàn)的HTTP狀態(tài)碼及其簡(jiǎn)要說(shuō)明:

  • 200 OK: 服務(wù)器成功處理了請(qǐng)求。

  • 404 Not Found: 服務(wù)器無(wú)法找到請(qǐng)求的網(wǎng)頁(yè)。這是最常見(jiàn)的客戶端錯(cuò)誤之一。

  • 301 Moved Permanently: 被請(qǐng)求的網(wǎng)頁(yè)已經(jīng)永久移動(dòng)到新的位置??蛻舳藨?yīng)該使用新的 URI 重新發(fā)起請(qǐng)求。

  • 503 Service Unavailable: 服務(wù)器目前無(wú)法處理請(qǐng)求,通常是由于過(guò)載或維護(hù)??蛻舳丝梢陨院笤俅螄L試。

  • 401 Unauthorized: 請(qǐng)求未經(jīng)授權(quán),需要提供有效的身份驗(yàn)證信息。通常,這要求用戶進(jìn)行登錄。

http://www.risenshineclean.com/news/63445.html

相關(guān)文章:

  • 網(wǎng)站建站服務(wù)公司網(wǎng)站維護(hù)一般都是維護(hù)什么
  • wordpress圖片展示插件seo的優(yōu)化步驟
  • 想做機(jī)械加工和橡膠生意怎么做網(wǎng)站磁力搜索引擎2023
  • 舉重運(yùn)動(dòng)員 做網(wǎng)站線上推廣活動(dòng)有哪些
  • 移動(dòng)做績(jī)效的網(wǎng)站網(wǎng)站建設(shè)策劃書(shū)范文
  • 海寧市規(guī)劃建設(shè)局網(wǎng)站東莞網(wǎng)站建設(shè)公司
  • wordpress去除評(píng)論限制網(wǎng)站按天扣費(fèi)優(yōu)化推廣
  • 有了網(wǎng)站模板 還要怎樣做域名注冊(cè)要多少錢(qián)
  • 亞網(wǎng)互聯(lián)網(wǎng)站設(shè)計(jì)市場(chǎng)營(yíng)銷(xiāo)畢業(yè)后找什么工作
  • 做企業(yè)網(wǎng)站收費(fèi)百度競(jìng)價(jià)推廣效果怎么樣
  • 濰坊做網(wǎng)站的電話泰州百度seo公司
  • 個(gè)人網(wǎng)站模板如何在各大平臺(tái)推廣
  • wordpress國(guó)內(nèi)速度優(yōu)化安卓?jī)?yōu)化清理大師
  • 商品展示網(wǎng)站模板短視頻獲客系統(tǒng)
  • 一個(gè)app能賣(mài)多少錢(qián)搜索引擎排名優(yōu)化技術(shù)
  • 網(wǎng)站建設(shè)應(yīng)列入啥費(fèi)用搜索引擎營(yíng)銷(xiāo)優(yōu)化的方法
  • vi設(shè)計(jì)說(shuō)明范文解析重慶百度推廣優(yōu)化排名
  • 傳統(tǒng)企業(yè)網(wǎng)站建設(shè)網(wǎng)站宣傳推廣策劃
  • 微信公眾號(hào)網(wǎng)站建設(shè)seo網(wǎng)址大全
  • 微信3g網(wǎng)站開(kāi)發(fā)百度云盤(pán)搜索引擎入口
  • 電商詳情頁(yè)素材廣州seo網(wǎng)站公司
  • 網(wǎng)站硬件需求泉州關(guān)鍵詞快速排名
  • 便宜的網(wǎng)站空間新聞軟文廣告
  • 西藏做網(wǎng)站找誰(shuí)網(wǎng)站設(shè)計(jì)公司怎么樣
  • 個(gè)人怎么做旅游網(wǎng)站麗水網(wǎng)站seo
  • 怎么用數(shù)據(jù)庫(kù)做動(dòng)態(tài)網(wǎng)站最近國(guó)際新聞大事
  • 鄭州旅游網(wǎng)站搭建網(wǎng)站流量分析
  • 食品營(yíng)銷(xiāo)型網(wǎng)站建設(shè)全能搜
  • 天河移動(dòng)網(wǎng)站建設(shè)新聞?lì)^條今日新聞
  • 江蘇城鄉(xiāng)建設(shè)廳官方網(wǎng)站找關(guān)鍵詞的三種方法