久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 55344|回復: 63
收起左側

用51單片機和esp8266實現通過手機app控制單片機小燈

  [復制鏈接]
ID:255806 發表于 2017-11-30 18:49 | 顯示全部樓層 |閱讀模式
用51單片機和esp8266實現通過手機app控制單片機小燈,也可以控制其他外設,可以自行添加。附件為源程序,app可使用附件里面的安卓手機測試app或者ios系統可以去apple store下載netassist使用。

設計目的:
給所有客戶提供一個標準全功能而又經濟適用的體驗平臺!客戶拿到手直接測試,而
沒有任何爭議的環節。
本測試板能完成什么:
擁有本測試板,你可以無需任何其他開發工具,對ESP8266 模塊進行AT 類應用與SDK類應用開發。
簡單的演示功能:用安卓手機做的一個控制界面,用手機WIFI 和板載WIFI 進行數據交互,讓手機控制 板載WIFI 輸出數據,板載CPU 收到數據后控制板載LED,和蜂鳴器的動作!當然你還可以進過串口調試工具,直接對板載WIFI 模塊進行手動測試!
測試版是一塊51/AVR開發板,MCU可更換,板上資源豐富。既可以學習WiFi又能學習單片機,一舉兩得
下面是收到測試版后的簡單說明:
1. 默認收到的開發板內有開發板測試程序,使用WiFi功能時,需要用戶把程序燒寫到單片機(程序燒寫見“KR-51程序燒寫說明”)。
2.燒寫完程后,連接藍牙模塊,如下圖;
上圖為收到開發板的跳線的跳線帽位置,只需插USB供電,或者插上獨立供電電源供電(獨立供電電源不小于5V/600mA)。上電后如果電源燈不亮,請嘗試多次開關(左上角開關)。正常上電后可看到模塊藍燈在間歇性閃爍,這是MCU在配置模塊作為服務端,在燈無閃爍后,可以在手機上搜索到ESP8266的WiFi名稱,安卓手機設置里可以看到這個WIFI,如下圖
連上這個WIFI,打開手機端APP(在測試版程序文件夾里),等待模塊藍燈停止閃爍,直接點連接,可以控制LED,蜂鳴器。
  • 如果以上試過后無反應,依舊提示連接失敗,請檢查模塊波特率和單片機是否一致。
上圖:(注:此跳線用跳線帽短接3,5 和4,6,代表USB_UART和模塊的串口直連,)

查看波特率方法:模塊:打開03_調試工具里的“SSCOM”串口調試助手,如果這樣顯示 代表模塊工作在115200波特率下,如果不是,可調節波特率(一般是115200或者9600),直到輸出正常字符。這時可通過AT+CIOBAUD=9600,改為9600的波特率. (更多指令請參照指令說明設置)
恢復連接,插上模塊,重新連接

