色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

怎樣用ESP32創(chuàng)建一個(gè)Web服務(wù)器 并將其連接到Wi-Fi獲取IP地址

454398 ? 來源:工程師吳畏 ? 2019-07-26 09:15 ? 次閱讀

入門

客戶端與客戶端之間的連接webserver是使用HTTP協(xié)議建立的。 HTTP協(xié)議如下所示:HTTP/1.1 200 OK r nContent-Type:text/html r n r n“。

”HTTP/1.1 200 OK“表示服務(wù)器已接受請求并已回復(fù)“200 OK”,這是狀態(tài)代碼,后跟“ r n”,這是HTTP協(xié)議的約束。

“Content-Type:text/html r n“表示響應(yīng)內(nèi)容類型為HTML格式,后跟” r n“

在HTTP協(xié)議結(jié)束時(shí),網(wǎng)絡(luò)服務(wù)器將返回顯示”Hello world“的網(wǎng)頁。

代碼

#include

const char* wifi_name = “Tenda_31BC98”; //Your Wifi name

const char* wifi_pass = “barcelona”; //Your Wifi password

WiFiServer server(80); //Port 80

void setup()

{

Serial.begin(115200);

// Let‘s connect to wifi network

Serial.print(“Connecting to ”);

Serial.print(wifi_name);

WiFi.begin(wifi_name, wifi_pass); //Connecting to wifi network

while (WiFi.status() != WL_CONNECTED) { //Waiting for the responce of wifi network

delay(500);

Serial.print(“。”);

}

Serial.println(“”);

Serial.println(“Connection Successful”);

Serial.print(“IP address: ”);

Serial.println(WiFi.localIP()); //Getting the IP address at which our webserver will be created

Serial.println(“Put the above IP address into a browser search bar”);

server.begin(); //Starting the server

}

void loop()

{

WiFiClient client = server.available(); //Checking for incoming clients

if (client)

{

Serial.println(“new client”);

String currentLine = “”; //Storing the incoming data in the string

while (client.connected())

{

if (client.available()) //if there is some client data available

{

char c = client.read(); //read a byte

Serial.print(c);

if (c == ’ ‘) //check for newline character,

{

if (currentLine.length() == 0) //if line is blank it means its the end of the client HTTP request

{

client.print(“”);

client.print(“

Hello World

”);

break; //Going out of the while loop

}

else

{

currentLine = “”; //if you got a newline, then clear currentLine

}

}

else if (c != ’ ‘)

{

currentLine += c; //if you got anything else but a carriage return character,

}

}

}

}

delay(2000);

}

代碼說明

首先,我們加入了Wi-Fi庫,它將幫助我們創(chuàng)建網(wǎng)絡(luò)服務(wù)器。然后我們存儲了Wi-Fi名稱和密碼,以便我們可以連接到這個(gè)Wi-Fi網(wǎng)絡(luò)。之后,我們定義了我們要將數(shù)據(jù)發(fā)送到的端口。

const char* wifi_name = “Tenda_31BC98”; //Your Wifi name

const char* wifi_pass = “barcelona”; //Your Wifi password

WiFiServer server(80); //Port 80

在setu中p功能,我們使用上面提供的Wi-Fi信息ESP32連接到我們的Wi-Fi網(wǎng)絡(luò)。如果與Wi-Fi網(wǎng)絡(luò)的連接成功,則“連接成功”將顯示在串行監(jiān)視器上。否則,它將繼續(xù)嘗試,直到它將連接到Wi-Fi網(wǎng)絡(luò)。

Serial.print(“Connecting to ”);

Serial.print(wifi_name);

WiFi.begin(wifi_name, wifi_pass); //Connecting to wifi network

while (WiFi.status() != WL_CONNECTED) { //Waiting for the responce of wifi network

delay(500);

Serial.print(“。”);

}

Serial.println(“”);

Serial.println(“Connection Successful”);

以下命令將獲取IP地址,我們將在串行監(jiān)視器上顯示它。

Serial.println(WiFi.localIP());

然后我們啟動(dòng)了服務(wù)器,以便我們可以獲取數(shù)據(jù)并將數(shù)據(jù)發(fā)送到瀏覽器。

server.begin( );

在循環(huán)函數(shù)中,我們檢查了是否有客戶端發(fā)送了http請求。如果有任何客戶端請求可用,它將存儲在字符中并顯示在串行監(jiān)視器上。在請求結(jié)束時(shí),我們將發(fā)送HTML命令,它將在網(wǎng)頁上打印“Hello world”。

