STM32 esp8266使用

简述

在我们做项目开发中,经常会用到WiFi,这次给大家分享一下我在使用WiFi的过程中总结的一些经验,这次用到的是esp8266WiFi模块,如图所示。

         

引脚连接:

GND:接地

GPIO16:其实是RST,低电平复位,为了正常工作,直接连接VCC。

VCC:接3.3V,注意:接5V会烧坏模块。

UTXD:接单片机或USB转串口模块的RXD

URXD:接单片机或USB转串口模块的TXD

GPIO2、GPIO0:悬空

CH_PD:可以直接接VCC,一般串联一个电阻再接VCC

常用AT指令

1、AT+RST :复位

2、AT+CWMODE= mode   //设置模式,注意:要重新复位AT+RST才能生效

     说明:mode:1-Station模式,2-AP模式,3-AP兼Station模式

    Station模式:作为客户端去连接热点,AP模式:可作为热点让其它设备连接

3、AT+CWJAP=<ssid>,<pwd> //连接热点

    说明:ssid--WiFi名称,pwd--WiFi密码

4、AT+CIPMUX=mode
   说明:mode:0-单路连接模式,1-多路连接模式

5、AT+CIPMODE=mode //mode:0--缺省模式,1--透传模式

6、AT+CIPSERVER=mode[,port]
   说明:mode:0-关闭server模式,1-开启server模式,port--端口号

7、AT+CIPSTART=<type>,<addr>,<port>

   说明:type连接类型:TCP/UDP,addr--远程服务器IP地址,port--远程服务器端口号

8、AT+CIPSEND=<id>,<length>

  说明:id--连接序号,length--数据长度

9、AT+CIFSR //查看本模块ip

调试

调试用的是USB转串口模块,根据上面的引脚连接配合面包板进行连接。波特率一般是9600或115200。在串口助手勾发送新行,然后发送AT+RST,如果先出现一堆乱码最后带个ready则说明试对了,接下来就可以调试模块了。

模块作为客户端:

AT+CWMODE=1

AT+RST

AT+CWJAP="wifi","012345678"

AT+CIPMUX=0

AT+CIPMODE=1

AT+CIPSTART="TCP","192.168.99.188",8080

AT+CIPSEND=1,8

模块作为服务端

AT+CWMODE=1

AT+RST

AT+CWJAP="wifi","012345678"

AT+CIPMUX=1

AT+CIPSERVER=1,8080

AT+CIFSR

注意:服务端要想和客户端通信两个设备必须处于同一网络

代码

写代码和在串口上调试原理相同,都是通过串口发送AT指令,注意:在串口调试助手调好后,连接在单片机上时不需要再连接热点和设置模式,只需重启模块自会连接,并且每条指令后面必须加回车换行。

51单片机上设置服务端

void Uart1Sends(uchar *str)//串行口连续发送char型数组,遇到终止号/0将停止
{
	while(*str!='\0')
	{
		SBUF=*str;
		while(!TI);//等待发送完成信号(TI=1)出现
		TI=0;
		str++;
	}
}
void esp8266_init()
{
        Uart1Sends("AT+RST\r\n");
	delay(10000);
	Uart1Sends("AT+CIPMUX=1\r\n");
	delay(10000);
	Uart1Sends("AT+CIPSERVER=1,8080\r\n");
	delay(10000);
}

STM32单片机上设置客户端

void esp8266_init(void)
{
        printf("AT+RST\r\n");
		delay_ms(1000);
		printf("AT+CIPMODE=1\r\n");
		delay_ms(4000);
		printf("AT+CIPSTART=\"TCP\",\"139.199.176.32\",8080\r\n");
		delay_ms(4000);
		printf("AT+CIPSEND\r\n");
		delay_ms(4000);
}

 

  • 17
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值