单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 16783|回复: 78
收起左侧

STC单片机驱动ESP8266 用手机APP 实现远程控制

  [复制链接]
光翟11 发表于 2017-4-26 16:23 | 显示全部楼层 |阅读模式
STC89C52驱动ESP8266-01 云连接 手机APP远程控制程序
0.png
ESP8266.png
单片机与wifi模块接线
单片机         wifi模块
    TX--------RX
    RX--------TX
    GND-------GND
             外接3.3V GND也可外接

注意   接好TX  RX GND后 先给单片机上电  再给wifi模块接3.3v电源


首先注册一个账号

登陆进去后

设置wifi模块
  Usb转串口连接wifi   进行配网操作
   首先烧写固件 (看资料)
打开串口调试助手

第一步:测试AT 看是否返回ok  若没有重启一下
第二步:设置station模式  AT+CWMODE=1 返回OK
第三步:启动云连接   AT+CLDSTART
        本条指令发送后
        Wifi模块进入智能配网模式
        此时打开手机app 点击右上角的+号  使模块连上指定的wifi
        入网后  模块自动连接云服务器
        之后手机端会显示连接服务器
    100%后  返回设备界面  多刷新几次  直到有未绑定的设备出现  点击绑定
    之后可以进行数据透传了
0.png
当然  也可以实现远程控制单片机了

