<ESP8266>WIFI模块AT指令浅学

这篇具有很好参考价值的文章主要介绍了<ESP8266>WIFI模块AT指令浅学。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

人生如逆旅,我亦是行人。


名词解释

缩写 意思
AT(automatic transmission) 自动变速器
WiFi 无线网
AP(Access Point) 无线访问接入点,无线路由器等类设备的统称
AP 模式 无线接入点模式
RST(TCP协议的 6 个标志之一) 表示重置连接、复位连接
TCP 传输控制协议
UDP 用户数据报协议
SSL 安全套接字协议
RF(Radio Frequency) 射频,射频电流
Serve 服务
DHCP 动态主机配置协议

ESP8266本身就是一个MCU(微型控制单元,可以进行编程),具有两种功能:
  • 做为一个普通的 WIFI 模块,连接 STM32单片机,通过使用官方集成的 AT 指令进行开发;
  • 作为一个集成了 WIFI 功能的 MCU(单片机),用平台提供的 SDK 进行深度的开发;

下面记录一下作为 WIFI 模块去使用所需要了解的 AT 指令。大致主要分为:

  • 基础 AT 指令
  • WIFI 功能 AT 指令
  • Top/IP 工具箱 AT 命令

一、基础 AT 命令

<ESP8266>WIFI模块AT指令浅学
主要需要掌握的有:

命令 功能
AT 测试 AT 启动 ,返回 OK
AT + RST 重启模块,返回 OK
AT + GMR 查看版本信息,返回 OK,为8位版本号

基础 AT 命令很多,但大部分的使用都不是很多,大多使用的就一个 AT 命令,用于测试 AT 启动。


二、Wi-Fi AT 命令集

<ESP8266>WIFI模块AT指令浅学


1)AT + CWMODE:查询/设置 Wi-Fi 模式

Wi-Fi 的三种模式:

模式 功能 <mode>
Station 模式(客户模式) ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制 1
SoftAP 模式 ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制 2
SoftAP+Station 模式 两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作 3
无 WIFI 模式 关闭 Wi-Fi RF 0

1、查询命令:查询 ESP 设备的 Wi-Fi 模式

命令:

AT+CWMODE?

响应:

+CWMODE:<mode>
OK

2、设置命令:设置 ESP 设备的 Wi-Fi 模式

命令:

AT+CWMODE=<mode>[,<auto_connect>]

响应:

OK

示例:

	printf("2. CWMODE\r\n");        //查询/设置 Wi-Fi 模式:设置WiFi模式为Station模式
	while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))
例1:Station 模式下 TCP serve
ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制
AT+CWMODE=1									设置模组为STA模式(串口助手)
AT+CWJAP									查询附近 WiFi(串口助手)
AT+CWJAP="WIFI名称(最好使用英文)","WIFI密码"	连接WiFi(串口助手)
											当外面需要再用引号将其括起来时,里面则需要在每个引号的前面加上 / 作为转义字符
AT+CIFSR									查看路由器分配给模组的IP地址,例如:192.168.43.103(串口助手)
AT+CIPMUX=1									打开多连接(串口助手)
AT+CIPSERVER=1,8080							设置模块服务器端口(串口助手)

打开网络调试助手进行设置:
请打开电脑连接路由器的WIFI热点,并且打开网络调试助手,在网络调试助手上输入连接模块的 IP和设置的端口。
路由器给模块分配的 IP  192.168.43.103,端口为自己设定的 8899(默认的为 333)(网络调试助手)

AT+CIPSEND=0,11								进入数据发送模式:11个字节

例2:SoftAP 模式下 TCP serve
ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制
AT+CWMODE=2							开启 AP 模式(串口助手)
AT+CWJAP="ESP8266","密码",11,0		设置模块的 wifi 名和 wifi 密码(串口助手)
									当外面需要再用引号将其括起来时,里面则需要在每个引号的前面加上 / 作为转义字符
AT+CIPSERVER=1,8080					设置模块服务器端口(串口助手)

打开电脑去连接模块建立的AP热点
打开网络调试助手,输入连接模块的 ip 和设置的端口。

AT+CIPSEND=0,11								进入数据发送模式:11个字节

例3:SoftAP+Station 模式下 TCP serve
两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作

2)AT+CWDHCP:启用/禁用 DHCP

查询命令

命令:

AT+CWDHCP?

响应:

<state>:状态

设置命令

功能: 启用/禁用 DHCP

命令:

AT+CWDHCP=<operate>,<mode>
	printf("3. AT+CWDHCP\r\n");     //启用/禁用 DHCP
	while(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK"))

响应:

OK

参数:

  • <operate>:0表示禁用;1表示启用;
  • <mode>:Bit0 表示 Station 的 DHCP;Bit1 表示 SoftAP 的 DHCP;
  • <state>:DHCP 的状态
    • Bit0:
      • 0:禁用 Station 的 DHCP
      • 1:启用 Station 的 DHCP
    • Bit1:
      • 0:禁用 SoftAP 的 DHCP
      • 1:启用 SoftAP 的 DHCP
    • Bit2(ESP32 only)
      • 0: 禁用 Ethernet 的 DHCP
      • 1: 启用 Ethernet 的 DHCP

三、TCP/IP AT 命令


<ESP8266>WIFI模块AT指令浅学


1)AT+CIPSTATUS:查询 TCP/UDP/SSL 连接状态和信息

