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

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

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

詳細(xì)解析ESP8266兩種工作模式的數(shù)據(jù)傳輸測(cè)試

FPGA之家 ? 來(lái)源:電子電路開(kāi)發(fā)學(xué)習(xí) ? 作者:wcc149 ? 2021-04-27 11:23 ? 次閱讀

ESP8266支持3種模式:Station模式、AP模式和Station+AP混合模式。關(guān)于這三種模式的區(qū)別可以類(lèi)比我們的手機(jī),當(dāng)手機(jī)連接無(wú)線(xiàn)網(wǎng)時(shí),此時(shí)手機(jī)為Station模式,當(dāng)手機(jī)打開(kāi)移動(dòng)熱點(diǎn)時(shí),此時(shí)手機(jī)為AP模式。簡(jiǎn)單的說(shuō)就是Station模式就是作為終端,AP模式就是作為路由器。而Station+AP混合模式,就和路由器的無(wú)線(xiàn)橋接功能是一樣的,既可以連接別的無(wú)線(xiàn)網(wǎng),同時(shí)也可以自己作為路由器。

本文分享ESP8266的兩種工作模式下的數(shù)據(jù)傳輸:Station模式作為T(mén)CP客戶(hù)端、AP模式作為T(mén)CP服務(wù)器,分別和網(wǎng)絡(luò)調(diào)試助手進(jìn)行通訊的AT指令配置流程。

AT指令可以由MCU的串口來(lái)完成,這樣就可以實(shí)現(xiàn)兩塊ESP8266之間進(jìn)行通訊,電腦和ESP8266的無(wú)線(xiàn)控制,手機(jī)和ESP8266的無(wú)線(xiàn)控制等。

ESP8266作為T(mén)CP客戶(hù)端,電腦作為T(mén)CP服務(wù)器

ESP8266模塊配置為Station模式連接WiFi,電腦也連接同一個(gè)WiFi,電腦使用網(wǎng)絡(luò)調(diào)試助手建立一個(gè)TCP服務(wù)器,指定服務(wù)器地址和端口號(hào)。

ESP8266作為T(mén)CP客戶(hù)端,和電腦上的網(wǎng)絡(luò)調(diào)試助手進(jìn)行通訊,或者直接透?jìng)?。?shí)現(xiàn)的效果是模塊發(fā)送的數(shù)據(jù),電腦可以接收到,電腦發(fā)送的數(shù)據(jù),模塊可以接收到。

1.模塊配置為Station模式:AT+CWMODE=1

2.配置WiFi信息按照信號(hào)強(qiáng)度排序:AT+CWLAPOPT=1,127

3.掃描附近的WiFi信息:AT+CWLAP

//配置當(dāng)執(zhí)行AT+CWLAP指令時(shí),WiFi信息按照信號(hào)強(qiáng)度排序

AT+CWLAPOPT=1,15

//1表示按照信號(hào)強(qiáng)度排序,15表示W(wǎng)iFi信息只顯示加密方式,WiFi名稱(chēng),信號(hào)強(qiáng)度,MAC地址

//掃描附近的WiFi信息

AT+CWLAP

+CWLAP:([加密方式],[WiFi名稱(chēng)],[RSSI信號(hào)強(qiáng)度],[MAC地址])

+CWLAP:(4,“Tenda_A3AA00”,-76,“c835aa:01”)

+CWLAP:(4,“Tenda_A3AA00 Sander”,-81,“e432e3:c4”)

+CWLAP:(3,“EZVIZ_D38296744”,-81,“5095e0:16”)

+CWLAP:(4,“TP-LINK_4723”,-84,“ccfb47:23”)

4.連接指定WiFi:AT+CWJAP=“Tenda_A3AA00”,“password123”

//連接指定AP

AT+CWJAP=“Tenda_A3AA00”,“password123”

//如果WiFi名稱(chēng)重復(fù),需要指定MAC地址來(lái)確定要連接的WiFi

AT+CWJAP=“Tenda_A3AA00”,“password123”,“c835aa:01”

//如果WiFi名稱(chēng)或密碼中含有特殊字符,前面要添加轉(zhuǎn)義符號(hào)

如,目標(biāo)WiFi名稱(chēng)為: ab,c,密碼為: 0123456789“,則指令如下:

AT+CWJAP=”ab\,c“,”0123456789“\”

//查詢(xún)已經(jīng)連接的WiFi信息

AT+CWJAP?

//斷開(kāi)當(dāng)前WiFi連接

AT+CWQAP

5.設(shè)置單連接模式:AT+CIPMUX=0

//如果之前使用AP模式開(kāi)啟過(guò)TCP服務(wù)器,要先關(guān)閉TCP服務(wù)器