WiFiClient client = server.available(); //Checking for incoming clients

if (client)

{

Serial.println(“new client”);

String currentLine = “”; //Storing the incoming data in the string

while (client.connected())

{

if (client.available()) //if there is some client data available

{

char c = client.read(); //read a byte

Serial.print(c);

if (c == ’ ‘) //check for newline character,

{

if (currentLine.length() == 0) //if line is blank it means it’s the end of the client HTTP request

{

client.print(“

”);

client.print(“

Hello World

”);

break; //Going out of the while loop

}

如何運(yùn)行代碼

使用您的Wi-Fi名稱和密碼更改代碼中的Wi-Fi名稱和密碼。然后上傳代碼并打開串行監(jiān)視器。串行監(jiān)視器將顯示IP地址,如下圖所示。在瀏覽器中輸入此IP地址。

輸入IP地址后,網(wǎng)頁將如下所示。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Web服務(wù)器
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    24415
  • ESP32
    +關(guān)注

    關(guān)注

    18

    文章

    971

    瀏覽量

    17311
收藏 人收藏

    評論

    相關(guān)推薦

    原來ESP32竟可《“芯”兩》既做人體檢測傳感也做Wi-Fi數(shù)據(jù)傳輸

    今天將介紹ESP32如何"芯兩",既做人體檢測傳感也做Wi-Fi數(shù)據(jù)傳輸模塊;對于使用ESP32
    的頭像 發(fā)表于 12-18 18:12 ?667次閱讀
    原來<b class='flag-5'>ESP32</b>竟可《<b class='flag-5'>一</b>“芯”兩<b class='flag-5'>用</b>》既做人體檢測傳感<b class='flag-5'>器</b>也做<b class='flag-5'>Wi-Fi</b>數(shù)據(jù)傳輸

    基于ESP32-C3FN4為核心自主研發(fā)的Wi-Fi+BT模塊-RF-WM-ESP32B1

    WI-FI模組 - RF-WM-ESP32B1是基于ESP32-C3FN4為核心自主研發(fā)的Wi-Fi+BT模塊,支持IEEE 802.11b/g/n (2.4 GHz
    的頭像 發(fā)表于 11-07 09:45 ?245次閱讀
    基于<b class='flag-5'>ESP32</b>-C3FN4為核心自主研發(fā)的<b class='flag-5'>Wi-Fi</b>+BT模塊-RF-WM-<b class='flag-5'>ESP32</b>B1

    【AI技術(shù)支持】ESP32無線Wi-Fi常用調(diào)試API

    Wi-Fi常用調(diào)試API在使用esp32調(diào)試Wi-Fi功能時(shí),由于場景和各種因素的影響,難免會(huì)遇到各種連接不上,Wi-Fi斷連等問題。下面介
    的頭像 發(fā)表于 10-26 08:00 ?668次閱讀
    【AI技術(shù)支持】<b class='flag-5'>ESP32</b>無線<b class='flag-5'>Wi-Fi</b>常用調(diào)試API

    esp8266和esp32區(qū)別是什么

    以下是關(guān)于ESP8266和ESP32的主要區(qū)別: 處理和架構(gòu) : ESP8266 :使用個(gè)T
    的頭像 發(fā)表于 08-19 18:16 ?5487次閱讀

    IR900 Wi-Fi聯(lián)網(wǎng)的配置過程

    ”接口選擇Wi-Fi接口: dot11radio1類型選擇:動(dòng)態(tài)地址( DHCP) 如果Wi-Fi路由沒有開DHCP,請選擇類型:靜
    發(fā)表于 07-25 06:09

    ESP8266如何為應(yīng)用程序選擇正確的Wi-Fi模塊嗎?

    連接 4 個(gè)站點(diǎn) - 接入點(diǎn)/軟AP同時(shí)具有站點(diǎn)模式(使主機(jī)能夠在網(wǎng)絡(luò)上充當(dāng)站點(diǎn)) - Zeroconf DNS服務(wù)發(fā)現(xiàn) - 次打開4個(gè)T
    發(fā)表于 07-19 16:56

    如何將多個(gè)ESP連接到個(gè)ESP并向服務(wù)器發(fā)送數(shù)據(jù)?

    。 該站模式 ESP 連接了傳感。所有這些站模式 esp 收集傳感數(shù)據(jù)并將數(shù)據(jù)發(fā)送到主
    發(fā)表于 07-19 06:49

    AT 0.60.0.0看不到我的Wi-Fi網(wǎng)絡(luò),為什么?

    Wi-Fi 網(wǎng)絡(luò)并連接到它。當(dāng)然,我的路由AP SSID已啟用,我可以在其他設(shè)備上看到此網(wǎng)絡(luò)。這不是什么大問題,但我認(rèn)為它仍然是個(gè)錯(cuò)誤
    發(fā)表于 07-18 08:31

    為什么ESP8266沒有檢測到Wi-Fi的SSID?

    你好,我的ESP8266沒有檢測到我家Wi-Fi的SSID。我嘗試打開我的 iPhone 熱點(diǎn),我可以正常查看和連接(我也成功連接到 MQTT)。相反,沒有辦法看到我家的
    發(fā)表于 07-09 06:44

    ESP826如何運(yùn)行AP TCP服務(wù)器?

    應(yīng)該從平板電腦客戶端獲取命令進(jìn)行進(jìn)步處理。不涉及額外的路由。 現(xiàn)在,AP工作正常,平板電腦可以登錄WLAN并獲得正確的IP地址。但是客戶
    發(fā)表于 07-09 06:27

    使用的是esp32官方的Wi-Fi例程,一直連接不上Wi-Fi怎么解決?

    使用的是esp32官方的Wi-Fi例程 一直連接不上Wi-Fi 日志: ESP-ROM:esp8
    發(fā)表于 07-02 07:21

    ESP32-S2如何找到send函數(shù)的底層接口函數(shù)?

    你好,我正在用ESP32-S2做一個(gè)項(xiàng)目,當(dāng)有Wi-Fi時(shí),通過Wi-Fi連接服務(wù)器;當(dāng)沒
    發(fā)表于 06-28 08:18

    請問ESP32-AT支持Wi-Fi漫游指令嗎?

    請問 ESP32-AT 支持 Wi-Fi 漫游指令嗎?我這邊在 ESP-IDF 下面看到有 roaming 的示例,但是在 esp-at 中沒有找到相關(guān)指令。
    發(fā)表于 06-27 07:13

    使用ESP32-C3的SoftAP模式創(chuàng)建Wi-Fi熱點(diǎn),ESP32-C3不輸出任何日志,并且無法響應(yīng),為什么?

    問題描述: 我正在使用ESP32-C3的SoftAP模式創(chuàng)建Wi-Fi熱點(diǎn),并使用手機(jī)連接到該熱點(diǎn)。當(dāng)手機(jī)連接成功并熄屏
    發(fā)表于 06-07 08:26

    Wi-Fi HaLow和傳統(tǒng)Wi-Fi的區(qū)別

    Wi-Fi HaLow和傳統(tǒng)Wi-Fi的區(qū)別? Wi-Fi種無線網(wǎng)絡(luò)技術(shù),可以連接到互聯(lián)網(wǎng)或局域網(wǎng),為用戶提供無線上網(wǎng)的便利。隨著科技的
    的頭像 發(fā)表于 02-02 15:28 ?1304次閱讀
    主站蜘蛛池模板: 美女扒开尿口直播| 日日夜夜撸 在线影院| 好嗨哟在线看片免费| 无码人妻99久久密AV| 四库影院永久国产精品| 小SAO货叫大声点妓女| 亚洲不卡视频在线观看| 一品道门免费视频韩国| 亚洲国产成人精品青青草原100| 学生无码AV一区二区三区| 亚洲综合AV色婷婷五月蜜臀| 在线观看视频亚洲| 99久久久久国产精品免费| 纯肉巨黄H爆粗口男男分卷阅读| 国产精品一区第二页| 久久99综合国产精品亚洲首页| 免费无码一区二区三区蜜桃大| 日韩精品真人荷官无码| 亚洲电影成人 成人影院| 中文字幕福利视频在线一区| xxx日本高清视频hd| 国产色综合色产在线视频| 久久免费观看视频| 日本免费一本天堂在线| 亚洲精品无码国产爽快A片| 6080yy奇领电影在线看| 国产WW高清大片免费看| 久久AV国产麻豆HD真实乱| 亲胸揉胸膜下刺激视频网站APP| 午夜片无码区在线观看| 中文人妻熟妇精品乱又伧| 成年免费大片黄在线观看岛国| 果冻传媒在线观看资源七夕| 两个人的视频免费| 四虎永久精品视频在线| 在线中文字幕网站| 高h辣h双处全是肉一对一| 久久精品国产亚洲AV久五月天| 人妻中文字幕乱人伦在线| 亚洲人成在线播放无码| 超碰97超碰在线视频哦|