欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: ESP8266+51單片機WIFI控制多路遙控開關程序設計 [打印本頁]

作者: 123215    時間: 2019-4-14 18:09
標題: ESP8266+51單片機WIFI控制多路遙控開關程序設計
這是一個基于單片機WIFI多路遙控開關設計,里面有文檔,程序,圖片等資料

制作出來的實物圖如下:


電路原理圖如下:


Wifi開關元件清單

1)    9*15萬用板
2)    STC89C52單片機
3)    40腳IC座
4)    11.0592MHz晶振
5)    30pF瓷片電容*2
6)    10uF電解電容
7)    ESP8266模塊
8)    2*4P排母
9)    2P排母*2
10)    3.3V穩壓模塊
11)    2P接線端子*3
12)    繼電器*3
13)    3MM LED燈*3(紅、綠、藍)
14)    8550三極管*3
15)    按鍵
16)    1k電阻*6
17)    10k電阻
18)    自鎖開關
19)    DC電源插座
20)    USB電源線
21)    導線
22)    手機APP(贈送)

1、單片機是通用的無論51還是52、無論stc還是at都一樣,引腳功能都一樣。
   程序也是一樣的。
2、原理圖中的.ddb、.Bkp等格式是要用protelse打開的,沒有軟件的不要緊,
   我已幫您轉換成word格式和pdf格式的了。
3、程序中的.c文件可以用記事本(文本文檔)打開,就是程序了。其他的是寫程序是自動
   生成的,沒什么用的。
4、可以按照正面布局,不要按照實物的背面焊接,要按照原理圖焊接。

