【ESP系列】AT指令案例

2023-10-26

前言

  ESP系列芯片具有高性价比的联网功能,广受大家的认可。然而,在开发过程中,有时候我们想要使用ESP系列芯片的联网功能,却又不想为此编写繁杂的联网逻辑、串口交互逻辑等等。此时,我们可以运用AT指令来实现简洁的联网控制。本文将介绍这种基于AT指令的简单指令和案例,方便大家熟悉。

常用AT指令

  这里分三大类基础类 WIFI类 TCP/IP类,简单的介绍部分常用的AT之类。详细的指令应用案例,可以查看乐鑫官网的AT 命令集,包括AT 命令示例,指令和案例详解都有。然后,一般的AT配置命令,只用指令加个问号,就能查询器件当前的配置情况,例如:选择WIFI Station 模式的为指令为AT+CWMODE=1,然后AT+CWMODE?就能在返回数据中,知道查询器件当前的WIFI应用模式。

基础类

指令 说明 示例 参数
AT 响应测试 AT
AT+RST 重启模块 AT+RST
AT+GMR 查看版本信息

WIFI类

指令 说明 示例 参数
AT+CWMODE=① 选择 WIFI 应用模式 AT+CWMODE=1 ①:0: 无 Wi-Fi 模式 1: Station 模式 2: SoftAP 模式 3: SoftAP+Station 模式
AT+CWJAP=①,② 连接 AP AT+CWJAP=“K30”,“12345678” ①: WIFI名称 ②:WIFi密码
AT+CWLAP 列出当前可用 AP AT+CWLAP
AT+CWQAP 断开与 AP 的连接
AT+CWSAP=①,②,③,④ 配置SoftAP模式参数 AT+CWSAP=“ESP”,“1234567890”,5,3 ①:AP名称 ②:密码 ③:信道号 ④:加密方式

TCP/IP类

指令 说明 示例 参数
AT+CIPSTATUS 获得连接状态 AT+CIPSTATUS
AT+CIPSTART=①,②,③ 建立 TCP 连接或注册 UDP 端口号 AT+CIPSTART=“TCP”,“192.168.101.110”,1000 ①:网络连接类型 ②:IPv4 地址 ③:远端端口值
AT+CIPSEND=① 发送数据 AT+CIPSEND=50 ①:发送的数据长度
AT+CIPCLOSE 关闭TCP 或 UDP AT+CIPCLOSE
AT+CIFSR 获取本地 IP 地址 AT+CIFSR
AT+CIPMUX=① 启动多连接 AT+CIPMUX=0 ①:0: 单连接 1: 多连接
AT+CIPSERVER=①,② 配置为服务器 AT+CIPSERVER=1,80 ①:0:关闭 1:开启 ②:端口号
AT+CIPMODE=① 设置模块传输模式 AT+CIPMODE=0 ①:0: 普通传输模式 1: Wi-Fi 透传接收模式,仅支持 TCP 单连接、UDP 固定通信对端、SSL 单连接的情况
AT+CIPSTO 设置服务器超时时间 AT+CIPSTO=30 ①:超时时间(Ms)

案例

​ 基本配置: 波特率:115200 串口通信时勾选上,发送新行。

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rirImxrx-1681716930177)(0.png)]

​ 注意:在下面为了方便解释,我在AT指令后面加了注释,实际在使用AT指令时,不要加上。

  1. 存在测试。发送AT,如器件正常,应该会返回OK。

    AT

    在这里插入图片描述

  2. 重启模块,基本参数查看。比如,能看到SPI Speed,SPI Mode,SPI Flash Size等。

    AT+RST

    在这里插入图片描述

  3. WIFI连接案例

    在以下案例中,我用了自己的手机打开热点,创建了一个名称为K30,密码为12345678热点,方便测试。

    AT+CWMODE=1						//选择为Station模式
    AT+CWJAP="K30","12345678"		//连接AP
    

    在这里插入图片描述

  4. 设备做为 TCP 客户端

      使用电脑或手机软件做TCP服务端,ESP8266做客户端连接,一直都是失败的,怪。按照官方的示例,流程如以下这样,但是尝试了七八次到不行。很是奇怪,下次有时间在找找问题。二次修改,我用两块ESP01连接调试,一块TCP客服端,一块TCP服务端,连接发送数据就能正常发送。

    AT+CWMODE=1
    AT+CWJAP="K30","12345678"
    AT+CIPSTA?
    AT+CIPSTART="TCP","192.168.3.102",8080
    AT+CIPSEND=4
    
  5. 设备做为 TCP 服务器

    //建立TCP服务端流程
    AT+CWMODE=2			//设置 Wi-Fi 模式为 softAP
    AT+CIPMUX=1			//使能多连接
    AT+CWSAP="ESPDemo","12345678",5,3	//设置 softAP
    AT+CIPAP?    		//查询 softAP 信息(可不看)
    AT+CIPSERVER=1,80	//建立 TCP 服务器,并指定定端口
    //当客户端连接上后
    AT+CIPSEND=0,4		//指定id通道,发送指定长度字节信息
    //关闭TCP服务端
    AT+CIPCLOSE=0
    

    在这里插入图片描述

  6. 设备做为 TCP 客户端, UART Wi-Fi 透传 (未有时间实验,只是分享官方示例)

    AT+CWMODE=1								//选择为Station模式
    AT+CWJAP="espressif","1234567890"
    AT+CIPSTART="TCP","192.168.3.102",8080	//连接端口
    AT+CIPMODE=1							//进入 UART Wi-Fi 透传接收模式
    AT+CIPSEND								//进入 UART Wi-Fi 透传模式 并发送数据
    
    AT+CIPMODE=0	//退出 UART Wi-Fi 透传接收模式
    AT+CIPCLOSE		//关闭 TCP 连接
    

    使用 +++ 可退出 透传模式,回到 透传接收模式,此时 TCP 连接仍然有效。您也可以使用 AT+CIPSEND 命令恢复透传。

  7. 设备作为 TCP 服务器, UART Wi-Fi 透传 (未有时间实验,只是分享官方示例)

    AT+CWMODE=1
    AT+CWJAP="espressif","1234567890"
    AT+CIPMUX=1
    AT+CIPSERVERMAXCONN=1
    AT+CIPSERVER=1,8080
    AT+CIPMODE=1
    AT+CIPSEND
    
    AT+CIPMODE=0
    AT+CIPCLOSE
    