AT+CIPSERVER=0

//設(shè)置單連接模式

AT+CIPMUX=0

6.電腦和模塊連接同一WiFi,電腦啟動(dòng)網(wǎng)絡(luò)調(diào)試助手,并建立TCP服務(wù)器。

75fac04e-a67e-11eb-aece-12bb97331649.jpg

7.模塊作為T(mén)CP客戶(hù)端,連接電腦上創(chuàng)建的TCP服務(wù)器

//主機(jī)地址和端口要和電腦上的TCP服務(wù)器保持一致,

AT+CIPSTART=“TCP”,“192.168.43.140”,6000

CONNECT

OK

8.如果連接成功,網(wǎng)絡(luò)調(diào)試助手會(huì)顯示有一個(gè)客戶(hù)端上線(xiàn),并顯示了客戶(hù)端的IP為192.168.1.105

760b125a-a67e-11eb-aece-12bb97331649.jpg

9.查詢(xún)當(dāng)前TCP服務(wù)器分配的IP地址:AT+CIPSTATUS

AT+CIPSTATUS

STATUS:3 //3表示已經(jīng)建立TCP傳輸

+CIPSTATUS:0,“TCP”,“192.168.1.106”,6000,26441,0 //本地IP地址

OK

10.此時(shí)網(wǎng)絡(luò)調(diào)試助手(TCP服務(wù)器)發(fā)送的信息,WiFi模塊(TCP客戶(hù)端)已經(jīng)可以實(shí)時(shí)收到了。

+IPD,[數(shù)據(jù)長(zhǎng)度]:[數(shù)據(jù)類(lèi)型]

+IPD,30:Hello World —— By TCP Server

+IPD,28:MyBlog:www.wangchaochao.top

+IPD,16:MyWeChat:mcu149

761bf2a0-a67e-11eb-aece-12bb97331649.jpg

11.客戶(hù)端發(fā)送數(shù)據(jù)到服務(wù)器。雖然服務(wù)器發(fā)送的數(shù)據(jù)客戶(hù)端可以收到,但此時(shí)模塊還處于AT模式,不能發(fā)送數(shù)據(jù)到服務(wù)器。

//設(shè)置本次要發(fā)送的字節(jié)數(shù)

AT+CIPSEND=4

OK

//輸入要發(fā)送的數(shù)據(jù),僅前四個(gè)字節(jié)數(shù)據(jù)被發(fā)出,其他數(shù)據(jù)無(wú)效。

Recv 4 bytes

SEND OK

762c7170-a67e-11eb-aece-12bb97331649.jpg

以上命令只能啟動(dòng)一次數(shù)據(jù)發(fā)送,如果需要數(shù)據(jù)實(shí)時(shí)收發(fā),就需要配置成透?jìng)髂J健?/p>

12.開(kāi)啟透?jìng)髂J健?/p>

//開(kāi)啟透?jìng)髂J?,僅支持TCP單連接和UDP固定通信對(duì)端的情況

AT+CIPMODE=1

//開(kāi)始透?jìng)?/p>

AT+CIPSEND

//此時(shí)發(fā)送的數(shù)據(jù)會(huì)直接給TCP服務(wù)器

7673e168-a67e-11eb-aece-12bb97331649.jpg

13.退出透?jìng)髂J健?/p>

//輸入不帶回車(chē)換行的三個(gè)加號(hào):+++,退出透?jìng)髂J?,返回到普通AT指令模式。

+++

//發(fā)送+++退出透?jìng)鲿r(shí),請(qǐng)至少間隔1秒再發(fā)下?條AT指令。

AT

OK

14.斷開(kāi)TCP連接。上面雖然退出了透?jìng)髂J?,此時(shí)還保持著TCP連接,服務(wù)器發(fā)送的數(shù)據(jù)可以實(shí)時(shí)收到。如果要斷開(kāi)TCP連接可以使用:AT+CIPCLOSE,可以看到服務(wù)器也顯示客戶(hù)端已經(jīng)離線(xiàn)。

76833bea-a67e-11eb-aece-12bb97331649.jpg

ESP8266作為T(mén)CP服務(wù)器,電腦作為T(mén)CP客戶(hù)端

ESP8266配置成AP模式,并開(kāi)啟TCP服務(wù)器,電腦連接ESP8266的WiFi,作為T(mén)CP客戶(hù)端,兩者之間數(shù)據(jù)傳輸。

1.模塊配置成AP模式:AT+CWMODE=2

2.設(shè)置無(wú)線(xiàn)網(wǎng)名稱(chēng)和密碼

//設(shè)置無(wú)線(xiàn)網(wǎng)名稱(chēng)和密碼

