上一个博客:ESP8266 WIFI模块学习之路(1)是关于对串口连接的,简单验证ESP8266是怎么样连接及其功能验证,下面将通过单片机连接,和手机进行远程操作。

ESP8266和单片机的连接,我这里的单片机型号为:STC12C5A60S2

ESP8266 单片机
VCC VCC(最好选择3.3V)
CH_PD VCC(最好选择3.3V)
GND GND
URXD TXD
UTXD RXD

然后手机上要按照网络调试助手,这里我提供两个:

我将会上传到我的资源里,请各位需要的下载尝试。注明:我的是Android版本的。

现在我要完成的是控制P20口的LED灯亮灭,代码如下:

#include <reg52.h>
#include <string.h>
#include <stdio.h>sbit P20_LED=P2^0;char Recive_table[20]="";  //接收缓冲,最大20个字节
char Recive_state = 0;   //接收完成标志
void WIFI_Init(void);
void Uart_Init(void);
void ms_delay(int t);
void LED(void);int main (void)
{ /********************功能初始化***********************/Uart_Init();//串口初始化,波特率为9600ms_delay(1000) ;WIFI_Init(); //wifi初始化/****************************************************//**********************主循环************************/while(1){ ms_delay(10) ;if(Recive_state == 1){ES=0;  //清空接收标志位 if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//接收到的字符串形式为+IPD,x,x:y{if((Recive_table[3]=='D')&&(Recive_table[6]==',')){   if(Recive_table[9]=='0')P20_LED = 0;if(Recive_table[9]=='1')P20_LED = 1;}}memset(Recive_table,'\0',20);Recive_state = 0;ES=1;  //打开接收标志位}}/****************************************************/}/******************************************************************
函 数: void Uart_Interrupt() interrupt 4
功 能: 串口中断函数,将收到的字符存到Recive_table[]数组中
参 数: 无
返回值: 无
*******************************************************************/
void Uart_Interrupt() interrupt 4
{   static char i=0;  //因为是一位一位接收,所以用staticif(RI==1)    {  ES = 0;RI=0;         Recive_table[i]=SBUF;        i++; if((Recive_table[i-1] == '\n')){ Recive_table[i]='\0';i=0; Recive_state = 1;}ES = 1;      }elseTI = 0;
} /******************************************************************
函 数: void Uart_Init(void)
功 能: 串口初始化,波特率为9600(这个不会,上网百度)
参 数: 无
返回值: 无
*******************************************************************/
void Uart_Init(void)
{  TMOD=0x20;TH1=0xfD;TL1=0xfD;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;
}/******************************************************************
函 数: void ms_delay(int t)
功 能: 毫秒级延时
参 数: 无
返回值: 无
*******************************************************************/
void ms_delay(int t)
{  int i,j; for(i=t;i>0;i--)   for(j=110;j>0;j--);
}/******************************************************************
函 数: void LED(void)
功 能: 发送完命令后显示用的函数
参 数: 无
返回值: 无
*******************************************************************/
void LED(void)
{P2 = 0;ms_delay(100);P2 = 0xff;ms_delay(100);
}/******************************************************************
函 数: void WIFI_Init(void)
功 能: wifi初始化
参 数: 无
返回值: 无
*******************************************************************/
void WIFI_Init(void)
{ES = 0;TI = 1; printf("AT+RST\r\n");LED();ms_delay(1000) ;printf("AT+CWMODE=3\r\n");LED();ms_delay(1000) ;printf("AT+CIPMUX=1\r\n");LED(); ms_delay(1000) ;printf("AT+CIPSERVER=1,8080\r\n");        LED();ms_delay(1000) ;printf("AT+CIOBAUD=9600\r\n");   // 设置与单片机一致的波特率     LED();ms_delay(1000) ;while(!TI);TI = 0;ES = 1;
}

将HEX文件加载到单片机中验证效果。

我们先用如图调试助手进行操作:

调试之前需要先连接到正确的WIFI上,我的esp8266模块的WIFI名称为:AI-THINKER_7C5C0F

TCP server端配置正确的端口号,这个端口号是自己设置的

然后在client端配置正确的IP,这个IP必须

如果正确会提示连接成功,然后就可以输入0或者1进行对LED灯亮灭操作。

如图:

最后使用

同样可以完成相应的效果,配置如下图:

到此就结束了,希望大家指正,共同探讨。

ESP8266 WIFI模块学习之路(2)——模块与单片机连接进行远程操作相关推荐

  1. ESP8266 WIFI模块学习之路(10)——手机远程关闭电脑

    在博文ESP8266 WIFI模块学习之路(9)中已经实现了电脑读出USB串口的数据,如图 在博文C语言实现电脑关机程序中学习了如何实现电脑关机及其它的一些功能. 因此,通过这两个博文完全可以实现手机 ...

  2. ESP8266 WIFI模块学习之路(7)——自写Android手机APP接受单片机数据

    上一篇是写关于自写Android手机APP给单片机下发数据的,这次我将写一下APP如何接受单片机数据. 其实使用调试助手,或者别人开的的APP同样能够实现接受单片机数据,但想学习的,我还是建议能够自己 ...

  3. SQLite学习之路② Pager模块介绍和Pager对象(2021SC@SDUSC)

    2021SC@SDUSC SQLite 学习之路 第二节 模块介绍和Pager对象 Pager介绍 Pager对象 Pager介绍 根据上图我们能够大致了解Pager模块在SQLite占据的地位,它是 ...

  4. android 8 esp8266,ESP8266 WIFI模块学习之路(8)——自写Android手机APP控制直流电机正反转...

    本次向通过Android远程控制直流电机正反转,在这之前可以看一下我写的"STC单片机简单控制直流电机正反转"有助刚学的同学理解. 可以看一下我的硬件连接电路,如图: 单片机硬件程 ...

  5. arp扫描工具_ARP扫描与ARP欺骗--Python的Scapy/Kamene模块学习之路

  6. wifi底层学习之路:三,Linux内核子系统mac80211

    1,mac80211是什么? mac80211是linux内核子系统,是驱动开发者可用于为softmac无线设备写驱动的框架.mac80211在内核空间实现STA模式.在用户空间实现AP模式. 2,m ...

  7. Nginx模块学习之————accesskey权限模块使用(简单的m3u8防盗链)

    配置文件:http://www.cnblogs.com/tinywan/p/5983694.html 通过加密后的文件: 正确地址:curl -i http://访问的IP地址(这里是直播节点IP地址 ...

  8. python函数与模块学习_Python函数与模块学习1

    函数 实现具有特定功能的代码 自定义函数 内置函数 函数特点 隐藏实现功能的细节 重用代码 提高可读性,便于调试 函数的定义 def 函数名(形式参数1,形式参数2,--形参n): 要运行的代码(函数 ...

  9. wifi底层学习之路:四,iw指令剖析

    目录 一,iw应用层 二,cfg80211层 三,mac80211层 四,无线驱动层 本章以指令:iw dev wlan0 scan为例,带你走进iw层,cfg80211层,mac80211cfg,驱 ...

最新文章

  1. mysql的ab测试工具_轻量级性能测试工具ab / wrk / locust 分析 对比
  2. Javascript基础知识 - 基础部分
  3. mysql与配偶同性_mysql 左,右,内连接
  4. IDEA REST Client IDEA自带的接口调试工具
  5. 2.boost遍历数组容器
  6. STL源码剖析 Set相关算法 并集 set_union|交集 set_intersection|差集 set_difference |对称差集 set_symmetric_difference
  7. Error running ‘Tomcat‘: Unable to open debugger port (127.0.0.1:2148): java.net.SocketExceptio
  8. python界面-图形界面
  9. LR学习笔记七 之 LR录制sql脚本
  10. 11.企业应用架构模式 --- 对象-关系行为模式
  11. 《计算机组成原理》唐朔飞--期末复习资料
  12. python词云制作(最全最详细的教程)
  13. 粒子群算法的matlab动态图显示 实现(一)
  14. 【翻译】CSPNet: A New Backbone that can Enhance Learning Capability of CNN
  15. You need Perl 5 安装openssl时报错,提示需要安装perl 5
  16. chrome广告过滤器插件-Adblock Plus
  17. 雷军一往无前的十年(小米十周年公开演讲)附赠《一往无前》电子书籍
  18. 国王统治没有显示服务器,国王的统治Reign Of Kings服务器架设教程
  19. 【e悦读】支持PDF转WORD/PPT/Excel等
  20. Python-基础数据类型-类型转换-优先级

热门文章

  1. 搭建spring-boot+vue前后端分离框架并实现登录功能
  2. word“域”的使用方法(转)
  3. Qt软键盘使用和修改软键盘参数 支持中文
  4. matlab使用自带的拟合工具cftool对数据进行拟合并生成拟合函数代码
  5. 李炎恢ecshop2.7.2安装教程与PHP5.5x不兼容的处理方法
  6. 丢手帕问题(约瑟夫问题)
  7. python泊松分布_常见概率分布的Python实现
  8. 机器学习【逻辑回归】——logistic函数逻辑回归鸢尾花分类
  9. 【深度学习笔记(十)】之物体检测(R-CNN,Fast R-CNN, Faster R-CNN)
  10. linux getopt命令,Linux中getopt函数用法