赞
踩
| AT+CWQAP | 与AP断开连接 |
| AT+CWSAP | 设置ESP8266 softAP配置 |
| AT+CWLIF | 获取连接到 ESP8266 softAP 的 station 的信息 |
关于WiFi模式这里要说明一下,sta模式下模块相当于客户端,像我们手机平板一样是要去连接路由器的,而AP模式下模块相当于路由器,是发射WiFi被别人连的。ESP8266支持两种模式并存(模块出厂默认的是AP模式) 。另外,扫描WiFi指令 AT+CWLAP 只能在sta模式下使用,否则会报ERRO错误, AT+CWJAP 和 AT+CWQAP 指令也同理。
sta模式连接WiFi演示
AT+CWMODE=1
**指令配置模块为sta模式(参数1,2,3分别对应模式sta,AP和sta/AP)。AT+CWLAP
**指令扫描当前附近WiFi,模块会返回可用AP列表。AT+CWJAP="WiFi名称","WiFi密码"
连接到指定的路由器,比如我在图书馆的WiFi是 “Wang”,密码是“123456”,实际连接WiFi发送的指令就是AT+CWJAP="Wang","123456"
** 。AT+CWQAP
**断开当前连接的WiFi。TCP/IP相关AT指令
传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
我们常说互联网互联网,那两个连接到互联网的设备该如何相互“交流”呢?TCP连接就是其中一种最常用的方式。TCP是面向连接的传输层协议,通信双方都要实现TCP协议,其中一方只需目标ip地址和端口号就能发起连接,连接一旦建立,就像在双方之间拉了一条管子,管子两端可进行全双工(双向同时收发)通信。
TCP是传输层协议,是在网络层IP协议的基础上封装而来。而这些封装的实现细节也是与我们无关,我们只需使用系统所提供的相关接口“拿来即用”,比如网络编程中的Socket。ESP8266模块中也实现了TCP/IP协议栈,模块作为客户端可轻松使用AT指令向服务端发起TCP连接。连接TCP服务器并开启透传模式后,模块串口收到的数据就会通过TCP连接透传到服务端,这样就完成了数据从硬件串口通过网络到程序进程的传输,实现软硬结合。
指令 | 描述 |
---|---|
AT+CIPSTATUS | 查询网络连接信息 |
AT+CIPMUX | 设置多连接模式 |
AT+CIPSTART | 建立TCP连接UDP传输或者SSL连接 |
AT+CIPCLOSE | 关闭TCP/UDP/SSL传输 |
AT+CIPMODE | 设置透传模式 |
AT+CIPSEND | 发送数据 |
把WiFi模块和电脑连接,在sscom确定AT指令能正常使用后,就可以开始配置TCP连接了,具体步骤如下:
AT+CIPMUX=0
**设置单连接AT+CIPSTART="TCP","192.168.43.140",1234
(指令参数分别为连接类型、目标IP地址和端口号)向服务器发起TCP连接请求,握手成功并建立连接后,服务器端的“网络调试助手”就会显示客户端IP和端口信息,此时双方已做好收发数据的准备(根据实际需要连接的IP地址来)AT+CIPMODE=1
**开启透传模式AT+CIPSEND
进入透传模式,此时模块会把所有串口收到的数据都从TCP端口发送至服务器,同样的,从服务器收到的数据也会从模块串口发送出去打印到sscom上。这样WiFi模块就真正成为了连接硬件与网络的桥梁,实现了串口到TCP的协议转换以上其实就是大概本次项目需要使用到的指令,ESP8266配置代码如下:
void esp8266_config(void)
{
char str[200];
sprintf(str, "AT+CWJAP=\"%s\",\"%s\"\r\n", WIFI_NAME, WIFI_PSW);
// SendATCmd("+++", 500); // 退出透传模式
SendATCmd("AT\r\n", 2000); // 测试ESP01模块是否存在
// SendATCmd("AT+GMR\r\n",3000); // 查看模块版本信息
SendATCmd("
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。