單片機多路遙控開關源程序如下:
  1. /********************************************************************/
  2. #include <REGX51.H>
  3. #define uint unsigned int
  4. #define uchar unsigned char   
  5. sbit LED0=P2^0;          //紅燈
  6. sbit LED1=P2^3;                //黃燈
  7. sbit LED2=P2^6;            //綠燈

  8. /*****************相關變量**************/
  9. uchar Receive,i,qj,yz,zz,ht;                              
  10. uint n;  
  11. uchar Recive_table[40];                  //用于接收wifi模塊反饋到MCU上的數據  

  12. /*******************************************************************
  13. 名稱:延時函數  作用:毫秒級延時,微妙級延時函數,為數據收發完成作等待.......  
  14. ********************************************************************/
  15. void ms_delay(uint t)
  16. {  
  17.         uint i,j;  
  18.         for(i=t;i>0;i--)   
  19.         for(j=110;j>0;j--);
  20. }   

  21. void us_delay(uchar t)
  22. {  
  23.         while(t--);
  24. }         

  25. void Uart_Init()                                //使用定時器1作為波特率發生器(STC89C52、STC89C51、AT89C51等均可)
  26. {  
  27.     TMOD = 0x20;
  28.     SCON = 0x50;                                 //設置串行方式
  29.     TH1 = 0xFD;                                         //波特率9600
  30.     TL1 = TH1;
  31.     PCON = 0x00;
  32.     EA = 1;                                                //總中斷打開
  33.     ES = 1;                                                //開串口中斷  
  34.     TR1 = 1;                                        //啟動定時器1
  35. }

  36. /********************************************************************
  37. 名稱:串口發送函數  功能:MCU向無線WIFI模塊ESP8266發送數據  
  38. ********************************************************************/
  39. void Send_Uart(uchar value)
  40. {  
  41.         ES=0;                                                  //關閉串口中斷  
  42.         TI=0;                                           //清發送完畢中斷請求標志位   
  43.         SBUF=value;                                 //發送  
  44.         while(TI==0);                                 //等待發送完畢   
  45.         TI=0;                                           //清發送完畢中斷請求標志位   
  46.         ES=1;                                                  //允許串口中斷  
  47. }  

  48. /********************************************************************
  49. 名稱:WIFI模塊設置函數  作用: 啟動模塊,以便可以實現無線接入和控制  
  50. ********************************************************************/

  51. void ESP8266_Set(uchar *puf)         // 數組指針*puf指向字符串數組               
  52. {   
  53.         while(*puf!='\0')                    //遇到空格跳出循環  
  54.         {   
  55.                 Send_Uart(*puf);                  //向WIFI模塊發送控制指令。   
  56.                 us_delay(5);   
  57.                 puf++;   
  58.         }  
  59.         us_delay(5);  
  60.         Send_Uart('\r');                         //回車  
  61.         us_delay(5);  
  62.         Send_Uart('\n');                           //換行  
  63. }

  64. /********************************************************************
  65. 名稱:主函數  作用:程序的執行入口  
  66. ********************************************************************/

  67. void main()
  68. {         
  69.         Uart_Init();                                                                                        //波特率發生器
  70.         ms_delay(2000);
  71.         ESP8266_Set("AT+CWMODE=2");                                                         //設置路由器模式1 station,模式2 AP,模式3 station+AP混合模式   
  72.         ms_delay(2000);
  73. //        ESP8266_Set("AT+RST");                                                                         //重新啟動wifi模塊            
  74. //  ms_delay(2000);
  75.         ESP8266_Set("AT+CWSAP=\"wifi_yuan\",\"123456789\",11,4");          //AT+CWSAP="wifi_yuan","123456789",11,4  設置模塊SSID:WIFI, PWD:密碼 及安全類型加密模式(WPA2-PSK)
  76.         ms_delay(2000);
  77.         ESP8266_Set("AT+CIPMUX=1");                                                                //開啟多連接模式,允許多個各客戶端接入
  78.         ms_delay(2000);
  79.         ESP8266_Set("AT+CIPSERVER=1,5000");                                          //啟動TCP/IP 實現基于網絡//控制         ESP8266_Set("AT+CIPSERVER=1,5000");  
  80.         ms_delay(2000);
  81.         ESP8266_Set("AT+CIPSTO=0");                                                         //永遠不超時
  82.         ES=1;                                                                                           //允許串口中斷                 
  83.         qj=1;
  84.         zz=1;
  85.         yz=1;
  86.         ht=1;
  87.         LED0=1;
  88.         LED1=1;
  89.         LED2=1;
  90.         while(1)   
  91.         {   
  92.                 if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//MCU接收到的數據為+IPD時進入判斷控制0\1來使小燈亮與滅   
  93.                 {           
  94.                         if((Recive_table[9]=='G')&&(Recive_table[10]=='P'))            
  95.                         {      
  96.                                 if(Recive_table[15]=='0')      
  97.                                 {      
  98.                                         LED0=0;                         //紅燈亮                          
  99.                                 }                                
  100.                                 else
  101.                                 if (Recive_table[15]=='1')      
  102.                                 {              
  103.                                         LED0=1;                         //紅燈滅
  104.                                 }
  105.                                 else
  106.                                 if (Recive_table[15]=='2')      
  107.                                 {              
  108.                     LED1=0;            //黃燈亮           
  109.                                 }
  110.                                 else
  111.                                 if (Recive_table[15]=='3')      
  112.                                 {              
  113.                         LED1=1;                    //黃燈滅
  114.                                 }
  115.                                 else
  116.                                 if (Recive_table[15]=='4')      
  117.                                 {              
  118.                         LED2=0;                       //綠燈亮
  119.                                 }  
  120.                                 else
  121.                                 if (Recive_table[15]=='5')      
  122.                                 {              
  123.                         LED2=1;                       //綠燈滅
  124.                                 }                                                                                                                                                            
  125.                         }  
  126.                 }
  127.           }   
  128. }   

  129. /*********************************************************************  
  130. 名稱:串行通訊中斷  作用:發送或接收結束后進入該函數,對相應的標志位軟件清0,實現模塊對數據正常的收發。  
  131. ********************************************************************/

  132. void Uart_Interrupt() interrupt 4         
  133. {   
  134.         static uchar i=0;  
  135.         if(RI==1)  
  136.         {   
  137.                 RI=0;   
  138.                 Receive=SBUF;                                                        //MCU接收wifi模塊反饋回來的數據      
  139.                 Recive_table[i]=Receive;   
  140.                 if((Recive_table[i]=='\n'))
  141.                 {                     
  142.                         i=0;
  143.                 }   
  144.                 else i++;                                                                                  //遇到換行 重新裝值  
  145.         }   
  146.         else TI=0;   
  147. }  