总结

  上述案例有些还未来的及测试。不过以测试的,介绍的还是挺详细了。还是能参考参考的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ESP系列】AT指令案例 的相关文章

  • Spring 如何使用注解装配Bean呢?

    转自 Spring 如何使用注解装配Bean呢 我们都知道在Spring中 可以使用xml可实现 Bean状态操作 但是如果有非常多的Bean时 就会出现大量的xml 这样就会导致配置文件非常的大 并且容易出错及难维护 Java 从JDK5
  • PHP取整,四舍五入取整、向上取整、向下取整、小数截取。

    PHP取整数函数常用的四种方法 1 直接取整 舍弃小数 保留整数 intval 2 四舍五入取整 round 3 向上取整 有小数就加1 ceil 4 向下取整 floor 一 intval 对变数转成整数型态 intval如果是字符型的会
  • 迭代器iterator

    能进行算术运算的迭代器只有随即访问迭代器 要求容器元素存储在连续内存空间里 vector string deque的迭代器是有加减法的 但是map set multimap multiset的迭代器是没有加减法的 list也不可以
  • minio老版本集成到k8s的yaml

    apiVersion apps v1 kind StatefulSet metadata name minio spec replicas 1 serviceName minio selector matchLabels name mini
  • Android WebView使用详解及注意事项

    未经本人授权 不得转载 否则必将维权到底 目前很多公司的 App 就只使用一个 WebView 作为整体框架 App 中的所有内容全部使用 HTML5 进行展示 这样只需要写一次 HTML5 代码 就可以在 Android 和 iOS 平台
  • Android textAppearance的属性设置及TextView属性详解

    http blog csdn net jaycee110905 article details 8762238 textAppearance的属性设置 android textAppearance android attr textAppe

