单片机根据应答发送AT指令控制ESP8266设置为服务器—AP模式

单片机根据应答发送AT指令控制ESP8266(AP模式)

在明白了串口发送AT指令控制ESP8266设置为AP模式并用客户端连接通信后,将手动发送AT指令控制ESP8266的活交给单片机来做,程序跟之前设置Station模式差不多,只是AT指令和应答判断稍有不同

(若不明白设置ESP8266为AP模式可参考文章:https://blog.csdn.net/weixin_46251230/article/details/126217770)

1.编写好代码后,把程序烧录到单片机中,也是使用之前分线的测试方法,能清晰看到单片机AT指令的发送情况,同时也能看到ESP8266的应答信息

在这里插入图片描述

2.接线接好后,ESP8266上电,单片机上电,可通过安信可串口助手看到指令发送和应答信息

AT+CWMODE=2			//设置为AP模式
OK
AT+CIPMUX=1			//设置为多连接
OK
AT+CIPSERVER=1		//开启多连接后,才能建立TCP server
OK
void main()
{
	Uart_Init();
	//初始化之后延时1秒让ESP8266输出初始化信息
	Delay1ms(1000);			
	
	//设置成双模
	Uart_SendString(CWMODE);
	while(!AT_OK_Flag);
	AT_OK_Flag = 0;
	
	//开启多连接
	Uart_SendString(CIPMUX);
	while(!AT_OK_Flag);
	AT_OK_Flag = 0;
	
	//建立TCP Server
	Uart_SendString(CIPSERVER);
	while(!AT_OK_Flag);
	
	//客户端连接上来
	while(!Client_Connect_Flag);
	AT_OK_Flag = 0;
	
	if(Client_Connect_Flag)
	{
		LED1 = 0;		//灯亮表示客户端连接成功
		LED2 = 0;
	}
	
	while(1)
	{
		Uart_SendString(CIPSEND);
		Delay1ms(2000);
		Uart_SendString("hello");
		Delay1ms(2000);
	}
}

但信息卡在最后一个OK应答后就不再显示了,说明建立TCP Server后,单片机在等待客户端的连接,卡死在了while循环里面,此时要打开网络调试助手(电脑提前连接好ESP8266的WIFI),选择客户端模式,选择与ESP8266同一个网段的主机地址,服务器端口默认333,

在这里插入图片描述

点击连接按钮,连接上服务器(ESP8266),则安信可助手中可看到"0,CONNECT"的应答信息,说明客户端连接上来了,单片机获取到了连接标志,跳出了循环,继续向下执行

3.发送数据,单片机先发送AT指令AT+CIPSEND=0,5,说明要向通道0发送5个字符的数据,ESP8266应答OK,则单片机便把字符串“hello”发送给ESP8266,ESP8266再通过网络传给客户端,可在网络调试助手(客户端)看到ESP8266(服务器)发来的数据“hello”,如果想继续发送,则要再次输入AT指令AT+CIPSEND=0,5,然后发送数据(注意:这样是服务器向客户端发送数据

在这里插入图片描述

在这里插入图片描述

4.如果客户端想向服务器发送数据,则直接在网络调试助手的发送区发送数据即可,可无限发送

在这里插入图片描述

ESP8266接收到客户端的信息后,经过分线,一根传到了电脑助手上查看,另一根传到单片机RX上

在这里插入图片描述

5.最后可以实现客户端发送 op 和 cl 特殊字符串控制单片机的LED开启和关闭,只需在程序的串口中断函数中判断接收的字符串是否是开关灯指令,是就对LED灯进行开关操作,一个简单的通过网络点灯的实验就完成了,只要连接到局域网,都能通过网络与单片机通信,从而控制单片机

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值