AT+CWSAP=“ESP8266”,“12345678”,5,3

//3表示W(wǎng)PA2_PSK加密方式

//查詢(xún)無(wú)線(xiàn)網(wǎng)信息

AT+CWSAP?

+CWSAP:[WiFi名稱(chēng)],[WiFi密碼],[通道數(shù)],[加密方式],[最大支持連接數(shù)],[廣播]

+CWSAP:“ESP8266”,“12345678”,5,3,4,0

3.設(shè)置無(wú)線(xiàn)網(wǎng)IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼

//設(shè)置IP、網(wǎng)關(guān)、子網(wǎng)掩碼

AT+CIPAP=“192.168.5.1”,“192.168.5.1”,“255.255.255.0”

4.建立TCP服務(wù)器,設(shè)置端口號(hào)

//使用多連接模式

AT+CIPMUX=1

OK

//指定TCP服務(wù)器端口為1001

AT+CIPSERVER=1,1001

創(chuàng)建TCP服務(wù)器之后,會(huì)自動(dòng)啟動(dòng)TCP服務(wù)監(jiān)聽(tīng),當(dāng)有TCP客戶(hù)端連接時(shí),會(huì)有CONNECT提示

0,CONNECT

76a4172a-a67e-11eb-aece-12bb97331649.jpg

5.網(wǎng)絡(luò)調(diào)試助手配置成客戶(hù)端模式,連接ESP8266創(chuàng)建的TCP服務(wù)器,主機(jī)地址和端口要和之前配置的保持一致。

//ESP8266查詢(xún)當(dāng)前連接的客戶(hù)端

AT+CWLIF

[IP地址],[MAC地址]

192.168.5.2,b8:86:87:4e:26:af

OK

6.網(wǎng)絡(luò)調(diào)試助手(TCP客戶(hù)端)發(fā)送消息給ESP8266(TCP服務(wù)器),因?yàn)镋SP8266已經(jīng)開(kāi)啟監(jiān)聽(tīng)服務(wù),數(shù)據(jù)會(huì)實(shí)時(shí)顯示。

76c10646-a67e-11eb-aece-12bb97331649.jpg

7.ESP8266(TCP服務(wù)器)發(fā)送消息給網(wǎng)絡(luò)調(diào)試助手(TCP客戶(hù)端)。

//ESP8266作為服務(wù)器,要往客戶(hù)端發(fā)數(shù)據(jù),需要指定客戶(hù)端編號(hào)和字節(jié)數(shù)

//往0號(hào)客戶(hù)端發(fā)5個(gè)字節(jié)的數(shù)據(jù)

AT+CIPSEND=0,5

OK

//輸入要發(fā)送的數(shù)據(jù),僅前五個(gè)字節(jié)數(shù)據(jù)被發(fā)出,其他數(shù)據(jù)無(wú)效。

Recv 5 bytes

SEND OK

76fcab1a-a67e-11eb-aece-12bb97331649.jpg

編輯:lyn

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

    關(guān)注

    9

    文章

    1934

    瀏覽量

    64728
  • AT指令
    +關(guān)注

    關(guān)注

    1

    文章

    41

    瀏覽量

    12159
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    45184