随机推荐

  • html实现蜂窝菜单

    效果图 CSS样式 keyframes fade in mkmxd 1 0 filter blur 20px opacity 0 to filter none opacity 1 keyframes drop in mkmxd 1 0 tr
  • 【图片+代码】:GCC 链接过程中的【重定位】过程分析

    目录 示例代码 sub o 文件内容分析 段信息 符号表信息 main o 文件分析 段信息 符号表信息 绝对寻址 相对寻址 重定位表信息 可执行程序 main 段信息 符号表信息 绝对地址重定位 相对地址重定位 总结 别人的经验 我们的阶
  • 看京东架构师如何解决,数据库读写分离与事务纠缠的坑

    本篇文章讨论在数据库读写分离时使用事务的那些坑 1 在读写分离时会不会造成事务主从切换错误 一个线程在Serivcie时Select时选择的是从库 DynamicDataSourceHolder中ThreadLocal对应线程存储的是sla
  • SD卡学习笔记

    每个sector为512B 与IDE磁盘一样 通过读写命令读取一个多个sector 主控程序不需要关注SD具体是怎么实现读写与擦写的 每个sector可以耐受100 000次写操作 无限次读操作 每当sector被用命令erase命令擦除了
  • 三星被曝因ChatGPT泄露芯片机密!韩媒惊呼数据「原封不动」直传美国,软银已禁止员工使用...

    点击上方 AI遇见机器学习 选择 星标 公众号 第一时间获取价值内容 明敏 萧箫 发自 凹非寺 量子位 公众号 QbitAI 三星引入ChatGPT不到20天 就发生3起数据外泄事件 其中2次和半导体设备有关 1次和内部会议有关 消息一经释
  • Java 单测—static方法

    单测 static方法 静态方法的单测 静态方法的单测 方法上加注解 PrepareForTest 静态方法所在的类 class 调用测试方法前先要mock出类 Before public void setUp throws Excepti
  • 爱可生MySQL开源数据传输中间件DTLE首次技术分享

    10月27日 上海爱可生信息技术股份有限公司赞助的 3306 技术 Meetup 武汉站成功举办 爱可生技术服务总监洪斌分享了 MySQL 开源数据传输中间件架构设计实践 的主题演讲 并对爱可生10月24日最新开源项目 DTLE 相关技术细
  • Java岗面试:美国java程序员要求

    正文 在写这个文章之前 我花了点时间 自己臆想了一个电商系统 基本上算是麻雀虽小五脏俱全 我今天就用它开刀 一步步剖析 我会讲一下我们可能会接触的技术栈可能不全 但是够用 最后给个学习路线 Tip 请多欣赏一会 每个点看一下 看看什么地方是
  • cpu的架构

    明天继续搞一下cache 还有后面的 下面是cpu框架图 开始解释cpu 1 控制器 控制器又称为控制单元 Control Unit 简称CU 下面是控制器的组成 1 指令寄存器IR 是用来存放当前正在执行的的一条指令 当一条指令需要被执行
  • 单线程 JavaScript 的异步机制与经典 for 循环面试题

    从一个经典的 for 循环问题开始 for var i 1 i lt 5 i setTimeout function timer console log i i 1000 输出是 每隔1秒 输出一个6 共5次 原理 这样的输出 是由 Jav
  • 逆矩阵的性质

    矩阵的逆矩阵具有许多有用的性质 1 如果MM 1 I 则M 1M I 2 M1M2 1 M2 1M1 1 3 M 1 1 M 4 M 1 1 M 1 0 说明 M 1 表示矩阵M的逆 摘自 lt lt 计算机图形学几何工具算法详解 gt g
  • 测试工作内容(一)---需求分析

    当我们要做一个项目时 不管项目是一个大的软件 还是一个小的功能模块 我们在执行之前都要搞清楚 这个项目是做什么的 将会实现哪些功能需求 在时间点范围内需要我们做什么 做哪些工作 所追溯的就是需求 需求分析都需要做哪些事情 怎样做 包括以下四
  • JAVA注释

    单行注释 单行注释 多行注释 多行注释 文档注释 文档注释 放在类定义 方法 field 内部类之前才有效 此行前面这个星号只是为了好看 只有第一行和最后一行的 和 才有效 文档注释可以被javadoc命令抽取出api文档格式 javado
  • 木马编程-手把手带你进入木马的世界之木马编程

    一 基础知识 1 1 木马病毒 木马 Trojan 这个名字来源于古希腊传说 荷马史诗中木马计的故事 Trojan一词的本意是特洛伊的 即代指特洛伊木马 也就是木马计的故事 木马会想尽一切办法隐藏自己 主要途径有 在任务栏中隐藏自己 这是最
  • 希尔排序

    目录 一 原理 二 示例代码 三 算法分析 希尔排序又称为缩小增量排序 是直接插入排序算法的一种更高效的改进版本 希尔排序是基于插入排序的以下两点性质而提出改进方法的 插入排序在对几乎已经排好序的数据操作时 效率高 即可以达到线性排序的效率
  • WebGL加载跨域纹理的解决方法

    本人一直对WebGL很有兴趣 也试着尝试用osgjs写了个DEMO 很成功的出现了效果 可是当自己用ASP net写了个服务端 想用自己写的服务器提供的数据来用做纹理 可是怎么也不出来 还报错 跟了下代码 发现是用作纹理的Image对象的问
  • 华为 5G、阿里检测病毒算法、腾讯 AI 一分钟诊断,国内抗疫科技大阅兵!

    作者 马超 责编 王晓曼 伍杏玲 出品 CSDN ID CSDNnews 近期以来 国际风云不断变换 而在2020年初疫情肆虐期间 也成为我国科技实力的 大检阅 近期人民网官微致敬我们中国科技企业的排头兵 可以说掌握硬核科技成了全民的共识
  • Metasploit(MSF)基础超级详细版

    MSF基础学习看这一篇就够了 Metasploit 常见名词解释 MSF简介 MSF框架结构 MSF配置数据库 内网主机发现 MSF命令查询 常用命令 数据库管理命令 核心命令 模块命令 进程命令 资源脚本命令 后台数据库命令 后端凭证命令
  • 假如“唐僧团队”裁员,你会先裁掉哪一位

    相信很多人看过水煮三国 大话西游 文中去西天取经的4人被影射成一个团队 其中 唐僧是TeamLeader 性格坚韧 目的明确 讲原则 懦弱没主意 孙悟空是团队中那个创意员工 业绩突出却个性极强 屡屡得罪人 猪八戒就好比那为人圆滑 偏偏干活时
  • 【ESP系列】AT指令案例

    前言 ESP系列芯片具有高性价比的联网功能 广受大家的认可 然而 在开发过程中 有时候我们想要使用ESP系列芯片的联网功能 却又不想为此编写繁杂的联网逻辑 串口交互逻辑等等 此时 我们可以运用AT指令来实现简洁的联网控制 本文将介绍这种基于