0.png

  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. //#include<reg51.h>
  5. sbit led1=P1^0;
  6. sbit led2=P1^1;
  7. sbit beef=P3^6;
  8. sbit relay=P0^0;
  9. uchar k = 0;
  10. uchar Receive;
  11. uchar Receive_table[30];
  12. void Delay_Ms(uint ms)
  13. {
  14. uint i,j;                              
  15. for(i = ms; i > 0; i--)
  16. for(j = 110; j > 0; j--);
  17. }
  18. void Delay_Us(uchar us)
  19. {
  20. while(us--);
  21. }
  22. void InitUART(void)
  23. {
  24.         TMOD=0x21;
  25.         TH0=(65536-87)/256;
  26.         TL0=(65536-87)%256;
  27.         EA=1;
  28.         ET0=1;
  29.         TR0=0;
  30.         
  31.         

  32. //    SCON = 0x50;
  33. //    TH1 = 0xFA;
  34. //    TL1 = TH1;
  35. //    PCON = 0x80;
  36. //    ES = 1;
  37. //    EA = 1;
  38. //    TR1 = 1;
  39. SCON = 0X50;
  40. TH2=0XFF;
  41. TL2=0XFD;
  42. RCAP2H=0XFF;
  43. RCAP2L=0XFD;
  44. TCLK=1;
  45. RCLK=1;
  46. C_T2=0;
  47. EXEN2=0;
  48. TR2=1;
  49. ES = 1;
  50. EA = 1;

  51. }


  52. void Uart_Send_Char(uchar dat)
  53. {
  54. ES = 0;
  55. TI = 0;
  56. SBUF = dat;
  57. while(!TI);
  58. TI = 0;
  59. ES = 1;
  60. }
  61. void Uart_Send_String(uchar *string)
  62. {
  63.     while(*string)
  64.     {
  65.       Uart_Send_Char(*string++);
  66.       Delay_Us(5);
  67.     }
  68.     Delay_Ms(1000);
  69. }
  70. void ESP8266_Send(uchar *puf)
  71. {
  72.         Delay_Ms(20);
  73.    Uart_Send_String("AT+CLDSENDRAW=9\r\n");
  74.         Delay_Ms(20);
  75.    Uart_Send_String(puf);
  76. }
  77. void ESP8266_Init()
  78. {
  79. //   Uart_Send_String("AT+CIPMUX=1\r\n");
  80. //   Uart_Send_String("AT+CIPSERVER=1,5000\r\n");
  81.            Uart_Send_String("AT+CLDSTART\r\n");
  82. }
  83. void main(void)
  84. {
  85.           led1=0;
  86.           led2=0;
  87.     InitUART();
  88.           ESP8266_Init();
  89.         while(1)
  90.         {
  91.           if((Receive_table[0]=='+')&&(Receive_table[1]=='C')&&(Receive_table[2]=='R'))//MCU???????+IPD???????0\1???????
  92.     {
  93.     if((Receive_table[3]=='A')&&(Receive_table[6]=='1'))
  94.      {

  95.         switch(Receive_table[8])
  96.         {
  97.           case '0':
  98.                  led1=1;
  99.                  ESP8266_Send("LED1 OPEN\r\n");
  100.                                                Receive_table[8]='f';
  101.                  break;
  102.           case '1':
  103.                  led1=0;
  104.                  ESP8266_Send("LED1  OFF\r\n");
  105.                                                Receive_table[8]='f';
  106.                  break;
  107.                   case '2':
  108.                  led2=1;
  109.                  ESP8266_Send("LED2 OPEN\r\n");
  110.                                                Receive_table[8]='f';
  111.                  break;
  112.           case '3':
  113.                  led2=0;
  114.                  ESP8266_Send("LED2  OFF\r\n");
  115.                                                Receive_table[8]='f';
  116.                  break;
  117.                   case '4':
  118.                             TR0=1;break;
  119.                   case '5':
  120.                             TR0=0;break;
  121.           case '6':
  122.                  relay=0;
  123.                  ESP8266_Send("relayOPEN\r\n");
  124.                                                Receive_table[8]='f';
  125.                  break;
  126.                   case '7':
  127.                  relay=1;
  128.                  ESP8266_Send("relay OFF\r\n");
  129.                                                

  130. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

0.png
下载:
STC89c52RC驱动ESP8266-01 实现远程控制.zip (13.93 MB, 下载次数: 872)

评分

参与人数 11黑币 +109 收起 理由
kljie1000 + 9
这到底对不对 + 5 赞一个!
kpfss + 5 绝世好帖!
36218 + 5 赞一个!
gmlgmlgml + 5
wpq201800 + 5 很给力!
popush + 5 很给力!
qjzyx + 5 赞一个!
tieq1952 + 10 很给力!
zxy1996 + 5 绝世好帖!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

hymtnzc 发表于 2017-5-16 11:57 | 显示全部楼层
小白,远程可以发数据,不错。
回复

使用道具 举报

hymtnzc 发表于 2017-5-16 19:20 | 显示全部楼层
接单片机ESP8266连不了云端,是程序问题吗?懂的指点一下?
回复

使用道具 举报

jxdianqi 发表于 2017-5-16 23:16 | 显示全部楼层
谢谢楼主分享,下载学习
回复

使用道具 举报

337241773 发表于 2017-5-27 14:07 来自手机 | 显示全部楼层
感谢楼主,正需要这个
回复

使用道具 举报

YQS 发表于 2017-5-27 18:53 | 显示全部楼层

谢谢楼主分享好资源.不过下载后打开中文部分乱码,可否将文件名改英文?谢谢!
回复

使用道具 举报

啦啦啦1234 发表于 2017-5-30 05:59 来自手机 | 显示全部楼层
请问要led1=1,发送什么?我发送0,不行啊。
回复

使用道具 举报

qjyjack612510 发表于 2017-6-20 23:16 | 显示全部楼层
谢谢楼主!学习中。。。。。
回复

使用道具 举报

qq704661078 发表于 2017-8-3 23:44 | 显示全部楼层
问下楼主,怎样才能实现模块和手机连接不同网络时(比如手机用移动网络时)也能进行透传???
回复

使用道具 举报

zhao9988 发表于 2017-9-6 14:35 | 显示全部楼层
不错的尝试!
回复

使用道具 举报

zhao9988 发表于 2017-9-6 14:38 | 显示全部楼层
感谢楼主,正想尝试一下,借鉴学习!
回复

使用道具 举报

563285921 发表于 2017-10-14 19:34 | 显示全部楼层
学习学习~~谢谢楼主~~`
回复

使用道具 举报

koenlee93 发表于 2017-10-26 00:58 | 显示全部楼层
写的不错标记
回复

使用道具 举报

faridzled 发表于 2017-10-26 06:22 | 显示全部楼层
Thanks for sharing
回复

使用道具 举报

GOD丿小男孩 发表于 2017-10-26 23:48 来自手机 | 显示全部楼层
好东西,谢谢楼主
回复

使用道具 举报

tkf008 发表于 2017-10-27 08:00 来自手机 | 显示全部楼层
这些对初学者来说有难度,挑战一下!谢谢分享
回复

使用道具 举报

janson 发表于 2017-11-30 23:09 | 显示全部楼层
感谢楼主的雷锋精神
回复

使用道具 举报

15638218949 发表于 2017-12-21 11:03 来自手机 | 显示全部楼层
赞赞赞赞
回复

使用道具 举报

开机后即可看 发表于 2017-12-29 20:28 | 显示全部楼层
app用不了
回复

使用道具 举报

tieq1952 发表于 2017-12-30 13:36 | 显示全部楼层
谢谢楼主奉献
回复

使用道具 举报

yy191039855 发表于 2018-1-8 11:29 | 显示全部楼层
很好的帖子
学习了,谢谢楼主
回复

使用道具 举报

qjzyx 发表于 2018-1-8 15:18 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

miqi0708 发表于 2018-1-19 12:29 | 显示全部楼层
谢谢楼主分享,下载学习
回复

使用道具 举报

小潘哥 发表于 2018-2-4 14:44 来自手机 | 显示全部楼层
谢谢楼主无私分享,学习学习
回复

使用道具 举报

cvgjhuor 发表于 2018-3-3 12:18 | 显示全部楼层
努力学习,谢谢楼主
回复

使用道具 举报

aking991 发表于 2018-3-5 08:41 | 显示全部楼层
很不错,谢谢分享
回复

使用道具 举报

ltp 发表于 2018-3-16 13:24 | 显示全部楼层
谢谢楼主分享.很实用.
回复

使用道具 举报

lingang10000 发表于 2018-3-18 20:39 | 显示全部楼层
app用不了
回复

使用道具 举报

zonghao111 发表于 2018-3-18 22:44 | 显示全部楼层
感谢楼主分享,很实用
回复

使用道具 举报

sanshisui 发表于 2018-3-21 12:16 | 显示全部楼层
学习学习~~谢谢楼主~~`
回复

使用道具 举报

wang8128 发表于 2018-3-22 12:03 | 显示全部楼层
谢谢楼主分享,下载学习
回复

使用道具 举报

jingboxu 发表于 2018-3-22 13:41 | 显示全部楼层

谢谢楼主分享,下载学习
回复

使用道具 举报

76711031 发表于 2018-3-22 15:22 | 显示全部楼层
感谢楼主的雷锋精神
回复

使用道具 举报

龙。。。 发表于 2018-3-31 16:29 | 显示全部楼层
hymtnzc 发表于 2017-5-16 11:57
小白,远程可以发数据,不错。

不错
回复

使用道具 举报

么么了 发表于 2018-4-15 19:47 | 显示全部楼层
黑比 不足  哎
回复

使用道具 举报

HWZ3366 发表于 2018-5-10 00:33 | 显示全部楼层
请问能不能发个APP的代码?谢谢
回复

使用道具 举报

HWZ3366 发表于 2018-5-10 00:34 | 显示全部楼层
求APP程序代码,谢谢
回复

使用道具 举报

FangLai 发表于 2018-5-25 22:13 | 显示全部楼层
感谢楼主
回复

使用道具 举报

FangLai 发表于 2018-5-25 22:15 | 显示全部楼层
学习了,谢谢楼主
很好的帖子
回复

使用道具 举报

qdove 发表于 2018-5-26 20:27 | 显示全部楼层
正是我想要的,一直想学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机.

Powered by 单片机教程网

快速回复 返回顶部 返回列表