找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 140177|回復(fù): 63
收起左側(cè)

Uart-WiFi模塊ESP8266把玩記(附51單片機(jī)程序)

  [復(fù)制鏈接]
ID:3721 發(fā)表于 2015-1-5 22:41 | 顯示全部樓層 |閱讀模式
由于只是一個(gè)模塊,并不是完整的開發(fā)板,所以需要自己連接外圍電路。試用的過(guò)程中遇到了很多麻煩,這里統(tǒng)統(tǒng)記錄。

1.確認(rèn)硬件版本
由于ESP8266版本一直在更新,所以需要自己確認(rèn)一下PCB版本。
特征:中間四個(gè)IO口有線連接出來(lái)。

2.硬件連接
如果確認(rèn)是上述硬件版本,那么它的硬件連接圖是這樣的:
20141023103204344.png
我的實(shí)際效果圖:
20141023103452075.jpg
3.USB轉(zhuǎn)串口(TTL)選擇
我使用的是PL-2303HX。注:需要外部供電。

4.串口調(diào)試助手配置
波特率:115200

5.查看上電信息
上電后,串口會(huì)接收到「亂碼 + ready」,亂碼是由于剛上電引起的。輸出「ready」代表啟動(dòng)正常。完全沒(méi)有信息有可能是硬件上RXDTXD接反了。
20141023103737857.png

6.執(zhí)行第一個(gè)命令
20141025142940747.png
其它問(wèn)題:
1.上電后串口無(wú)任何輸出
CH管腳沒(méi)有拉高。
2.上電后操作系統(tǒng)不識(shí)別了「USB轉(zhuǎn)串口」。
我遇到這個(gè)問(wèn)題是因?yàn)槲抑苯邮褂玫摹?font face="Times New Roman">USB轉(zhuǎn)串口」上的3.3V供電給「ESP8266模塊」。使用外接電源給「ESP8266模塊」供電后,問(wèn)題得以解決。

其它內(nèi)容:Uart WiFi的應(yīng)用

郵件收到這樣一個(gè)需求:
    看到您有回答過(guò)wifi嵌入式模塊的問(wèn)題,我們公司有使用wifi嵌入式模塊的產(chǎn)品計(jì)劃。
    主要想用在 家用便攜血糖儀、血壓計(jì)、心電儀上。
    關(guān)于wifi嵌入模塊這塊,希望能得到你的支持和幫助。
        一開始想到的「WiFi模塊」就是一般的和手機(jī)上類似的WiFi模塊,很快就選了幾款并列出各個(gè)優(yōu)缺點(diǎn),準(zhǔn)備進(jìn)一步的問(wèn)清需求:1.主控MCU是什么型號(hào);2.需要不需要和其它功能一塊集成(比如BT3.需要做哪些工作 原理圖 PCB 量產(chǎn)。
        但是客戶直接說(shuō)了一款名字叫ESP8266UART接口的WiFi模塊,并將了幾個(gè)特點(diǎn) 體積。瘍r(jià)格低/UART通用接口。我之前預(yù)案中的都用不上,UART WiFi我還沒(méi)有接觸過(guò)。開始以使用者的角度來(lái)了解一下。
        大概了解ESP8266中跑的并不是一定是操作系統(tǒng),有可能直接以裸機(jī)的形式跑的LwIP協(xié)議,對(duì)用戶是以Uart的形式為接口?梢酝ㄟ^(guò)串口來(lái)操作模塊連接AP以連接互聯(lián)網(wǎng)。連接互聯(lián)網(wǎng)后可以實(shí)現(xiàn)的功能就比較多了,文檔中介紹提供了可以直接使用「?jìng)鬏攲印沟?/font>TCP協(xié)議來(lái)傳輸數(shù)據(jù),雖然目前還不知道對(duì)「應(yīng)用層」協(xié)議支持的程度如何,但是已經(jīng)確定通過(guò)TCP協(xié)議可以和其它互聯(lián)網(wǎng)設(shè)備進(jìn)行通信了。




回復(fù)

使用道具 舉報(bào)

