第一次写博客,记录一下方便自己查看
文章内容:
ESP8266接线方式,51C程序,AndroidAPP,ESP8266调试方式,路由器端口映射;
接线方式
VCC最好使用3.3V;5V 容易发热导致烧坏模块
ESP8266 | 单片机 |
---|---|
VCC | VCC |
CH_PD | VCC |
GND | GND |
URXD | TXD |
UTXD | RXD |
ESP8266调试方式
使用串行数据线连接电脑,使用安可信官方提供的调试工具调试
这里使用https://blog.csdn.net/ls1792304830/article/details/72380281?depth_1-
这位博主的图片;我也是参考他的博客;特别感谢
打开调试工具
图片上传顺序可能不一样 已经标注了步骤了 一共4步
第一步
第四步 这里改完后要重新改连接的时候的波特率 重新打开串口才能连接
第二步
第三步
配置完模块就可以烧录程序到51中了
51C程序
直接复制;根据自己硬件参数修改波特率
#include <reg52.h>
#include "intrins.h"
sbit LED1=P2^0;
sbit LED2=P2^1;
typedef unsigned int u16;
typedef unsigned char u8;
u8 receive[2];
u8 sign=0;
void delay1s(void) //误差 0us
{
u8 a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}
void delay600us(void) //误差 -1.041666666667us
{
unsigned char a,b;
for(b=61;b>0;b--)
for(a=3;a>0;a--);
}
//初始化串口
void Init()
{
SCON = 0x50; //串口模式1,允许接收
TMOD = 0x20; //T1工作模式2,自动重装
PCON = 0x80; //波特率倍增
REN = 1;
//根据实际选择
// TH1 = 0xfa; //波特率9600(11.0592)
// TH1 = 0xf3; //波特率4800(12.0000)
TH1 = 0xf4; //波特率4800(11.0592)
TL1 = TH1;
RI=0;
EA = 1;
ES = 0;
TR1 = 1;
}
//发送字符
void send(u8 value)
{
ES=0; //关闭串口中断
TI=0; //清发送完毕中断请求标志位
SBUF=value; //发送
while(!TI); //等待发送完毕
TI=0; //清发送完毕中断请求标志位
ES=1; //允许串口中断
}
//单片机向模块发送AT指令
void wifi_init()
{
u8 j=0;
u8 a[]="AT+CIPMUX=1\r\n"; //那两条掉电要重新配置的指令 多路模式
u8 b[]="AT+CIPSERVER=1,8266\r\n";
while(a[j]!='\0')
{
send(a[j]);
j++;
}
j=0; //清零准备发第二条指令
delay1s(); //延时一下
while(b[j]!='\0')
{
send(b[j]);
j++;
}
delay1s();
}
void wifi_data()
{
if(receive[0]=='A')
{ LED1=0; //亮
LED2=1;
delay1s();
receive[0]="";
LED1=1;
LED2=0;
delay1s();
}
//if(receive[0]=='A') LED1=1; //亮
//if(receive[0]=='B') LED1=1; //灭
}
void main()
{
delay1s();
Init();
wifi_init();
while(1)
{
wifi_data();
}
}
//中断程序,此程序只把+IPD,x,x:后的有用数据存进receive数组里
void ZD() interrupt 4
{
if(RI)
{
RI=0;
if(sign==1)
{
receive[0]=SBUF;
sign=0; //保存receive[0]的数据
}
if(SBUF==':') sign=1;
}
}
硬件接线
同上图 模块RXD接单片机TXD
模块TXD接单片机RXD
上电 等模块初始化化完成
路由器端口映射
在路由器中查找当前模块的IP 记录下来
在路由器设置中找到端口映射 每个路由器地方不一样 找找就好了 有些叫端口转发,大概就是这个意思
名字不一定一样
在端口映射中添加映射
一般来说
映射名字 随便设置 如 ESP
内网IP 就是刚刚记录的IP
端口范围就随便了 我这边默认设置就可以了
保存就好了
APP
APP比较LOW,就不上传了,有需要的可以联系我;
正式测试
上电模块初识话完成
在手机上使用TCP网络助手以客户端的方式加入 刚刚查询的IP 端口为程序里设置的
发送数据;根据你的需求改数据动作 ;我这里设置的是 发送A 就会改变IO口上电状况
到此全部完成
写的不好,请多多指教,写的错误的地方多谢指导。