简单记录下自己的学习笔记,使用硬件STM32F103_MINI开发板+转接板+esp8266,小程序百问网嵌入式互联网小程序(TCP)。
开发板使用esp8266和手机小程序处于同一个局域网,开发板使用esp8266设置为TCP服务器,手机小程序作为TCP客户端,从而实现数据的双向通信。
上半部分是将开发板设置为TCP服务器的串口打印信息。
中间部分是手机小程序连接开发TCP服务器后(192.168.1.6:9999),向手机服务器发送的数据。
下半部分是开发板向手机小程序发送的数据。
这里最重要的就会上半部分,将开发板设置为TCP服务器。一共需要下面几个步骤:
(1)复位esp8266
ESP8266_SendCommand("AT+RST", "OK", 500);
HAL_Delay(1000);
(2)设置esp8266模式(1:Station 模式)
ESP8266_SendCommand("AT+CWMODE=1", "OK", 500);
(3)开发板连接wifi。
ESP8266_SendCommand("AT+CWJAP=\"wifi_name\",\"wifi_password\"", "OK", 5000);
(4)设置多连接
ESP8266_SendCommand("AT+CIPMUX=1", "OK", 500);
(5)这里的1建立tcp服务器,999表示端口
ESP8266_SendCommand("AT+CIPSERVER=1,9999", "OK", 500);
(6)查看当前ip
ESP8266_SendCommand("AT+CIFSR", "OK", 500);
(7)发送数据,需要先发长度,然后是数据,比如:
AT+CIPSEND=0,9
{1234567}
(8)接收数据
IPD,0,9{1234567}
除了用微信小程序和开发板通信,我们也可以用TCP客户端和它通信,效果是一样的。