ID:3721 發(fā)表于 2015-1-5 22:42 | 顯示全部樓層
下是51單片機(jī)驅(qū)動(dòng)ESP8266模塊的代碼:

  1. #include <AT89X51.H>
  2. #include <stdio.h>
  3. unsigned int a;
  4. int b=1;
  5. int c =1;
  6. int d =1;
  7. int e=1;
  8. int f=0;
  9. void main(void)  
  10. {
  11. unsigned char ldat;
  12.     PCON |=0X80;  //是否波特率倍增
  13. SCON=0x50;
  14. TMOD=0X20;    //設(shè)置定時(shí)器1為模式2,做為波特率發(fā)生器
  15. TL1=0xFF;    //57600波特率的初值,板子使用11.592M晶振,初值=256-12000000/32/12/2400
  16. TH1=0xFF;    //
  17. TI = 1;
  18. TR1=1;     //啟動(dòng)波特率發(fā)生
  19.    //設(shè)置串口方式2
  20.    do{
  21. for (a=0; a<50000; a++);
  22. printf ("AT+CIPMUX=1\n");
  23.   do{
  24. if(RI){    //查詢是否有數(shù)據(jù)接收
  25.    ldat=SBUF;  //數(shù)據(jù)暫存于變量中
  26.    RI=0;
  27.     if (ldat=='K')
  28.     {b=0 ;
  29.     d=0;}
  30.       c++;
  31.    if (c==1000)
  32.    {c=1;
  33.    d=0;}}
  34.   }while (d);  
  35. }while(b) ;
  36. b=1;
  37. c =1;
  38. d =1;

  39.      do{
  40. for (a=0; a<50000; a++);
  41. printf ("AT+CIPSERVER=1,7671\n");
  42.   do{
  43. if(RI){    //查詢是否有數(shù)據(jù)接收
  44.    ldat=SBUF;  //數(shù)據(jù)暫存于變量中
  45.    RI=0;
  46.     if (ldat=='K')
  47.     {b=0 ;
  48.     d=0;}
  49.       c++;
  50.    if (c==1000)
  51.    {c=1;
  52.    d=0;}}
  53.   }while (d);  
  54. }while(b) ;  
  55. b=1;
  56. c =1;
  57. d =1;


  58.   while(1)
  59. {
  60.     if(RI){    //查詢是否有數(shù)據(jù)接收
  61.    ldat=SBUF;  //數(shù)據(jù)暫存于變量中
  62.    RI=0;   //重新清0等待接收


  63. //命令接收開始
  64.    if (ldat=='}')
  65.    { char k[50] ;




  66.        do{

  67.     if(RI){    //查詢是否有數(shù)據(jù)接收
  68.    ldat=SBUF;  //數(shù)據(jù)暫存于變量中
  69.    RI=0;   //重新清0等待接收
  70.        k[f]=ldat;
  71. f++ ;
  72. if(ldat==0x0A){e=0;}
  73.   }
  74.     } while (e) ;
  75.      printf("%s\n", k);
  76.   f=0;
  77.   e=1;
  78.    for (a=0; a<50; a++){
  79.    k[a]=0;

  80.    }


  81. }
  82. //命令結(jié)束


  83.   }
  84. }

  85. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:73499 發(fā)表于 2015-2-10 11:40 | 顯示全部樓層
樓主好人呀,謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:73964 發(fā)表于 2015-3-9 20:15 來(lái)自手機(jī) | 顯示全部樓層
不錯(cuò)  謝謝
回復(fù)

使用道具 舉報(bào)

ID:68166 發(fā)表于 2015-3-10 23:31 | 顯示全部樓層
非常不錯(cuò),收藏了
回復(fù)

使用道具 舉報(bào)

ID:75096 發(fā)表于 2015-3-22 21:13 | 顯示全部樓層
樓主你好,我也在使用這個(gè)模塊。用的是外部供電,接法和你的一樣,u轉(zhuǎn)串接到電腦上,但是上電之后沒(méi)有ready出現(xiàn),只是一堆亂碼,請(qǐng)樓主看看是怎么回事,謝謝
捕獲.JPG
回復(fù)

使用道具 舉報(bào)

ID:76540 發(fā)表于 2015-4-9 20:52 | 顯示全部樓層
樓主 關(guān)于單片機(jī)跟 esp8266 的 串口通信 我有些疑問(wèn) 能問(wèn)問(wèn)嗎 樓主還在不
回復(fù)

使用道具 舉報(bào)

ID:78355 發(fā)表于 2015-4-28 18:32 | 顯示全部樓層
請(qǐng)問(wèn)那個(gè)stdio的標(biāo)準(zhǔn)庫(kù)要怎么調(diào)試
回復(fù)

使用道具 舉報(bào)

ID:81125 發(fā)表于 2015-5-25 23:01 | 顯示全部樓層
樓主太好,特地申請(qǐng)了一個(gè)論壇號(hào)來(lái)評(píng)論以示謝意。
回復(fù)

使用道具 舉報(bào)

ID:81125 發(fā)表于 2015-5-25 23:21 | 顯示全部樓層
不過(guò)還是有些不明白,比如說(shuō)那個(gè)for (a=0; a<50000; a++);是什么作用,這整個(gè)程序控制模塊實(shí)現(xiàn)什么功能,要是有適當(dāng)?shù)囊恍┙忉尵透昧?/td>
回復(fù)