復制代碼

所有資料51hei提供下載:
50基于單片機WIFI多路遙控開關設計.7z (2.5 MB, 下載次數: 727)



作者: dzm1997    時間: 2019-4-16 11:41
非常感謝解了我的燃眉之急

作者: 270497470    時間: 2019-4-16 13:33
先保存,等以后試試,是不是完全資料能一次成功.謝謝
作者: gemxie    時間: 2019-5-27 10:27
謝謝樓主分享了,學習一波去
作者: lxvs    時間: 2019-5-28 18:21
謝謝你,很有幫助
作者: huaaaa    時間: 2019-6-12 09:56
謝謝樓主分享了  正需要
作者: 1979759100Ls    時間: 2019-7-8 21:56
在么,我這個連接不上什么原因?

作者: m182892    時間: 2019-7-9 08:16
怎么能夠遠程控制的,寫一個帖子。
作者: YQS    時間: 2019-7-9 08:30
樓主,資料很詳細,值得學習!謝謝樓主分享好資源
作者: 一車異世界    時間: 2019-7-10 12:38
問一下,為什么要外接一個晶振,C52不是自帶晶振嗎?
作者: bjgaocl    時間: 2019-8-10 17:59
非常想要學習一下,有沒有APP的源碼?
作者: reg4fan    時間: 2019-11-4 19:45
學習做的第二個東西。感謝分享。
作者: zzmsanshui    時間: 2019-11-5 06:10
學習一下,很感興趣
作者: shenyuqiu    時間: 2019-11-7 16:59
謝謝樓主分享那么好的資料!
作者: newepson2001    時間: 2019-11-12 20:49
非常感謝樓主無私分享,助我學習,解我燃眉之急
作者: mykt2012    時間: 2019-11-13 10:53
好像你拷貝我的吧?
作者: llm268    時間: 2019-11-14 16:59
非常感謝樓主無私分享,助我學習,解我燃眉之急
作者: 依戀曉    時間: 2019-11-14 21:46
能用嗎
作者: gososo    時間: 2019-11-15 03:36

非常感謝樓主無私分享,助我學習,解我燃眉之急
作者: 揩油鵬    時間: 2019-11-21 22:43
你好 我用了你的例程 但是手機發送字符1的時候單片機沒有反應 測試好多遍 單片機都沒有反應 這是為什么呢  想請教一下
作者: 51hei電控1125    時間: 2019-11-23 17:06
if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//MCU接收到的數據為+IPD時進入判斷控制0\1來使小燈亮與滅   
                        
沒有看到D的判斷
                        

if((Recive_table[9]=='G')&&(Recive_table[10]=='P'))   
這行是啥意思

求求高手解釋下
作者: 龍歪歪    時間: 2019-11-23 20:12
下載了三個,對于我學習單片機挺有幫助的,真心感謝這個網站,希望可以提供點玩具車遙控代碼和電路圖
作者: fittao    時間: 2019-11-24 20:47
手機APP是在哪里下載

