今天这篇是复用ESP8266透传使用测试。
大致的意思就是网络质量分析系统中的一种重要的网络性能检测方法,用于检测主机与TCP Server之间经过三次握手建立TCP连接的速度。
测试过程
1、RouterA向RouterB(TCP server)发送要求建立连接的TCP SYN报文。
2、TCP server收到报文,接受请求并向源端回应TCP SYN ACK报文。
3、源端收到数据包后,向TCP server回应ACK报文,连接建立。
此后,源端通过接收报文和发送报文的时间的差,计算出与TCP server之间三次握手建立TCP连接的时间。
1、还是先上原理图:
WIFI模块是ESP8266
串口CH340G
ESP8266连接MCU引脚IO口
2、实物连接图与配置IO口:
3、代码:
WIFI初始化:
R_SCI_UART_Open(g_wifi.p_ctrl, g_wifi.p_cfg);
wifi回调函数:
switch(p_args->event)
{
case UART_EVENT_RX_CHAR: //收到AT的数指令后打印回显信息
R_SCI_UART_Write(&g_uart4_ctrl, (uint8_t *)&(p_args->data), 1);
break;
串口初始化:
fsp_err_t err = FSP_SUCCESS;
err = R_SCI_UART_Open (&g_uart4_ctrl, &g_uart4_cfg);
assert(FSP_SUCCESS == err);
}
串口回调:
switch (p_args->event)
{
case UART_EVENT_RX_CHAR:
{
/* 把接收到的数据发给 Wifi(SPI9 UART)串口 */
R_SCI_UART_Write(&g_wifi_ctrl, (uint8_t *)&(p_args->data), 1);
break;
}
case UART_EVENT_TX_COMPLETE:
{
uart_send_complete_flag = true;
break;
}
主函数打印:
printf("等待接收AT指令\r\n");
if (BSP_WARM_START_RESET == event)
{
#if BSP_FEATURE_FLASH_LP_VERSION != 0
/* Enable reading from data flash. */
R_FACI_LP->DFLCTL = 1U;
/* Would normally have to wait tDSTOP(6us) for data flash recovery. Placing the enable here, before clock and
* C runtime initialization, should negate the need for a delay since the initialization will typically take more than 6us. */
#endif
}
if (BSP_WARM_START_POST_C == event)
{
/* C runtime environment and system clocks are setup. */
/* Configure pins. */
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
}
4、测试环境:
所有指令:
AT 模块串口工作正常
ATE0 关闭回显
AT+CWMODE=1 打开透传模式
AT+CIPSEND 开始透传
AT+CWJAP=“TPS-227”,"TPSDS12345678" 连接服务器
AT+CIPSTART="TCP","192.168.0.105",8080 查询ip连接
以前是全部的步骤。
AT命令
配置好之后,我们选择启动监听。
首先利用指令“AT+CWMODE=1”配置 ESP8266 为 STA 模式
AT+CWJAP=“SSD”,“PWD”
SSD:是WIFI的名字,PWD是WIFI的密码。
网络助手:
注意要提前先配置好网络助手的协议类型,和主机地址,还是端口。
协议类型 TCP Server
地址 192.168.0.105
端口8080
)
更多回帖