使用道具 舉報(bào)

ID:77578 發(fā)表于 2015-6-9 19:55 來(lái)自手機(jī) | 顯示全部樓層
用的什么手機(jī)app
回復(fù)

使用道具 舉報(bào)

ID:82696 發(fā)表于 2015-6-11 11:17 | 顯示全部樓層
那   C語(yǔ)言  的程序  能驅(qū)動(dòng)嗎?    我試怎么不行哦。。。
回復(fù)

使用道具 舉報(bào)

ID:79756 發(fā)表于 2015-7-8 00:14 來(lái)自手機(jī) | 顯示全部樓層
bruellyyang 發(fā)表于 2015-3-22 21:13
樓主你好,我也在使用這個(gè)模塊。用的是外部供電,接法和你的一樣,u轉(zhuǎn)串接到電腦上,但是上電之后沒(méi)有ready ...

我也遇上這個(gè)問(wèn)題了,你解決了嗎?
回復(fù)

使用道具 舉報(bào)

ID:37276 發(fā)表于 2015-7-20 20:04 來(lái)自手機(jī) | 顯示全部樓層
那個(gè)for循環(huán)是延時(shí)用的
回復(fù)

使用道具 舉報(bào)

ID:82696 發(fā)表于 2015-7-24 10:20 | 顯示全部樓層
為什么我的不行?
回復(fù)

使用道具 舉報(bào)

ID:86982 發(fā)表于 2015-8-20 21:32 | 顯示全部樓層
我的也不行....
回復(fù)

使用道具 舉報(bào)

ID:88708 發(fā)表于 2015-8-22 08:19 | 顯示全部樓層
我現(xiàn)在也剛剛買了這個(gè)模塊,但是不會(huì)用,求好心的大神賜教
2350746468
這是我的QQ
回復(fù)

使用道具 舉報(bào)

ID:88863 發(fā)表于 2015-8-25 14:07 | 顯示全部樓層
13274853912 發(fā)表于 2015-8-22 08:19
我現(xiàn)在也剛剛買了這個(gè)模塊,但是不會(huì)用,求好心的大神賜教
2350746468
這是我的QQ

你加我撒,我教你。460047630
回復(fù)

使用道具 舉報(bào)

ID:89336 發(fā)表于 2015-9-3 20:25 | 顯示全部樓層
bruellyyang 發(fā)表于 2015-3-22 21:13
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

你好,我現(xiàn)在初學(xué),也出現(xiàn)了這個(gè)問(wèn)題。請(qǐng)問(wèn)你解決了嗎?
回復(fù)

使用道具 舉報(bào)

ID:97189 發(fā)表于 2015-11-26 10:06 | 顯示全部樓層
樓主,我也遇到了一直輸出亂碼,沒(méi)有ready的情況,能指點(diǎn)一下唄
回復(fù)

使用道具 舉報(bào)

ID:99683 發(fā)表于 2015-12-20 16:01 | 顯示全部樓層
大善,很好很強(qiáng)大,特意注冊(cè)了一個(gè)號(hào)
回復(fù)

使用道具 舉報(bào)

ID:104040 發(fā)表于 2016-2-28 12:10 | 顯示全部樓層
為什么我返回的內(nèi)容跟發(fā)送的內(nèi)容一模一樣呢
回復(fù)

使用道具 舉報(bào)

ID:98657 發(fā)表于 2016-3-5 17:32 | 顯示全部樓層
with_an_orchid 發(fā)表于 2016-2-28 12:10
為什么我返回的內(nèi)容跟發(fā)送的內(nèi)容一模一樣呢

那就是沒(méi)有添加換行
回復(fù)

使用道具 舉報(bào)

ID:104450 發(fā)表于 2016-3-18 10:57 | 顯示全部樓層
怎么跟單片機(jī)連接呢?有沒(méi)有電路圖啊?跪求
回復(fù)

使用道具 舉報(bào)

ID:115732 發(fā)表于 2016-4-21 16:55 | 顯示全部樓層

這個(gè)代碼試過(guò)可以用嗎?為什么我用不了呢?
回復(fù)

使用道具 舉報(bào)

ID:115732 發(fā)表于 2016-4-21 17:09 | 顯示全部樓層
差距ib結(jié)婚 發(fā)表于 2015-5-25 23:21
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

延時(shí),輸入指令需要時(shí)間吧!
回復(fù)

使用道具 舉報(bào)

ID:115732 發(fā)表于 2016-4-21 17:10 | 顯示全部樓層
南宮封涯 發(fā)表于 2016-3-18 10:57
怎么跟單片機(jī)連接呢?有沒(méi)有電路圖啊?跪求