作者: zmc419    時間: 2019-11-24 22:06
用單片機控制,電路有點麻煩
作者: 打雜的    時間: 2019-11-25 13:35
使用安信可的模塊把。有模塊指令嗎?
作者: lulgs    時間: 2020-1-17 16:58
謝謝樓主分享,正在學習中
作者: 滄海一粒    時間: 2020-7-10 15:18
非常感謝樓主的分享!已收藏了
作者: qiyuwang    時間: 2020-7-10 15:54
挺好的,感謝樓主,也希望能加入我的STC51單片機的開發932747872,分享技術,分享心得。
作者: w983195215    時間: 2020-7-10 16:29
非常感謝樓主無私分享,助我學習,解我燃眉之急
作者: 阿飛7812    時間: 2020-7-28 22:06
樓主按照你指導,模塊wifi手機能連上 但手機app打開上面第一排顯示TCP服務器IP 192. 168.4.1第二排是TCP通信端口5000  上面顯示未連接 請問一二排怎么設置 手機app 模塊 8266 無線路由器  你的貼中沒有提到路由器那里的設置 是不用路由器嗎 但我看APP上面一二排好像要用路由器新手望指點

Screenshot_2020-07-28-21-46-12-788_com.newapp.png (44.59 KB, 下載次數: 47)

Screenshot_2020-07-28-21-46-12-788_com.newapp.png

作者: 阿飛7812    時間: 2020-7-28 22:10
揩油鵬 發表于 2019-11-21 22:43
你好 我用了你的例程 但是手機發送字符1的時候單片機沒有反應 測試好多遍 單片機都沒有反應 這是為什么呢   ...

你好 連上了嗎 ?你是模塊+單片機 app 有無線路由器沒 我的手機連上模塊了 app連不上
作者: q15577909642    時間: 2020-7-31 07:18
51hei電控1125 發表于 2019-11-23 17:06
if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//MCU接收到的數據為+IPD時 ...

我也是這一塊搞不懂
作者: 阿飛7812    時間: 2020-7-31 17:23
有按照樓主做成功的沒,我做的wifi模塊和手機聯上了 但app和模塊總是顯示未連接  望師傅們指點
作者: 阿飛7812    時間: 2020-8-2 11:46
壇友們有沒有APP和模塊能正常通信成功的
作者: jwjjwj123    時間: 2020-8-3 15:31
DING,謝謝,正需要此方面資料!
作者: dilongking    時間: 2020-10-10 09:33
如果能與天貓精靈連上就perfect了
作者: 6313    時間: 2020-12-7 14:34
程序里面的指令無法修改8266的wifi名稱和端口號,導致手機軟件TCP連不上
作者: 6313    時間: 2020-12-7 22:01
8266- 01s原來的固件無法用AT指令修改波特率,重新刷的固件,用AT指令修改波特率為9600,8266連到單片機上,單片機里面的程序能夠修改wifi名稱和密碼,能夠設置端口,手機TCP軟件能夠連上,發送字符,發現單片機沒反應,問了好多人也沒給出合理的答案
作者: 6313    時間: 2020-12-7 22:04
對照藍牙遙控開關里面的按鍵程序,把他的按鍵程序部分刪掉,把藍牙遙控開關里面的程序寫進去,編譯通過,下載,上電,TCP軟件發送字符,單片機能夠做出反應,至此局域網wifi遙控開關完成,里面的按鍵程序改成8路遙控的了
作者: 6313    時間: 2020-12-7 22:14
重要的一點82866必須用AT指令修改波特率9600,單片機才能和8266通信,如果不能修改波特率,請重新刷個固件,再試試。一個遙控開關研究了兩天,才做成功。
作者: 6313    時間: 2020-12-8 17:18
8266-01S發送AT指令AT+CIOBAUD=9600 若成功則返回ok,否則返回error

成功之后 發送 AT+RST 進行重啟即可生效(斷電后再次通電后依然有效)
作者: 分立元件    時間: 2021-2-18 11:06
非常感謝,成功實現手機控制LED燈,不好的地方是要直連不方便,要是能連家里的WIFI實現控制就好了
作者: tyw55555    時間: 2021-2-18 15:08
謝謝樓主分享,通過分享我學習到了
作者: 分立元件    時間: 2021-2-18 19:36
今天調試了一天,成功實現了在局域網內控制,這樣就可以邊用手機連家里的WIFI上網,也可以控制開關
作者: aide51    時間: 2021-2-23 18:58
好東西一定要支持




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1