標題: ESP8266 wifi模塊與51單片機通信入門教程,模塊出廠固件燒錄 [打印本頁]
作者: a1bc2de3f 時間: 2019-5-9 23:11
標題: ESP8266 wifi模塊與51單片機通信入門教程,模塊出廠固件燒錄
前段時間在某寶買了個ESP8266模塊,用來實現和51單片機的通信,現在將大致過程分享一下,希望能幫助到那些想學習的小白
三部分內容:配置模塊、模塊與51單片機簡單通信、出廠固件的燒錄
附件里有pdf教程,跟帖子內容一樣的,瀏覽體驗可能會更好一點
我買的是8266-01,引腳圖如下
50e81a93228c22f9d31af1896ef0eeed.png (4.56 KB, 下載次數: 198)
下載附件
2019-5-9 22:46 上傳
引腳說明:
• VCC接3.3v,接5v時間長了可能會燒
• UTXD,URXD和其它的TXD,RXD接時注意交叉接就行了
• CH_PD要給高電平模塊才工作
• GPIO0一般不用管,燒錄固件時要接地
• RST低電平復位,高電平工作(默認高)
• GPIO2必須為高電平,內部默認已拉高,不用管
一、配置模塊:
一般接線如下,圖為模塊與usb轉ttl模塊的接線,與單片機的接線也類似
6a9349404d6d7f80bd656b80526aca5d.png (87.43 KB, 下載次數: 205)
下載附件
2019-5-9 22:49 上傳
下圖為我的連接圖,我這個usb轉ttl模塊的VCC引腳是輸出3.3v的
1f01af3a7f59ac5a7ecc06be7c3eff0.jpg (1.32 MB, 下載次數: 215)
下載附件
2019-5-9 22:50 上傳
接到電腦usb口,打開串口調試助手,wifi模塊買回來的時候波特率應該都是115200,所以要把串口助手的波特率設置為115200,然后點擊打開串口。
用到的AT指令如下:
• AT(返回ok表示通信成功)
• AT+CIOBAUD=X(改模塊的波特率,X為要改成的波特率,因單片機達不到太高的波特率所以要更改一下波特率,因為我學習板上的晶振是12MHZ的,所以我這里改成4800,原因后面會說到,一般改9600就行,改完之后記得把串口助手的波特率也設置成新波特率,再發AT,有ok表明通信成功)
批注 2019-05-07 203505.png (91.51 KB, 下載次數: 203)
下載附件
2019-5-9 22:51 上傳
• AT+CWMODE=X(設置工作模式指令,X可以是1、2、3,具體如下:
1:Station模式
2:AP模式
3:Station+AP模式
Station可理解為讓wifi模塊去連接路由器或熱點,此時模塊作為客戶端
AP模式可理解為模塊本身是一個熱點,手機或電腦可以連接這個熱點,此時模塊作為服務器。
這里講的是AP模式,Station模式不講,可以自己去了解。
• AT+RST(重啟指令,設置新的工作模式后需重啟才能生效。發送完這條指令后再發送其它指令可能會顯示串口無效,需要退出串口調試助手再重新進入。)
批注 2019-05-07 203714.png (90.14 KB, 下載次數: 192)
下載附件
2019-5-9 22:51 上傳
• AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>(設置AP模式下的參數,簡單點說就是設置熱點的名字,密碼之類的,例如AT+CWSAP=”8266”,“66666666”,0,3)
批注 2019-05-08 203214.png (30.65 KB, 下載次數: 189)
下載附件
2019-5-9 22:51 上傳
這里我不設置,用默認的
• AT+CWSAP?(可以查看當前AP模式下模塊熱點的具體信息)
• AT+CIFSR(查看IP地址,好像都是192.168.4.1)
• AT+CIPMUX=1(開啟多連接,貌似最多可以有5臺設備連接這個模塊,設備id分別分配為0到4)
• AT+CIPSERVER=1,X(1表示開啟服務器,X為自己設置的端口號,一般設3或4位。也可以只開啟服務器而不設置端口號,默認端口是333好像)
注:倒數的這兩條指令在模塊掉電后需要重新配置,其它那幾條配置過一次不用再重新配置了。
批注 2019-05-07 204334.png (98.98 KB, 下載次數: 192)
下載附件
2019-5-9 22:51 上傳
批注 2019-05-07 204842.png (87.21 KB, 下載次數: 198)
下載附件
2019-5-9 22:51 上傳
到這里拿出手機,打開wifi并連接上模塊的熱點,如果搜不到熱點可以試一下拔了重插,再重新發那兩條指令。
Screenshot_2019-05-07-20-46-42-385_comandroidse.png (39.61 KB, 下載次數: 182)
下載附件
2019-5-9 22:50 上傳
連接熱點成功后打開網絡調試助手這個軟件,右滑進入設置,協議設置為TCP Client,即客戶端模式,IP地址為192.168.4.1,端口為剛才設置的,然后點連接,連接成功后就能通信了。
Screenshot_2019-05-07-20-47-19-770_com.network.de.png (50.03 KB, 下載次數: 184)
下載附件
2019-5-9 22:51 上傳
這里發送了hello和hello66666666,可以看到電腦上的串口調試助手顯示到手機發送過去的信息,這里注意到信息前還附帶了+IPD,0,X:這里的0表示設備id號,表示第0臺設備發送過來的信息,然后X表示信息包含的字符數量。
123.jpg (24.36 KB, 下載次數: 185)
下載附件
2019-5-9 23:01 上傳
二、模塊與51單片機通信
程序比較簡單,實現的功能:手機發一個A,學習板上的燈亮,發B滅燈,簡單地測試一下。下圖是我的連線,很亂,主要注意接對就行了,學習板沒有3.3v,接了一個降壓模塊給模塊供電。
IMG_20190508_183359.jpg (5.68 MB, 下載次數: 195)
下載附件
2019-5-9 22:50 上傳
程序:
- #include <reg52.h>
- #include "intrins.h"
- sbit LED1=P2^0;
- typedef unsigned int u16;
- typedef unsigned char u8;
- u8 receive[2];
- u8 sign=0;
- void delay1s(void) //誤差 0us
- {
- u8 a,b,c;
- for(c=46;c>0;c--)
- for(b=152;b>0;b--)
- for(a=70;a>0;a--);
- _nop_(); //if Keil,require use intrins.h
- }
- //初始化串口
- void Init()
- {
- SCON = 0x50; //串口模式1,允許接收
- TMOD = 0x20; //T1工作模式2,自動重裝
- PCON = 0x80; //波特率倍增
- REN = 1;
- //根據實際選擇
- // TH1 = 0xfa; //波特率9600(11.0592)
- TH1 = 0xf3; //波特率4800(12.0000)
- // TH1 = 0xf4; //波特率4800(11.0592)
- TL1 = TH1;
- RI=0;
- EA = 1;
- ES = 0;
- TR1 = 1;
- }
- //發送字符
- void send(u8 value)
- {
- ES=0; //關閉串口中斷
- TI=0; //清發送完畢中斷請求標志位
- SBUF=value; //發送
- while(!TI); //等待發送完畢
- TI=0; //清發送完畢中斷請求標志位
- ES=1; //允許串口中斷
- }
- //單片機向模塊發送AT指令
- void wifi_init()
- {
- u8 j=0;
- u8a[]="AT+CIPMUX=1\r\n"; //那兩條掉電要重新配置的指令
- u8b[]="AT+CIPSERVER=1,6666\r\n";
- while(a[j]!='\0')
- {
- send(a[j]);
- j++;
- }
- j=0; //清零準備發第二條指令
- delay1s(); //延時一下
- while(b[j]!='\0')
- {
- send(b[j]);
- j++;
- }
- delay1s();
- }
- void wifi_data()
- {
- if(receive[0]=='A') LED1=0; //亮
- if(receive[0]=='B') LED1=1; //滅
- }
- void main()
- {
- Init();
- wifi_init();
- while(1)
- {
- wifi_data();
- }
- }
- //中斷程序,此程序只把+IPD,x,x:后的有用數據存進receive數組里
- void ZD() interrupt 4
- {
- if(RI)
- {
- RI=0;
- if(sign==1)
- {
- receive[0]=SBUF;
- sign=0; //保存receive[0]的數據
- }
- if(SBUF==':') sign=1;
- }
- }
復制代碼
上面提到的波特率問題,簡單地說,11.0592是最適合通信的,如果用12的話會有誤差,12的晶振在波特率為4800且加倍時(即SMOD為1),誤差會比較小,所以這也是我設置波特率為4800的原因,詳細可以看一下下面這張圖。
批注 2019-05-09 230934.png (384.33 KB, 下載次數: 196)
下載附件
2019-5-9 23:09 上傳
三、燒錄出廠AT固件
剛接觸8266模塊的時候,有些地方不是很懂,一頓亂操作之后啥也沒搞成,當時燒錄了一個我也不知道有什么用的固件,然后經常傻傻的,有很多奇怪的情況,后來燒錄了出廠固件功能就正常了,在這也寫一下具體操作。
接線方面,如下圖,主要是綠色那條,GPIO0接低電平時為下載模式。
6a9349404d6d7f80bd656b80526aca5d6.png (108.33 KB, 下載次數: 190)
下載附件
2019-5-9 22:50 上傳
電腦打開燒寫軟件
批注 2019-05-07 232327.png (14.29 KB, 下載次數: 208)
下載附件
2019-5-9 22:51 上傳
選中文件夾里面bin后綴的固件
批注 2019-05-07 232249.png (30.04 KB, 下載次數: 200)
下載附件
2019-5-9 22:51 上傳
按下圖配置好,選擇對應串口,點擊START即可燒寫
批注 2019-05-08 224915.png (154.4 KB, 下載次數: 189)
下載附件
2019-5-9 22:51 上傳
瞎說一些:
• 本人小白一個,也有很多不懂的地方,說的可能不是很對
• 如想了解更多,鏈接: wiki.ai-thinker點com/esp8266
• 對于不會java和安卓開發之類的又想弄個小app來實現控制硬件的,可以去了解一下E4A,中文編程,軟件里面有很多例程,例如客戶端,服務器之類的例程,可以參考一下然后自己整一個app,這個比較容易上手,有興趣的可以去學習一下。
批注 2019-05-09 233808.png (32.26 KB, 下載次數: 189)
下載附件
2019-5-9 23:40 上傳
全部資料51hei下載地址:
所有資料.zip
(14.59 MB, 下載次數: 1196)
2019-5-9 23:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: admin 時間: 2019-5-10 05:00
好資料,51黑有你更精彩!!!
作者: swustlx86 時間: 2019-5-10 08:52
感謝分享 CH_PD要給高電平模塊才工作 這條很 有用 以前一直不知道
作者: hufeng 時間: 2019-5-10 16:55
感謝分享,正好在研究這個
作者: 73453453783 時間: 2019-6-23 03:17
太棒了,真是了不起
作者: 終極小饅頭啦 時間: 2019-7-5 12:42
樓主,CH_PD腳我是沒接的,也能正常工作,應該是默認上電高電平的
作者: 76711031 時間: 2019-7-6 22:36
感謝分享~~~~~~~~~~~~~~~~~~~~~
作者: 鵬博士PBs 時間: 2019-7-7 10:33
wift模塊和6395串口進行通信
作者: a1bc2de3f 時間: 2019-7-10 10:44
CH_PD沒接的話只能看到紅色燈亮,但是發AT指令是沒有反應的,wifi模塊應該沒有工作,CH_PD接高電平,插到電腦usb口時會看到藍色的燈閃爍,發AT指令正常。
作者: NOP12 時間: 2019-7-16 11:25
我喜歡
作者: 261779498 時間: 2019-7-16 13:48
學習學習,感謝分享
作者: zsheng2011 時間: 2019-7-30 20:09
資料不錯,我已經制作成功了
作者: zk_2019 時間: 2019-8-5 10:45
請問波特率更改不成功是怎么回事呢?手機也連接不上
作者: a1bc2de3f 時間: 2019-8-5 14:48
你是指發更改波特率的AT指令返回的是error嗎?可以刷一下固件看看行不行
作者: q1914702038 時間: 2019-8-8 16:27
怎么讓單片機發給手機上
作者: 517363095 時間: 2019-8-21 14:41
謝謝分享!!!嘗試
作者: 小飛龍 時間: 2019-8-22 18:53
我用的是8266MOD的板子,只需要連RX/TX和GND,已經成功了
作者: GodWorks 時間: 2019-8-23 10:26
good 謝謝分享
作者: Immortal盲點 時間: 2019-8-24 15:56
為什么usb-ttl轉換器插到電腦上串口有警告?
作者: lhrlhr 時間: 2019-8-24 21:32
收藏下…………………………
作者: 鵬博士PBs 時間: 2019-8-25 07:29
漲知識了 不錯不錯 感謝分享
作者: a1bc2de3f 時間: 2019-8-25 07:54
標題: RE: ESP8266 wifi模塊與51單片機通信入門教程,模塊出廠固件燒錄
這個,,,你usb-ttl的驅動裝了嗎,如果裝了的話可能是電腦串口的某些問題吧,我也不太清楚。
作者: Immortal盲點 時間: 2019-8-25 16:20
為什么連上單片機之后手機沒辦法連接8266而且下載不了程序到單片機上呢
作者: 楓樹566 時間: 2019-8-25 20:22
感謝樓主分享,很不錯
作者: 瀟瀟123 時間: 2019-10-15 17:09
幫大忙了,十分感謝
作者: 篤三信 時間: 2019-10-16 08:43
大學見人用串口,藍牙,ZIGBEE做過,
但是WIFI還是第一次
作者: wcx6270 時間: 2019-10-16 09:24
這個不錯啊
作者: Tgf 時間: 2019-11-16 20:36
請問樓主,為啥要燒固件呀?
作者: Tgf 時間: 2019-11-24 00:51
q1914702038 發表于 2019-8-8 16:27
怎么讓單片機發給手機上
這得需要服務器,可以去用阿里云服務器,學生好像有優惠
作者: CC救救我8 時間: 2020-1-15 10:33
感謝樓主分享!特別是代碼方面的 對我的實現很有意義
作者: lulgs 時間: 2020-1-16 13:41
感謝分享!再加一個手機APP就完美了
作者: avenma 時間: 2020-1-16 14:39
感謝樓主分享
作者: rsurb0371 時間: 2020-3-6 10:15
用AT指令改過波特率,熱點名字,密碼,IP地址,工作模式 之后就永久有效了嗎? 還是用一次改一次?
作者: 這是我 時間: 2020-3-9 12:06
好資料,已經刷好原廠固件,可以改波特率了。
作者: jiajia86 時間: 2020-3-9 14:37
謝謝分享。
作者: ak333 時間: 2020-3-9 16:23
學習了,謝謝樓主,說明很詳細;
作者: yeweixin 時間: 2020-3-23 00:38
請問接usb轉ttl上的3.3v可以嗎,普中的板
作者: wsh791 時間: 2020-3-23 11:33
謝謝分享
作者: denminshen 時間: 2020-4-16 15:40
非常詳細的資料,謝謝樓主分享!
作者: 心羽家電 時間: 2020-4-17 09:21
值得學習 感謝樓主的分享
作者: dehermano 時間: 2020-4-26 16:09
請問8266必須要刷固件庫才能使用嗎
作者: daocheng 時間: 2020-4-27 11:19
好資料,好小巧的ESP8266 wifi模塊,好喜歡!
教程也很詳細,問一下下一步想怎么利用它,打算做什么?
作者: tangystt 時間: 2020-4-27 14:11
值得學習 感謝樓主的分享
作者: dubolin 時間: 2020-5-4 22:49
樓主,可以看一下你的單片機與ESP8266的連線圖嗎?,謝謝
作者: dubolin 時間: 2020-5-5 15:47
請問你用usb轉ttl上的3.3v可以成功嗎
作者: 15817750246 時間: 2020-5-5 20:29
燒錄那里有些資料時DOUT的
作者: 小毛孩子 時間: 2020-5-7 13:13
AP模式是不是只能收不能發啊
作者: Linda12345 時間: 2020-5-16 01:00
很實用,謝謝呀!
作者: 作業暖冬 時間: 2020-6-1 17:04
請問下樓主刷固件有什么用
不刷的話是不是不能使用at指令
作者: carlson-chuo 時間: 2020-6-2 17:49
謝謝,正要學習,感謝分享。
作者: a1bc2de3f 時間: 2020-6-3 12:27
一般買來的新模塊都不用刷的,就正常用就行。刷固件就是當你發現有一些奇怪問題的時候(例如波特率的問題或發AT指令返回異常),就可以刷一下,不過也不排除新買的也會有一些奇怪問題,像我師兄買了一個就有問題,刷一下固件就正常了。
作者: a1bc2de3f 時間: 2020-6-3 12:33
有3.3的口應該可以的,不過最好能用萬用表測一下電壓有多少。
作者: 一起擼 時間: 2020-6-4 23:53
很有用,感謝分享
作者: 許老師 時間: 2020-6-5 09:27
很棒,解釋很詳細
作者: weidoit 時間: 2020-6-5 14:58
ESP8266(硬件)+Proteus(軟件)測試通過。
001.png (42.38 KB, 下載次數: 846)
下載附件
2020-6-5 14:55 上傳
002.png (42.65 KB, 下載次數: 818)
下載附件
2020-6-5 14:55 上傳
作者: 柏rui 時間: 2020-6-8 11:20
真的有用 十分感謝 謝樓主
作者: 怒天狂龍hbt 時間: 2020-6-8 13:56
學習學習,感謝分享
作者: 楊宮梓 時間: 2020-6-23 14:44
感謝樓主分享,有很大用處
作者: ii11nnocent 時間: 2020-7-24 23:25
首先感謝樓主分享資料。我的情況是這樣的,8266連接電腦,一切指令都沒有問題,包括用手機發送指令,電腦的串口助手可以收到。但是將程序寫道單片機內后,發現手機可以連接8266的wifi,但是無法通過手機的app連接8266,ip地址和端口都已經修改完,點擊連接后顯示連接失敗,是我哪里操作不嗎?是不是需要重新刷固件?
作者: seenian 時間: 2020-10-7 01:18
ii11nnocent 發表于 2020-7-24 23:25
首先感謝樓主分享資料。我的情況是這樣的,8266連接電腦,一切指令都沒有問題,包括用手機發送指令,電腦的 ...
巨佬,解決了嗎,我的也是這樣的,糾結好久了,不知道咋辦。
作者: 麗山小旋風 時間: 2020-10-7 09:51
手機應該有一個APP接受單片機的信息,你到τ 寶買8266的時候看看有么有
作者: pcpop 時間: 2020-10-7 14:37
mark一下,舉得很有用
作者: seenian 時間: 2020-10-14 15:24
ii11nnocent 發表于 2020-7-24 23:25
首先感謝樓主分享資料。我的情況是這樣的,8266連接電腦,一切指令都沒有問題,包括用手機發送指令,電腦的 ...
單片機給8266發送指令之前要先加延時,不然上電的時候8266復位會和AT指令沖突,延時要長一點。
作者: faiz999 時間: 2020-11-11 20:50
樓主你好,我的esp8266接了單片機后一直亮藍燈什么問題?
作者: qixiu1342 時間: 2020-11-26 21:51
最近在學8266,看見樓主的資料很不錯,謝謝樓主的分享
作者: ying007 時間: 2020-11-27 09:33
這個要微信或APP操作才更好
作者: kbnh 時間: 2021-1-16 17:03
為什么網絡調試助手不能接收到單片機發出的數據?
作者: 嘉雨加 時間: 2021-1-18 22:20
感謝分享,步驟明了,參考很棒
作者: wbwcf13e 時間: 2021-4-1 15:31
a1bc2de3f 發表于 2019-7-10 10:44
CH_PD沒接的話只能看到紅色燈亮,但是發AT指令是沒有反應的,wifi模塊應該沒有工作,CH_PD接高電平,插到 ...
倆燈都亮是咋回事?
作者: ak333 時間: 2021-4-3 22:24
好資料,謝謝分享,在學習串口透傳
作者: 欣欣 時間: 2021-4-29 15:10
這個ESP8266模塊,用51單片機通信,我一直希望能學習到
今天終于找到了:配置模塊、模塊與51單片機簡單通信、出廠固件的燒錄等內容
真是大好人啊!
作者: lxa0 時間: 2021-4-29 16:05
樓主圖文并貿非常好!
還為大家提供相關資料,
非常感謝你!
作者: yygdzjs 時間: 2021-4-30 10:02
昨天到網上買了,兩個模塊(ESP8226-DTH11溫度濕度,繼電器模塊),
以為已經有 相應程序,測試一下。只有原廠的程序.自己要處理.
看看你們的資料.
作者: lcy960 時間: 2021-6-2 22:05
CH_PD要給高電平模塊才工作 這條很 有用 以前一直不知道
GPIO0一般不用管,燒錄固件時要接地
作者: wwh2382 時間: 2021-6-15 15:53
這兩天刷SOnOFF,然后回復AT指令就亂了。剛才按樓主的介紹刷了出廠固件,恢復正常,且版本有提高。不錯!
作者: yangbulasi 時間: 2021-6-22 16:49
非常好的資料,收下好好學習
作者: pq1972 時間: 2021-6-22 22:13
好資料,雖然現在還看不太懂,慢慢學習
作者: xjx51 時間: 2021-8-7 21:32
太有用了!剛試了下就行了
作者: 風158 時間: 2021-8-7 22:08
現在的8266已不需要刷固件了,用軟件修改串口速率為9600以適應單片機,再設置成ap模式,就能讓單片機通過WiFi與手機通訊了,超級簡單。
作者: zhaxiaobian_er 時間: 2021-11-1 15:40
樓主的分享精神 值得學習。 樓主好樣的。
作者: pq1972 時間: 2021-11-22 12:41
買了一塊,還沒開始弄,謝謝樓主的資料
作者: 西點鐘靈毓秀 時間: 2021-11-23 09:42
ESP8266 wifi模塊與51單片機通信入門教程,模塊出廠固件燒錄。非常有用
作者: dokakakak 時間: 2021-12-11 21:38
剛好有個任務就是要做這個差不多的項目,謝謝樓主分享
作者: kentra 時間: 2021-12-12 07:21
wifi模塊應該沒有工作,CH_PD接高電平,插到電腦usb口時會看藍色的燈閃爍,發AT指令正常
作者: 女神 時間: 2021-12-23 13:02
應該是不斷重啟或者是數據輸出
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
一区二区三区在线
|
国产婷婷在线视频
|
欧美一区二区三区四区视频
|
自拍偷拍亚洲一区
|
亚洲一区久久
|
最新中文字幕第一页视频
|
亚洲一区
|
粉嫩av在线
|
成人av免费|
亚洲免费影院
|
欧美一级全黄
|
在线观看亚洲一区二区
|
中文字幕一区在线观看视频
|
狠狠操狠狠干
|
亚洲少妇综合网
|
久久一区二区三区四区五区
|
久久综合久色欧美综合狠狠
|
日韩欧美第一页
|
久久伊人精品
|
精品国产视频
|
日韩欧美中文字幕在线观看
|
av一区二区三区
|
欧美福利三区
|
www国产成人免费观看视频,深夜成人网
|
精品毛片|
性精品
|
亚洲欧美日韩久久
|
www国产精品
|
亚洲综合久久网
|
精品欧美
|
久久久蜜臀国产一区二区
|
天堂成人国产精品一区
|
九九九视频
|
亚洲经典一区
|
中文欧美日韩
|
成人高潮片免费视频欧美
|
在线观看视频91
|
国产日韩欧美在线播放
|
在线观看av网站永久
|
日韩精品久久久久
|
亚洲一区国产
|