1、ESP-01/01s模块
示例:
参考 ESP8266_AT_Instruction_Set;
•下载 ESP8266 AT Bin:http://www.espressif.com/en/support/download/at
- 参考 README.md 进⾏行行烧录
• PC 串串⼝口⼯工具,⽤用于向 ESP8266 发送 AT 指令 - 波特率设置为 115200
- AT 指令要求加回车换行\r\n ;
ESP8266 Non-OS AT 指令使用示例V1.3.pdf
2、常见点
关于字符串输入,加入指定wifi热点示例
char AT_CWJAP[] = {"AT+CWJAP=\" "};
char ssid_test[] = {'E','S','P',0}; //直连指定wifi名称
char psw_test[] = {0}; //密码为空
char buf[];
memset(buf,0,len);
strcat(buf,AT_CWJAP);
strcat(buf,ssid_name);
strcat(buf, "\",\"");
stacat(buf,passWard);
strcat(buf," \"\r\n");
usartx_Tx(uchar * buf);
// 格式:AT+CWJAP="wifi名称","密码"
//strcat是将两个字符串拼接起来,strcat("str1","str2");
// 反斜杠 转义字符 printf("She said \"time flies like an arrow, but fruit flies like a banana\"."); 其中 \' 表示单引号 \"表示双引号 ;
3、单连接TCP server/client
pc与esp8266连接同一个ap热点
pc端通过网络调试工具创建一个tcp服务器
esp8266wifi模块作为一个tcp客户端;
AT+CIPSTART=“TCP”,“10.88.133.190”,8080
连接远端pc服务器的IP
根据AT 指令 两者可以全双工交互;
4、UDP传输
【区别】
udp 传输不区分客户端和服务器,而tcp传输需要区分;
同样pc端与esp8266模块连接同一wifi热点;
pc端使用网络调试工具设置为UDP模式
本地:填写pc端本地获取的IP地址; 10.88.132.234(cmd ipconfig) 8080
远程:填写esp8266获取的IP地址;10.88.133.161(AT+CIFSR) 9090
AT+CIPSTART=“UDP”,“10.88.132.234”,8080,9090,0
对应esp8266而言,远端为pc,pc端口号,本地端口号,
远端固定/远端可变的udp通信;
远端可变,体现在远端可指定同一个IP地址下的多个端口号,例如8080,8081等;
5、透传
esp8266 at默认仅在tcp 客户端单连接 或 udp 传输模式时,支持透传;
透传设置at指令不保存到flash;
不使能透传时,esp8266发送时需指定数据长度(字节),接收时会打印除有用数据外的提示前缀字符;
透传接收字符串处理:
char * rx_string;
rx_string = strstr((const char *)adr, (const char *)"ESP_");//从大小4096字符串截取,判断str2是str1的子串,例如返回ESP_0031_4083 + 100324083 ......
6、esp8266作为热点服务器进行tcp多连接
AT+CIPSERVER=1 ;
pc端作为tcp客户端连接esp8266的热点;
esp8266设置为多连接时才能建立tcp服务器;
以上建议参考示例手册;
课程:
https://www.bilibili.com/video/BV16R4y1H7Hm/?spm_id_from=333.337.search-card.all.click&vd_source=f32662e169b5bde5f03537cf6d420607