ESP8266通訊詳細教程(二)

2021-10-02 07:07:54 字數 2615 閱讀 7099

一直要不斷的向前進步啊。之前有一段時間學習了esp8266模組,當時也是一頓折騰,搗鼓了好幾天,雖然實現了簡單的通訊,但是腦子裡還是一片漿糊,對它的原理還是不太理解。最近湊著寒假有時間,又重舒舊情再來一遍,現在把整個過程的經驗分享給大家,希望能夠幫助到你們。

我們知道esp8266 模組支援 sta/ap/sta+ap 三種工作模式:

sta模式:通過連線路由器進行模組和電腦(手機)之間的通訊。

ap模式: esp8266為熱點,實現電腦(手機)與模組之間的直接通訊。

sta+ap模式:即兩種模式同時存在。

進一步的說

sta模式 《電腦——路由器——模組》

也就是路由器為中介實現電腦和模組之間的通訊。

sta模式下,模組也可以作為tcp伺服器(server)、tcp客戶端(client)、udp三種模式。

透傳就是指不需要關心wifi協議是如何實現的。所需要做的就是a通過串列埠發資料,b通過串列埠收資料,整個過程中a串列埠和b串列埠就像是用導線直接連線起來了一樣。則對於開發人員來看,就是完全透明的。

更簡單地理解就是:

如果不開啟透傳模式,我們怎麼傳送資料呢?在每次傳送資料前都必須先傳送指令

at+cipsend=(我們要傳送的資料)

那麼透傳模式如何設定那?

下面我們測試模組在sta模式下的透傳設定

1)設定wifi模式:

at+cwmode=1 //設定為sta模式

響應:ok

2)重啟生效

at+rst

響應:ok

3)連線路由器

at+cwjap=」e201」,」1234567890」 //連線物件路由器的名稱和密碼(不要連線手機熱點,我也不知道為什麼,但是連線手機熱點連線不上。)如果這一步失敗,嘗試連線其他路由器。

響應:ok

4)at+cipmux=0 //設定單路連線模式

響應:ok

注:下面的操作是以電腦作為伺服器,即通過串列埠除錯助手傳送資料,電腦通過網路除錯助手接收資料。(關閉防火牆,一定要關閉防火牆)電腦和模組連線的是同乙個路由器。

5)在電腦上使用乙個網路除錯助手,建立乙個server,(本地ip即你電腦的ip位址)

注:這裡筆者有幾點說明一下

網路除錯助手怎麼用那?又有什麼功能那?

①你可以不加任何外設,只是僅僅開啟兩個網路除錯助手,乙個選擇tcp serve,另乙個選擇tcp client, 那ip位址和埠號又怎麼設定那?接著往下看

③埠號:埠號可自行定義,什麼意思那?

就比如說我遇到的情況,我開啟乙個網路除錯助手,設定為tcp server,埠號預設為8080,但是當我連線的時候沒有反應,連線不上。後來在網上一頓查才知道,當你建立的server連線不上的時候,是因為你現在的埠號被占用了,因為埠號可以自行定義,所以你可以設定個別的啊。話說過來,怎麼知道哪些埠號被占用了那?

開啟cmd命令提示符,輸入netstat –ano,就可以看到8080埠已被占用

所以我就設定乙個8082埠,連線成功。

接下來我兩個網路除錯助手都設定埠為8082,連線成功,在client視窗中傳送訊息,server便可以接收到相應的訊息。如下圖:

當然也可以互相傳送資訊,如果你勾選了十六進製制顯示,它顯示的便是轉換後的十六數。

6)模組連線到server

at+cipstart=」tcp」,」192.168.1.115」,8080 //輸入你自己的ip和埠號

響應:connect

ok
如果此時顯示錯誤的話,原因有以下兩點

①沒有關閉電腦防火牆。

②模組和電腦連線的不是同一wifi。

③如果還是顯示錯誤的話,嘗試連線別的路由器(小白當初上面①②選項都沒有問題但是就是連線不上,偶然一次機會在親戚家,模組和電腦連線了另乙個wifi,沒想到連線成功)。

所以:如果還是連線不成功,不要灰心,慢慢找原因,你一定可以。

7)開啟透傳模式

at+cipmode=1

響應:ok

8)開始透傳

at+cipsend

響應:ok

>
現在就可以相互傳送資料了。

9)退出透傳

+++(注意此時取消勾選「傳送新行」選項

傳送完之後,沒有任何顯示,此時再次勾選「傳送新行」選項,傳送at,則返回ok。

上面是只是用at指令對模組就行測試,並沒有用到任何**,接下來實現模組與微控制器連線,實現微控制器給伺服器傳送資料。

如果有哪位大佬知道我的問題出現在**,希望指正。

**連線:

微控制器通過esp8266將資料傳送到本地伺服器.

ESP8266模組使用教程

esp8266是espressif 樂鑫資訊科技 推出的一款物聯網wifi物聯網模組,特點是 便宜 esp8266模組 串列埠轉wifi模組 特別注意一下,供電是3.3v,千萬別5v,5v 2分鐘晶元溫度就達到100度以上,樓主因此還被燙傷了,還好及時拔電,模組沒壞 買來模組接了電串列埠不開機?這裡...

ESP8266學習筆記(二)

上篇文章提到了如何使用usb轉ttl模組除錯esp8266模組以及該模組的幾種工作方式。此篇將會介紹如何實現esp8266模組與微控制器的通訊。功能介紹 esp8266模組與stm32微控制器的串列埠三之間互相通訊,本人測試的是esp8266模組的sta做客戶端的模式。與usb轉ttl模組除錯步驟相...

esp8266用mqtt協議通訊

之前用esp8266做的東西是通過tcp連線來和伺服器端通訊的,伺服器端需要自己管理所有的連線,每個連線要做心跳包,還要考慮通訊訊息的可靠性。偶然看到了mqtt協議,發現可以拿來用。mqtt協議介紹 esp8266可以用的mqtt客戶端 注意我這邊用的是esp12e模組,16塊左右,所以有16引腳,...