單片機源程序如下:
  1. /**************************************************************************************
  2. *功能:Wifi模塊測試                                                                                                               *
  3. *說明:手機安裝測試APP,手機連接WiFi模塊,控制開發板上的LED、蜂鳴器                                          *
  4. *硬件連接:在J10處插上跳線帽  1,3用跳線短路 2,4用跳線短路                                                          *
  5. *作者:研發中心                                                                                                                                                  *
  6. ***************************************************************************************/
  7. #include <REGX52.H>
  8. #include<intrins.h>

  9. typedef unsigned int uint;
  10. typedef unsigned char uchar;
  11. /**串口數據使用**/
  12. #define        RX1_Lenth                32                        //串口接收緩沖長度

  13. uchar        idata RX1_Buffer[RX1_Lenth];        //接收緩沖
  14. uchar        TX1_Cnt;        //發送計數
  15. uchar        RX1_Cnt;        //接收計數
  16. bit                B_TX1_Busy;        //發送忙標志

  17. /*************        端口引腳定義        **************/
  18. sbit LED1=P1^0;//LED1
  19. sbit LED2=P1^1;//LED2
  20. sbit LED3=P1^2;//LED3
  21. sbit DK1=P1^3;//繼電器
  22. sbit BEEP=P2^5;//蜂鳴器        

  23. /**wifi模塊命令**/
  24. unsigned char RST[8]="AT+RST\r\n";
  25. unsigned char LYMS[13]="AT+CWMODE=2\r\n";
  26. //unsigned char SZLY[38]="AT+CWSAP='ESP8266','0123456789',11,0\r\n";

  27. unsigned char SZDLJ[13]="AT+CIPMUX=1\r\n";
  28. unsigned char KQFU[21]="AT+CIPSERVER=1,5000\r\n";
  29. unsigned char FSSJ[13]="AT+CIPSEND=\r\n";//AT+CIPSEND= 發送數據         


  30. void Delay2(unsigned long cnt)
  31. {
  32.         long i;
  33.          for(i=0;i<cnt*100;i++);
  34. }
  35. void Delay3(unsigned int N)
  36. {
  37.         int i;
  38.         for(i=0;i<N*10;i++);
  39. }



  40. /********************************************************************
  41. * 名稱 : Uart_Init()
  42. * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷
  43. * 輸入 : 無
  44. * 輸出 : 無
  45. ***********************************************************************/
  46. void Uart_Init(void)
  47. {
  48.      TMOD = 0x20;   //定時器工作在定時器1的方式2
  49.      PCON = 0x00;   //不倍頻
  50.      SCON = 0x50;        //串口工作在方式1,并且啟動串行接收        
  51.      TH1 = 0xFd;    //設置波特率 9600
  52.      TL1 = 0xFd;
  53.      TR1 = 1;                //啟動定時器1
  54.          ES = 1;                //開串口中斷
  55.          EA = 1;                //開總中斷
  56.          RX1_Cnt=0;                //接受計數清零
  57.          TX1_Cnt = 0;        //發送計數清零
  58.          B_TX1_Busy = 0;//初始化判忙標志位               
  59. }
  60. /********************************************************************
  61. * 名稱 : Main()
  62. * 功能 : 主函數
  63. * 輸入 : 無
  64. * 輸出 : 無
  65. ***********************************************************************/
  66. void main(void)
  67. {
  68.         char i=0;

  69.         Uart_Init();

  70.         Delay3(2000);
  71.   /******************設置WiFi模塊**********************************************/
  72.         for(i=0;i<8;i++)//AT+RST 重啟
  73.         {
  74.                 SBUF=RST[i];Delay3(5);
  75.         }
  76.         Delay3(5000);
  77.         for(i=0;i<13;i++)//AT+CWMODE=2 設置成路由模式
  78.         {
  79.                 SBUF=LYMS[i];Delay3(5);
  80.         }
  81.         /*Delay3(1000);
  82.         for(i=0;i<38;i++)//AT+CWSAP="ESP8266","0123456789",11,0 設置路由
  83.         {
  84.                 SBUF=SZLY[i];Delay3(5);
  85.         }*/
  86.         Delay3(3000);
  87.         
  88.         for(i=0;i<13;i++)//AT+CIPMUX=1 設置成多連接
  89.         {
  90.                 SBUF=SZDLJ[i];Delay3(5);
  91.         }
  92.         Delay3(2000);
  93.         for(i=0;i<21;i++)//AT+CIPSERVER=1,5000 開啟TCP服務端口
  94.         {
  95.                 SBUF=KQFU[i];Delay3(5);
  96.         }
  97.         Delay3(2000);
  98.         while (1)
  99.         {
  100.         
  101.         }
  102. }

  103. /********************************************************************
  104. * 名稱 : Uart_Int()
  105. * 功能 : 串口中斷子函數
  106. * 輸入 : 無
  107. * 輸出 : 無
  108. ***********************************************************************/
  109. void UART1_int (void) interrupt 4
  110. {
  111. //        char i,a,b,c;
  112.         if(RI)
  113.         {
  114.                 RI = 0;
  115.                 RX1_Buffer[RX1_Cnt] = SBUF;                //保存一個字節
  116.                 if(RX1_Buffer[0]==0x45)
  117.                 {
  118.                         RX1_Cnt++;
  119.                 }
  120.                 else
  121.                 {
  122.                         RX1_Cnt=0;
  123.                 }
  124.                 if(RX1_Cnt>=10)
  125.                 {
  126.                         if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
  127.                         {
  128.                                 if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)//判斷LED
  129.                                 {
  130.                                         if(RX1_Buffer[7]==0x31)//判斷LED1
  131.                                         {
  132.                                                 if(RX1_Buffer[3]==0x4B)//判斷開
  133.                                                 {
  134.                                                         LED1=0;
  135.                                                 }
  136.                                                 if(RX1_Buffer[3]==0x47)//判斷關
  137.                                                 {
  138.                                                         LED1=1;
  139.                                                 }
  140.                                         }
  141.                                         if(RX1_Buffer[7]==0x32)//判斷LED2
  142.                                         {
  143.                                                 if(RX1_Buffer[3]==0x4B)//判斷開
  144.                                                 {
  145.                                                         LED2=0;
  146.                                                 }
  147.                                                 if(RX1_Buffer[3]==0x47)//判斷關
  148.                                                 {
  149.                                                         LED2=1;
  150.                                                 }
  151.                                         }
  152.                                         if(RX1_Buffer[7]==0x33)//判斷LED3
  153.                                         {
  154.                                                 if(RX1_Buffer[3]==0x4B)//判斷開
  155.                                                 {
  156.                                                         LED3=0;
  157.                                                 }
  158.                                                 if(RX1_Buffer[3]==0x47)//判斷關
  159.                                                 {
  160.                                                         LED3=1;
  161.                                                 }
  162.                                         }
  163.                                 }
  164.                                 if(RX1_Buffer[4]==0x4A&&RX1_Buffer[5]==0x44&&RX1_Buffer[6]==0x51)//判斷繼電器
  165.                                 {
  166.                                         if(RX1_Buffer[7]==0x31)//判斷LED1
  167.                                         {
  168.                                                 if(RX1_Buffer[3]==0x4B)//判斷開
  169.                                                 {
  170.                                                         DK1=1;
  171.                                                 }
  172.                                                 if(RX1_Buffer[3]==0x47)//判斷關
  173.                                                 {
  174.                                                         DK1=0;
  175. ……………………

  176. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

0.png

以上資料51hei下載地址:
wifi測試程序.zip (2.46 MB, 下載次數: 1249)

評分

參與人數 7黑幣 +126 收起 理由
zqy181818 + 5
wefdw + 2 回帖助人的獎勵!
Aphroditezero9 + 1 回帖助人的獎勵!
chaselbaymax + 5
arthuryu + 8 贊一個!
qjzyx + 5 贊一個!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:255806 發表于 2017-12-1 11:39 | 顯示全部樓層
以上實驗圖片來自此款開發板賣家提供的資料
回復

使用道具 舉報

ID:255806 發表于 2017-12-1 11:43 | 顯示全部樓層
這幅圖為自己使用蘋果手機進行的調試,經檢測,板子上的3.3V實際上不夠這個電壓,所以esp8266模塊的供電是使用電池從外部供電的,還有就是實現時,注意各個模塊供地。

實驗圖

實驗圖
回復

使用道具 舉報

ID:255806 發表于 2017-12-3 09:11 | 顯示全部樓層
我全部的資料都分享在上面了
回復

使用道具 舉報

ID:272887 發表于 2018-1-7 22:01 | 顯示全部樓層
樓主,我的手機用不了你這個軟件,怎么回事
回復

使用道具 舉報

ID:373 發表于 2018-2-1 11:33 | 顯示全部樓層
APP用不了,怎么回事呢?
回復

使用道具 舉報

ID:66287 發表于 2018-2-9 08:49 | 顯示全部樓層
好貼,謝謝樓主!
回復

使用道具 舉報

ID:293625 發表于 2018-4-9 18:29 | 顯示全部樓層
ESP8266需要燒寫嗎?
回復

使用道具 舉報

ID:6428 發表于 2018-4-11 20:53 來自手機 | 顯示全部樓層
hulujia 發表于 2018-4-9 18:21
求分享

謝謝非常不錯哦
回復

使用道具 舉報

ID:306348 發表于 2018-4-12 13:04 | 顯示全部樓層
萌新有一個問題請教大佬:
我用的和你一樣的開發板,然后運行程序沒有反應,手機上搜不到wifi,陰差陽錯打開了串口調試助手,發現這樣的一幕,我每按一次復位,就會從串口輸到電腦上一串應該傳送給wifi模塊的信息。 QQ截圖20180412125634.png (試了試,沒打開串口調試助手,程序也沒有反應)
我剛開始學,不是很懂,是不是我哪連線連錯了,把單片機傳送給wifi模塊的信息傳到了電腦上
還是說這兩個接口是連通的,發送到wifi模塊的信息都能通過數據線顯示在電腦上,如果這樣的話,我為啥搜不到模塊的wifi。。。
回復

使用道具 舉報

ID:304623 發表于 2018-4-12 15:00 | 顯示全部樓層
樓主請問電池外部供電怎么實現?是要自己接線嗎,不知道用usb轉ttl模塊接電腦上可以供電嗎?
回復

使用道具 舉報

ID:302373 發表于 2018-4-16 20:49 | 顯示全部樓層
chaselbaymax 發表于 2018-4-12 13:04
萌新有一個問題請教大佬:
我用的和你一樣的開發板,然后運行程序沒有反應,手機上搜不到wifi,陰差陽錯打 ...

你解決了嗎
回復

使用道具 舉報

ID:312159 發表于 2018-4-20 08:18 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:306809 發表于 2018-4-29 17:27 | 顯示全部樓層
您的app用不了啊,麻煩問下app向單片機發送的具體是什么字符或字符串呢
回復

使用道具 舉報

ID:327484 發表于 2018-5-12 11:17 | 顯示全部樓層
為什么下載了資料里面的程序打不開?
回復

使用道具 舉報

ID:332490 發表于 2018-5-17 21:22 | 顯示全部樓層
你們的可以用嗎
回復

使用道具 舉報

ID:332490 發表于 2018-5-18 19:17 | 顯示全部樓層
不能用
回復

使用道具 舉報

ID:319167 發表于 2018-5-27 00:38 | 顯示全部樓層
好東西,來這里學習一下~
回復

使用道具 舉報

ID:345303 發表于 2018-6-28 11:22 | 顯示全部樓層
chaselbaymax 發表于 2018-4-12 13:04
萌新有一個問題請教大佬:
我用的和你一樣的開發板,然后運行程序沒有反應,手機上搜不到wifi,陰差陽錯打 ...

我遇到了和你一模一樣的問題,你的問題解決了嗎? 是什么原因造成的?
回復

使用道具 舉報

ID:25153 發表于 2018-7-9 22:33 | 顯示全部樓層
好東西,正是我想要的!
回復

使用道具 舉報

ID:369805 發表于 2018-7-11 23:38 | 顯示全部樓層
請問有app的代碼嗎
回復

使用道具 舉報

ID:355680 發表于 2018-8-1 08:55 | 顯示全部樓層
本帖最后由 ligongping 于 2018-8-1 10:44 編輯

為什么我下載后會彈出來這個E:捕獲1.PNG
捕獲1.PNG
回復

使用道具 舉報

ID:381550 發表于 2018-8-1 09:44 | 顯示全部樓層
看到樓主做的,瞬間自己也想做一個了
回復

使用道具 舉報

ID:385131 發表于 2018-8-10 21:45 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:398467 發表于 2018-9-15 22:06 | 顯示全部樓層
謝謝樓主了
回復

使用道具 舉報

ID:406035 發表于 2018-10-10 20:22 | 顯示全部樓層
大家能發一份wifi程序和app給我嗎?多謝
回復

使用道具 舉報

ID:130231 發表于 2018-10-13 11:58 | 顯示全部樓層
ligongping 發表于 2018-8-1 08:55
為什么我下載后會彈出來這個

這個E4A文件造成的,因為你的殺毒軟件會誤判。你可以放心用好了。
回復

使用道具 舉報

ID:137736 發表于 2018-10-14 09:54 | 顯示全部樓層
用8266的端口直接輸出不更好么,省掉了單片機
回復

使用道具 舉報

ID:137736 發表于 2018-10-14 10:00 | 顯示全部樓層
朋友會做APP么。這個8266,用的是AT固件,單片機通過串口和8266通訊,不如直接用NODMCU固件
回復

使用道具 舉報

ID:186637 發表于 2018-10-19 21:44 | 顯示全部樓層
Floray002 發表于 2017-12-3 09:11
什么意思?資料都在上面

謝謝分享!學習學習!
回復

使用道具 舉報

ID:66287 發表于 2018-10-26 14:18 | 顯示全部樓層
很不錯,謝謝分享!
回復

使用道具 舉報

ID:405298 發表于 2018-11-25 20:51 | 顯示全部樓層
第一次學習Wifi,謝謝樓主分享!
回復

使用道具 舉報

ID:436164 發表于 2018-11-30 19:57 來自手機 | 顯示全部樓層
chaselbaymax 發表于 2018-4-12 13:04
萌新有一個問題請教大佬:
我用的和你一樣的開發板,然后運行程序沒有反應,手機上搜不到wifi,陰差陽錯打 ...

現在能用了嗎?我也出現了這樣的情況
回復

使用道具 舉報

ID:418772 發表于 2018-11-30 22:10 | 顯示全部樓層
嘗試一下呀
回復

使用道具 舉報

ID:325517 發表于 2019-3-23 13:13 來自手機 | 顯示全部樓層
資料不錯,值得學習
回復

使用道具 舉報

ID:452731 發表于 2019-4-22 22:37 | 顯示全部樓層
這個挺好的
回復

使用道具 舉報

ID:368281 發表于 2019-4-24 12:48 | 顯示全部樓層
不錯的東東,贊一個!
回復

使用道具 舉報

ID:395560 發表于 2019-6-20 22:16 | 顯示全部樓層
Floray002 發表于 2017-12-3 09:11
什么意思?資料都在上面

樓主軟件用不了。。
回復

使用道具 舉報

ID:588682 發表于 2019-7-23 14:27 | 顯示全部樓層
學習學習
回復

使用道具 舉報

ID:583132 發表于 2019-7-23 19:59 | 顯示全部樓層
hulujia 發表于 2018-4-12 15:00
樓主請問電池外部供電怎么實現?是要自己接線嗎,不知道用usb轉ttl模塊接電腦上可以供電嗎?

可以
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 性做久久久久久免费观看欧美 | av一级久久 | 国产免费观看一级国产 | 天天干夜夜操 | 成人国产精品视频 | 国产亚洲精品精品国产亚洲综合 | 四虎影视免费在线 | 米奇成人网 | 色www精品视频在线观看 | 久久激情网 | www.伊人.com | 91精品国产自产精品男人的天堂 | 久久久久久久久久一区 | 亚洲顶级毛片 | 国产精品九九九 | 久久久精品一区二区 | 涩色视频在线观看 | 亚洲网在线 | 999视频| 亚洲播放一区 | 欧美日韩一区在线 | 91久久精品日日躁夜夜躁国产 | 亚洲午夜精品 | 秋霞影院一区二区 | 免费a v网站 | 超碰在线国产 | 欧美精品一区二区在线观看 | 欧美a√ | 日本中文在线视频 | 日本在线小视频 | 欧美日韩国产高清 | 99热精品在线 | 交专区videossex农村 | 一区二区三区在线 | 午夜午夜精品一区二区三区文 | 91pron在线| 亚洲综合色| 粉嫩一区二区三区性色av | 91麻豆产精品久久久久久 | 黄在线免费观看 | 国产一区二 |