esp8266wifi串口模块应用

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服务器;

以上建议参考示例手册;

你可能感兴趣的:(机器人系统,嵌入式硬件,单片机,c语言,开发语言)