原文標(biāo)題:ESP8266兩種工作模式數(shù)據(jù)傳輸測(cè)試

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ESP8266筆記-05.ESP8266 WIFI的使用

    就是接入點(diǎn)模式,就是相當(dāng)于路由器的模式咯,可以發(fā)送出自己的接入點(diǎn)名稱(chēng)供客戶(hù)端模式去連接,當(dāng)然了,還有一模式就是他們
    發(fā)表于 10-31 18:33

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?5710次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。然而,如果不進(jìn)行燒錄,ESP8266將無(wú)法正常工作。 1. ESP8266簡(jiǎn)介
    的頭像 發(fā)表于 08-19 17:28 ?931次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過(guò)兩種方式實(shí)現(xiàn): 通過(guò)路由器連接(STA模式)和直接作為熱點(diǎn)連接(AP模式) 。以下是兩種連接
    的頭像 發(fā)表于 08-19 17:27 ?3359次閱讀

    SDIO支持哪些數(shù)據(jù)傳輸模式?

    1、當(dāng) SDIO 時(shí)鐘頻率為 25 MHZ 時(shí),總線(xiàn)速度可達(dá)多少? 還是 832MBPS? 2、SDIO 支持哪些數(shù)據(jù)傳輸模式? --1 位、2 位、3 位或 4 位? 3、哪個(gè) SDIO 引腳具有中斷功能? --DAT[0]? [1]?[2]?[3]?
    發(fā)表于 07-22 06:37

    ESP8266-12退出深度睡眠模式時(shí)掛起怎么解決?

    我正在使用 adafruits 的 esp8266 HUZZAH 板 (ESP8266-12),該板連接到溫度/濕度傳感器 (DHTxx),該傳感器正在向 thingspeak 發(fā)送溫度/濕度數(shù)據(jù)
    發(fā)表于 07-22 06:26

    ESP8266發(fā)送失敗的原因?如何解決?

    ,并將數(shù)據(jù)傳輸到它旁邊的 iPhone。 什么會(huì)導(dǎo)致 ESP8266 的 SEND FAIL 響應(yīng)?我們有一個(gè)類(lèi)似的 IC,我們正在與發(fā)送的 ESP8266一起進(jìn)行測(cè)試,而不會(huì)出現(xiàn)故障
    發(fā)表于 07-22 06:00

    使用esp8266進(jìn)行數(shù)據(jù)傳輸遇到的幾個(gè)疑問(wèn)求解

    我正在 esp8266 上進(jìn)行數(shù)據(jù)傳輸測(cè)試,以下是我關(guān)于這個(gè)問(wèn)題的問(wèn)題。 [測(cè)試摘要] 作為測(cè)試的一部分,
    發(fā)表于 07-16 07:09

    如何讓ESP8266變成AP模式?

    請(qǐng)問(wèn)除了smartconfig之外,我想讓ESP8266變成AP模式,再用手機(jī)APP與ESP8266對(duì)連后由手機(jī)輸入家中的路由器的SSID與Password給ESP8266 然后讓
    發(fā)表于 07-15 08:16

    ESP8266透?jìng)?b class='flag-5'>模式是如何工作的?

    /4a-esp8266_at_instruction_set_en.pdf) 表示傳輸之間存在 20 毫秒的延遲,發(fā)送的最大字節(jié)數(shù)為 2048 字節(jié)。這是否意味著每 20 毫秒發(fā)送一個(gè)數(shù)據(jù)包,并且發(fā)送的
    發(fā)表于 07-15 07:48

    使用esp8266的HSPI與STM32進(jìn)行通信時(shí)遇到的疑問(wèn)求解

    卻不是我寫(xiě)的內(nèi)容。 單片機(jī)這邊我配置的是八位數(shù)據(jù)傳輸,空閑低電平,上升沿讀取數(shù)據(jù),esp8266這邊使用的是spi_slave_init()函數(shù),最大傳輸32字節(jié),是我單片機(jī)這邊配置出
    發(fā)表于 07-10 06:45

    國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對(duì)比差異

    。ESP8285對(duì)比ESP8266差異如下: 1、ESP8285內(nèi)部集成1/2MB Flash,DOUT模式ESP8266則需要外接Fla
    的頭像 發(fā)表于 05-17 11:44 ?1434次閱讀
    國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對(duì)比差異

    使用Wi-Fi ESP8266方案模組接入云平臺(tái)

    選擇Wi-Fi的應(yīng)用模式,列出、加入、退出接入點(diǎn),建立TCP/UDP連接、獲得狀態(tài)、發(fā)送數(shù)據(jù)等操作。ESP8266模塊的三工作
    的頭像 發(fā)表于 05-10 08:20 ?1896次閱讀
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模組接入云平臺(tái)

    STM32、ESP8266與MQTT連接阿里云物聯(lián)網(wǎng)的串口通信異常解析

    阿里云物聯(lián)網(wǎng)平臺(tái)的過(guò)程中,串口通信異常成為了一個(gè)常見(jiàn)的挑戰(zhàn)。本文將探討這些異?,F(xiàn)象及其可能的原因,并給出相應(yīng)的解決方案。 首先,我們來(lái)談?wù)凷TM32與ESP8266之間的串口通信問(wèn)題。這者的組合通常用于實(shí)現(xiàn)數(shù)據(jù)的采集與
    的頭像 發(fā)表于 04-19 17:19 ?1516次閱讀

    DTU的多種協(xié)議,解鎖數(shù)據(jù)傳輸的無(wú)限可能

    。本文將詳細(xì)介紹DTU的多種協(xié)議,看看它們?nèi)绾螏椭覀兏玫赝瓿?b class='flag-5'>數(shù)據(jù)傳輸工作。1.Modbus協(xié)議:這是一常用于工業(yè)領(lǐng)域的通信協(xié)議,被廣泛用于連接PLC、溫控器
    的頭像 發(fā)表于 03-01 11:00 ?869次閱讀
    DTU的多種協(xié)議,解鎖<b class='flag-5'>數(shù)據(jù)傳輸</b>的無(wú)限可能