單片機(jī)的RXD與WiFi模塊的TXDl連接,單片機(jī)的TXD與WiFi模塊的RXDl連接
回復(fù)

使用道具 舉報(bào)

ID:85375 發(fā)表于 2016-4-22 17:02 | 顯示全部樓層
怎么說(shuō)呢 樓主的a,b,c,d的含義是什么,還有感覺(jué)怎么沒(méi)有體現(xiàn)esp8266模塊的編程呢  就像通過(guò)串口線一樣  難道wifi就充當(dāng)了一個(gè)通信線。。。。。。。。。還有printf里的字符串是配置esp8266的嗎,等待返回的K又是什么 怎么好像以大括號(hào)的右半部份為接收的標(biāo)志  以0x0a為接收字符串的結(jié)束符 麻煩樓主解惑  謝謝啦
回復(fù)

使用道具 舉報(bào)

ID:119096 發(fā)表于 2016-5-7 17:02 | 顯示全部樓層
WiFi模塊和單片機(jī)怎樣連接,都需要什么器件,連接后該怎樣設(shè)置
回復(fù)

使用道具 舉報(bào)

ID:120605 發(fā)表于 2016-5-13 19:53 | 顯示全部樓層
我想問(wèn)程序中的RI是什么?還有如果是要8266發(fā)送數(shù)據(jù)出去應(yīng)該怎么寫? 謝謝
回復(fù)

使用道具 舉報(bào)

ID:119754 發(fā)表于 2016-5-18 16:47 | 顯示全部樓層
南宮封涯 發(fā)表于 2016-3-18 10:57
怎么跟單片機(jī)連接呢?有沒(méi)有電路圖啊?跪求

直接T接R,R接T
回復(fù)

使用道具 舉報(bào)

ID:119754 發(fā)表于 2016-5-18 16:48 | 顯示全部樓層
eziohzy 發(fā)表于 2016-5-13 19:53
我想問(wèn)程序中的RI是什么?還有如果是要8266發(fā)送數(shù)據(jù)出去應(yīng)該怎么寫? 謝謝

你程序解決沒(méi)?
回復(fù)

使用道具 舉報(bào)

ID:129299 發(fā)表于 2016-7-5 14:43 | 顯示全部樓層
esp8266直接接usb轉(zhuǎn)ttl的3v3口也可以正常使用。我是這么接的,可以正常使用。
回復(fù)

使用道具 舉報(bào)

ID:36173 發(fā)表于 2016-8-18 15:55 | 顯示全部樓層
越來(lái)越有興趣學(xué)習(xí)esp8266了
回復(fù)

使用道具 舉報(bào)

ID:146947 發(fā)表于 2016-11-8 23:41 | 顯示全部樓層
heicc 發(fā)表于 2015-1-5 22:42
下是51單片機(jī)驅(qū)動(dòng)ESP8266模塊的代碼:

把模塊設(shè)為服務(wù)器后,我想從手機(jī)向模塊發(fā)送數(shù)據(jù)控制P0,在后面加了一下程序。但出現(xiàn)了錯(cuò)誤。要怎么改?跪求賜教
unsigned char Receive(void)
{
  unsigned char dat;
  while(RI==0)
  ;
  RI=0;
  dat=SBUF;
  return dat;
}
void main(void)
{
  TMOD=0X20;
  SCON=0X50;
  PCON=0X00;
  TH1=0Xfd;
  TL1=0xfd;
  TR1=1;
  REN=1;
  while(1)
  {
  P0=Receive();
  }
}
回復(fù)

使用道具 舉報(bào)

ID:149298 發(fā)表于 2016-11-21 19:05 | 顯示全部樓層
bruellyyang 發(fā)表于 2015-3-22 21:13
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

我也是,這該怎么辦呀
回復(fù)

使用道具 舉報(bào)

ID:153199 發(fā)表于 2016-12-16 17:17 | 顯示全部樓層
能實(shí)現(xiàn)嗎,usb轉(zhuǎn)ttl嗎
回復(fù)

使用道具 舉報(bào)

ID:155815 發(fā)表于 2016-12-19 10:08 來(lái)自手機(jī) | 顯示全部樓層
樓主   QQ
回復(fù)

使用道具 舉報(bào)

ID:158950 發(fā)表于 2017-1-1 15:46 | 顯示全部樓層
安卓上TCP那個(gè)app可以用配個(gè)這個(gè)esp8266用
回復(fù)

使用道具 舉報(bào)

ID:160665 發(fā)表于 2017-1-7 21:32 | 顯示全部樓層
差距ib結(jié)婚 發(fā)表于 2015-5-25 23:21
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

是單片機(jī)的軟件延時(shí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表