烧录ESP32的WIFI。以及测试

12 篇文章 5 订阅
3 篇文章 0 订阅

测试WIFI笔记
背景
工训任务,搬运小车,接收上位机WIFI发过来的任务,然后小车按照任务,确定搬运物料的顺序。所以需要设置WIFI的相关模式。

知识点:
(1)网络的相关概念,网关,IP地址,TCP,UDP,端口号等;WIFI的相关概念。
建议看B站青柚电子的物联网的相关章节的视频内容,有配套代码和配套pdf文本。
或者海创电子的WIFI相关视频。
(2)超时发送判断;
(3)判断比较
(4)串口的空闲中断知识。

硬件:
STM32F407,用串口3(PD8和PD9,PD8是串口3的TXD引脚,PD9是串口3的RXD引脚);
DAP下载器。
ESP32WROOM DEVKIT核心板。

步骤:
1、 往ESP32烧录乐鑫官方的WIFI固件。
2、 测试WIFI固件是否烧录成功,初步验证相关AT指令;
3、 测试STM32F407的D8和D9是否配置成功,能不能串口发数据到串口助手,能不能接受串口助手发过来的数据。
4、 两者一起调试。调试TCP链接;调试UDP链接。

步骤1 往ESP32烧录乐鑫官方的WIFI固件。
再乐鑫官方网站下载ESP32的WIFI固件和固件下载软件;
按照步骤,烧录固件;

测试是否烧录成功
接线
ESP32的RXD2和TXD2,连接USB-TTL模块的TXD和RXD,以及GND相互连接,假如串口好COM1
ESP32的下载USB口,通过数据线,连接到电脑的USB口,假如串口是COM2
打开两个串口助手。

在COM2串口助手查看消息日志,按下ESP32模块的EN按键,,波特率115200.
看到烧录的WIFI固件消息。

在COM1串口助手查看消息日志,输入AT回车换行,发送,会看到返回OK。
说明测试基本成功。其他指令可以同样的测试。

步骤三
测试STM32的串口3是不是开启成功,能不能发送,能不能接收。
接线:
Stm32的串口3,PD8接到串口模块的RXD,PD9接到TXD。
打开串口助手。
用sendByte(USART3,‘B’)等测试是不是开启成功。

//查询发送,不用TC中断发送
void sendByte(USART_TypeDef *USARTx,u8 byte)
{
USART_SendData(USARTx,byte);
while(USART_GetFlagStatus(USARTx,USART_FLAG_TC) == RESET);//发送完成标志位
USART_ClearFlag(USARTx,USART_FLAG_TC);
}
再串口3的串口空闲中断部分,假如打印printf函数,将接收的数据,通过串口1发送出去。

//初始化WIFI
if(initWIFI()!=0)
{
printf(“init OK\r\n”);
}
else
printf(“init err\r\n”);
//连接热点
if(connectAP(SSID,PWD)!=0)
{
printf(“conn ap ok\r\n”);
//那么这一行必须要,不能省略
sendWIFI(“AT+CIPMUX=0\r\n”);
}else
{
printf(“conn ap error\r\n”);
}

// //UDP 链接测试
// if(connectServer(UDP,IP,PORT)!=0)
// {
// printf(“conn server ok\r\n”);
//
// sendWIFI(“AT+CIPMODE=1\r\n”); //设置为透传模式
// delay_ms(20);
// sendWIFI(“AT+CIPSEND\r\n”);//开始处于透传发送状态
// delay_ms(20);
// break;//假如连接了WIFI和UDP IP模式,那么跳出while1循环;
// }else
// {
// printf(“conn server error\r\n”);
// }

	//TCP 链接测试
  if(connectServer(TCP,IP,PORT)!=0)
{
		printf("conn server ok\r\n");	
		sendWIFI("AT+CIPMODE=1\r\n");  //设置为透传模式
		delay_ms(10);
		sendWIFI("AT+CIPSEND\r\n");//开始处于透传发送状态
		delay_ms(10);
		break;//假如连接了WIFI和TCPIP模式,那么跳出while1循环;
}else 
{
			printf("conn server error\r\n");
}
	 
	 
}

printf(“hello world88888\r\n”);
//间隔300ms,发送123和hello.
while(1)
{
memset(WIFI_TXBuffer,0,WIFI_TXBUFFER_LEN);
sprintf(WIFI_TXBuffer,“123”);
sendWIFI(WIFI_TXBuffer);
delay_ms(300);
memset(WIFI_TXBuffer,0,WIFI_TXBUFFER_LEN);
sprintf(WIFI_TXBuffer,“hello”);
sendWIFI(WIFI_TXBuffer);
delay_ms(300);
}
}

ESP32的IP地址。看到是192.168.137.72,我使用电脑产生热点。
Ping ESP32的IP地址,看到有回复。说明热点和ESP32同一个局域网。

用网络调试助手,调试是否成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值