命令:

AT+CIPSTATUS

响应:

STATUS:<stat>
+CIPSTATUS:<link ID>,<"type">,<"remote IP">,<remote port>,<local port>,<tetype>
OK

参数:
<ESP8266>WIFI模块AT指令浅学

2)AT+CIPSTART:建立 TCP 连接、UDP 传输或 SSL 连接

1、建立 TCP 连接

  • 命令:
// 单连接 (AT+CIPMUX=0):
AT+CIPSTART=<"type">,<"remote host">,<remote port>[,<keep alive>][,<"local IP">]

// 多连接 (AT+CIPMUX=1):
AT+CIPSTART=<link ID>,<"type">,<"remote host">,<remote port>[,<keep alive>][,<"local IP">]
  • 响应:
CONNECT

OK
  • 参数:
    <ESP8266>WIFI模块AT指令浅学

  • 连接OneNet 的 MQTT 的实际应用:

//连接上OneNet的 MQTT
#define ESP8266_ONENET_INFO		"AT+CIPSTART=\"TCP\",\"183.230.40.39\",6002\r\n" 
  • 示例:
AT+CIPSTART="TCP","iot.espressif.cn",8000
AT+CIPSTART="TCP","192.168.101.110",1000
AT+CIPSTART="TCP","192.168.101.110",1000,,"192.168.101.100"
AT+CIPSTART="TCPv6","test-ipv6.com",80
AT+CIPSTART="TCPv6","fe80::860d:8eff:fe9d:cd90",1000,,"fe80::411c:1fdb:22a6:4d24"

// esp-at 已通过 AT+CWJAP 获取到 IPv6 全局地址
AT+CIPSTART="TCPv6","2404:6800:4005:80b::2004",80,,"240e:3a1:2070:11c0:32ae:a4ff:fe80:65ac"

2、建立 UDP 传输

  • 命令:
// 单连接:(AT+CIPMUX=0)
AT+CIPSTART=<"type">,<"remote host">,<remote port>[,<local port>,<mode>,<"local IP">]

// 多连接:(AT+CIPMUX=1)
AT+CIPSTART=<link ID>,<"type">,<"remote host">,<remote port>[,<local port>,<mode>,<"local IP">]
  • 响应:
CONNECT

OK
  • 参数:

<ESP8266>WIFI模块AT指令浅学

  • 示例:
// UDPv4 单播
AT+CIPSTART="UDP","192.168.101.110",1000,1002,2
AT+CIPSTART="UDP","192.168.101.110",1000,,,"192.168.101.100"

// 基于 IPv6 网络的 UDP 单播
AT+CIPSTART="UDPv6","fe80::32ae:a4ff:fe80:65ac",1000,,,"fe80::5512:f37f:bb03:5d9b"

// 基于 IPv6 网络的 UDP 多播
AT+CIPSTART="UDPv6","FF02::FC",1000,1002,0

3、建立 SSL 连接

  • 命令:
AT+CIPSTART=[<link ID>,]<"type">,<"remote host">,<remote port>[,<keep alive>,<"local IP">]
  • 响应:
OK
  • 参数:

<ESP8266>WIFI模块AT指令浅学文章来源地址https://www.toymoban.com/news/detail-444523.html

  • 示例:
AT+CIPSTART="SSL","iot.espressif.cn",8443
AT+CIPSTART="SSL","192.168.101.110",1000,,"192.168.101.100"

// esp-at 已通过 AT+CWJAP 获取到 IPv6 全局地址
AT+CIPSTART="SSLv6","240e:3a1:2070:11c0:6972:6f96:9147:d66d",1000,,"240e:3a1:2070:11c0:55ce:4e19:9649:b75"

ESP8266 初始化示例:

void ESP8266_Init(void)
{
	
	ESP8266_Clear();
	
	printf("1. AT\r\n");            //AT:测试AT启动
	while(ESP8266_SendCmd("AT\r\n", "OK"))
		HAL_Delay(500);
	
	printf("2. CWMODE\r\n");        //查询/设置 Wi-Fi 模式:设置WiFi模式为Station模式
	while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))
		HAL_Delay(500);
	
	printf("3. AT+CWDHCP\r\n");     //启用/禁用 DHCP
	while(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK"))
		HAL_Delay(500);
	
	printf("4. CWJAP\r\n");         //连接wifi
	while(ESP8266_SendCmd(ESP8266_WIFI_INFO, "GOT IP"))
		HAL_Delay(500);
	
	printf("5. CIPSTART\r\n");		//连接ONENET的TCP协议
	while(ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT"))
		HAL_Delay(500);
	
	printf("6. ESP8266 Init OK\r\n");

}

到了这里,关于<ESP8266>WIFI模块AT指令浅学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP8266————AT指令+网络透传

    一.AT指令 ESP8266可以通过串口的AT指令和其他设备进行通讯或控制(刚开始我以为AT指令是ESP8266本就封装好的,直接就可以用,结果不是,需要自己安装AT固件),安装好固件之后直接用数据线连接ESP8266打开串口即可通讯。常用AT指令看这个博客:(16条消息) 玩转ESP8266-01——AT指令

    2024年02月13日
    浏览(29)
  • 认识 ESP8266—ESP-01S (含AT指令)

    了解完本文内容,可以去观看我的另一篇文章-----》 STM32—通过HC05配置ESP8266(ESP01s)获取时间和天气 ESP8266 是串口型 WIFI,速度比较低,不能用来传输图像或者视频这些大容量的数据,主要应用于数据量传输比较少的场合,比如温湿度信息,一些传感器的开关量等。 ESP8266 的

    2024年02月06日
    浏览(39)
  • ESP8266使用AT指令获取时间和心知天气

    一.硬件:ESP8266,USB TO TTL模块,软件:串口调试助手 二.在心知官网注册账号:心知天气 - 高精度气象数据 - 天气数据API接口 - 行业气象解决方案 三.连接esp8266和usb转ttl,打开串口调试助手 四.发送AT指令 1.复位模块 发送 AT+RST 返回 ready 2.测试AT指令 发送 AT 返回 OK 3.配置STA模式

    2024年02月04日
    浏览(40)
  • esp8266(MQTT固件)通过at指令连接阿里云平台

    实验: esp8266 连接阿里云。 准备工作: esp8266 wifi模组 固件烧录工具 串口调试助手 阿里云账号及物联网设备申请 某宝随便买个,多的是: usb连接到电脑上之后,可以识别到串口,说明有固件。 由于新买的模组,芯片内的固件可能并不是我们想要的,此时可自行官网下载固

    2024年01月19日
    浏览(46)
  • 【ESP-01S / ESP8266 AT指令连接阿里云物联网平台】

    关注+星标 公众号,不错过精彩内容 作者 | MakingClub 微信公众号 | electronic造物实验室 注册阿里云账号并搜索物联网服务。选择并进入物联网平台产品页。 点击管理控制台,进入物联网平台管理界面。 选择公共实例(如果尚未开通,需要先进行开通,具体步骤不再赘述),然

    2024年02月07日
    浏览(40)
  • stm32---ESP8266的基础 AT 指令、基础 Wi-Fi 功能 AT 指令、TCP/IP 功能 AT 指令

    (常用基础AT指令)主要了解其中指令AT、AT+RST、ATE:   (1)当参数是ATE1时,显示: (2)当参数是ATE0时,显示:   说明: (1) Station 模式: 模块相当于一个客户端,可以链接到其他路由器发出的WIFI信号。 (2) SoftAP模式(软路由模式):模块本身相当于一个路由器,其他设备可

    2024年02月04日
    浏览(32)
  • ESP8266+STM32+阿里云保姆级教程(AT指令+MQTT)

    前言:在开发过程中,几乎踩便了所有大坑小坑总结出的文章,我是把坑踩满了,帮助更过小白快速上手,如有错误之处,还麻烦各位大佬帮忙指正、 目录 一、ESP-01s介绍         1、ESP-01s管脚功能:                 模组启动模式说明:         2、初始配置和

    2024年02月19日
    浏览(30)
  • 阿里云 MQTT协议 AT指令 ESP8266-01S 数据上下传输

    printf重定义资料来自江科大自动化协---stm32入门教程---串口发送+接收一节视频讲解 细节请看b站这个up主的视频阿里云+ESP8266+STM32远程点灯(流程讲解) 阿里云平台配置细节请看10分钟玩转阿里云物联网平台设备接入、管理、运维 这里只记录一下大概内容,方便日后调试。 1、

    2023年04月26日
    浏览(42)
  • ESP8266 WIFI 模块和手机通信

    随着物联网智能化的不断发展,越来越多人选择了无线通信设备,比如WiFi、蓝牙、Lora、zigbee、2G/4G模块等物联网无线通信模块,从而可以更好地达到无线控制目的。 1.这款调试助手支持的功能比较齐全,可以自行到手机应用市场下载。 2.串口调试助手用的是正点原子提供的

    2024年02月06日
    浏览(33)
  • 关于ESP8266WIFI模块的介绍

    ESP8266是曾经缔造了以低成本引爆物联网是换成那个的佳话,ESP8266模块是单核32位mcuwifi芯片为主。其特点是拥有高性能无线soc,是一个完整且自成体系的wifi网络方案,能够独立运行,也可以作为slave搭载其他host运行。 该命令用于查询设置指令的参数以及取值的范围 该命令用

    2024年02月06日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包