遥控挖掘机之ESP8266调试心得(1)

ESP8266调试心得

  • 1. 前言
  • 2.遇到的问题
    • 2.1 ESP8266模块建立TCP连接时候报错
    • 2.2 指令异常问题
  • 3. 更新ESP8266固件
  • 3. ESP8266的部分AT指令
  • 3. 连接步骤
    • 3.1 模块与电脑连接
      • 3.2.1 电脑上的设置
      • 3.2.2 ESP8266模块作为客户机(TCP Cilent)的设置步骤
    • 3.2 模块与模块连接
      • 3.2.1ESP8266模块作为服务器(TCP Server)的设置步骤
      • 3.2.2ESP8266模块作为客户机(TCP Cilent)的设置步骤
    • 3.3 模块与手机连接
      • 3.3.1.1 手机上的设置(网络调试精灵)
      • 3.2.2 ESP8266模块作为客户机(TCP Cilent)的设置步骤

1. 前言

  最近准备用ESP8266模块做一个遥控挖掘机玩,此次新开一个专题记录软件、硬件、结构开发中其中遇到的一些问题并做出如下分享。
  首先是ESP8266模块开发的资料:
    百度网盘链接:https://pan.baidu.com/s/1JKbNXF8-ttCKH8vXTcpYaw?pwd=WSSG
    提取码:WSSG

2.遇到的问题

2.1 ESP8266模块建立TCP连接时候报错

  当ESP8266模块作为客户机建立TCP链接时候可能会出现以下几种情况的报错:1、ERROR UNLINK;2、Link typ ERROR;3、ERROR 0,CLOSE。出现这些诉报错有以下几种解决方式:
  1、确认客户机IP与作为服务器设备的IP是否在同一网段,具体操作可以参考如下连接:
ESP8266 TCP ERROR CLOSED的部分解决办法汇总
  2、连接电脑时候出现报错可能是被防火墙拦截,以下有两种解决方式,对于新手比较推荐第二种。
第一种方式为设置入站规则:
Windows系统下防火墙开启下设置入站规则
第二种方式为关闭电脑防火墙:
ESP8266无法连接电脑网络调试助手
  3、该报错也有可能是固件问题导致,有些模块输入指令AT+CIPMUX=0,关闭多连接模式会引起建立TCP连接异常,本文将在第三章给出解决方案(给你的ESP8266安装新的固件)

2.2 指令异常问题

  由于现在市场上有许多家做的ESP8266,比如泽杰、安信可、正点原子等,这里面可能存在固件不统一的情况,本人在调试过程中遇到两个问题:
    1、建立TCP连接异常AT+CIPSTART=“TCP”,“xxx.xxx.xx.x”,xxxx
    2、打开透传功能异常AT+CIPSEND
  对于第一个问题可以将指令改为AT+CIPSTART=0,“TCP",“xxx.xxx.xx.x”,xxxx;第二个问题目前的解决办法只有更新固件,该方法将在第三章讲述

3. 更新ESP8266固件

  1、本次实验使用如下所示模块
在这里插入图片描述
  2、本次用到的固件如下
https://download.espressif.com/esp_at/firmware/ESP8266/ESP8266-IDF-AT_V2.2.1.0.zip
  3、打开flash下载工具开始下载固件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  4、ESP8266官方固件的下载口与调试口不是复用关系具体如下
在这里插入图片描述
  对应关系模块的D7,D8脚。
在这里插入图片描述

3. ESP8266的部分AT指令

基础指令 基础指令 基础指令

指令描述
AT测试AT启动
AT+RST重启模块
AT+GMR查看版本信息
AT+GSLP进入Deep-sleep模式
ATE关闭或开启回显功能
AT+RESTORE恢复出厂设置

T C P / I P 的 A T 指令 TCP/IP的AT指令 TCP/IPAT指令

指令描述
AT+CIPV6启用/禁用IPv6网络
AT+CWMODE选择 WIFI 应用模式
AT+CWJAP加入 AP
AT+CWLAP列出当前可用 AP
AT+CWQAP退出与 AP 的连接
AT+CWSAP设置 AP 模式下的参数
AT+CWLIF查看已接入设备的 IP
AT+CWDHCP设置 DHCP 开关
AT+CWAUTOCONN设置 STA 开机自动连接到 wifi
AT+CIPSTAMAC设置 STA 的 MAC 地址
AT+CIPAPMAC设置 AP 的 MAC 地址
AT+CIPSTA设置 STA 的 IP 地址
AT+CIPAP设置 AP 的 IP 地址
AT+CWSMARTSTART启动智能连接
AT+CWSMARTSTOP停止智能连接

指令描述
AT+ CIPSTATUS获得连接状态
AT+CIPSTART建立 TCP 连接或注册 UDP 端口号
AT+CIPSEND发送数据
AT+CIPCLOSE关闭 TCP 或 UDP
AT+CIFSR获取本地 IP 地址
AT+CIPMUX启动多连接
AT+CIPSERVER配置为服务器
AT+CIPMODE设置模块传输模式
AT+CIPSTO设置服务器超时时间
AT+CIUPDATE网络升级固件
AT+PING PING命令

3. 连接步骤

3.1 模块与电脑连接

3.2.1 电脑上的设置

在这里插入图片描述
此处打开之后软件会自动设置本地IP,之后在设置客户机的时候注意客户机IP的前三位要与本地IP一致说明连接成功(xxx.xxx.xx.x),并且要注意打开监听功能,不然建立TCP链接时候会失败

3.2.2 ESP8266模块作为客户机(TCP Cilent)的设置步骤

顺序指令描述
1AT测试AT启动
2AT+CWMODE=1设置ESP8266模块为Station模式(客户机)
3AT+RST重启模块
4(可跳过)AT+CWMODE?查询模块模式(验证是否模式已经变更)
5(可跳过)AT+CWLAP查询附近网络
6AT+CWJAP=“你的路由器wifi名称”,“你的路由器wifi密码”连接WIFI
7(可跳过)AT+CIFSR查询ESP模块8266的地址(验证是否连接上wifi)
普通模式透传模式普通模式
8AT+CIPMUX=1打开多连接模式
9AT+CIPSTART=“TCP”,“你电脑的地址”,电脑设置的端口号建立TCP链接
9’AT+CIPSTART=0,“TCP”,“你电脑的地址”,电脑设置的端口号有的模块AT指令不太一样多试试
10AT+CIPSEND=0,5可以发送5字节信息
透传模式透传模式透传模式
8AT+CIPMUX=0关闭多连接模式
9AT+CIPSTART=“TCP”,“你电脑的地址”,电脑设置的端口号建立TCP链接
9’AT+CIPSTART=0,“TCP”,“你电脑的地址”,电脑设置的端口号有的模块AT指令不太一样多试试
10AT+CIPMODE=1打开透传模式
11AT+CIPSEND开始透传发消息,只能客户机发服务器
12+++(不能有回车换行符)退出透传发消息,但是还在透传模式

3.2 模块与模块连接

3.2.1ESP8266模块作为服务器(TCP Server)的设置步骤

顺序指令描述
1AT测试AT启动
2AT+CWMODE=2设置ESP8266模块为AP模式(作为服务器)
3AT+RST重启模块
4AT+CWSAP=“ESP8266”,“123456789”,6,4设置作为服务器的名称和密码
5AT+CIPSERVER=1,8080设置自己的端口号
6AT+CIFSR查询自己的地址

3.2.2ESP8266模块作为客户机(TCP Cilent)的设置步骤

顺序指令描述
1AT测试AT启动
2AT+CWMODE=1设置ESP8266模块为Station模式(客户机)
3AT+RST重启模块
4(可跳过)AT+CWMODE?查询模块模式(验证是否模式已经变更)
5(可跳过)AT+CWLAP查询附近网络
6AT+CWJAP=“ESP8266”,“123456789”连接WIFI
7(可跳过)AT+CIFSR查询ESP模块8266的地址(验证是否连接上wifi)
普通模式透传模式普通模式
8AT+CIPMUX=1打开多连接模式
9AT+CIPSTART=“TCP”,“ESP01S”,“123456789”建立TCP链接
9’AT+CIPSTART=0,“TCP”,“ESP01S”,“123456789”有的模块AT指令不太一样多试试
10AT+CIPSEND=0,5可以发送5字节信息
透传模式透传模式透传模式
8AT+CIPMUX=0关闭多连接模式
9AT+CIPSTART=“TCP”,“ESP01S”,“123456789”建立TCP链接
9’AT+CIPSTART=0,“TCP”,“ESP01S”,“123456789”有的模块AT指令不太一样多试试
10AT+CIPMODE=1打开透传模式
11AT+CIPSEND开始透传发消息,只能客户机发服务器
12+++(不能有回车换行符)退出透传发消息,但是还在透传模式

3.3 模块与手机连接

3.3.1.1 手机上的设置(网络调试精灵)

1、打开TCP服务端
在这里插入图片描述
2、点“+”好设置手机的TCP服务
在这里插入图片描述
3、设置服务器名称(随意)、主机(前三位和你路由器一致)、端口号,保存设置
在这里插入图片描述
4、回到上一步可以看见已完成TCP服务器建立
在这里插入图片描述
5、此时点击进入开始侦听
在这里插入图片描述

3.2.2 ESP8266模块作为客户机(TCP Cilent)的设置步骤

顺序指令描述
1AT测试AT启动
2AT+CWMODE=1设置ESP8266模块为Station模式(客户机)
3AT+RST重启模块
4(可跳过)AT+CWMODE?查询模块模式(验证是否模式已经变更)
5(可跳过)AT+CWLAP查询附近网络
6AT+CWJAP=“你的路由器wifi名称”,“你的路由器wifi密码”连接WIFI
7(可跳过)AT+CIFSR查询ESP模块8266的地址(验证是否连接上wifi)
普通模式透传模式普通模式
8AT+CIPMUX=1打开多连接模式
9AT+CIPSTART=“TCP”,“手机的地址”,手机设置的端口号建立TCP链接
9’AT+CIPSTART=0,“TCP”,手机的地址",手机设置的端口号有的模块AT指令不太一样多试试
10AT+CIPSEND=0,5可以发送5字节信息
透传模式透传模式透传模式
8AT+CIPMUX=0关闭多连接模式
9AT+CIPSTART=“TCP”,“手机的地址”,手机设置的端口号建立TCP链接
9’AT+CIPSTART=0,“TCP”,“手机的地址”,手机设置的端口号有的模块AT指令不太一样多试试
10AT+CIPMODE=1打开透传模式
11AT+CIPSEND开始透传发消息,只能客户机发服务器
12+++(不能有回车换行符)退出透传发消息,但是还在透传模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从开发角度理解漏洞成因(02)

文章目录 文件上传类需求文件上传漏洞 文件下载类需求文件下载漏洞 扩展 留言板类(XSS漏洞)需求XSS漏洞 登录类需求cookie伪造漏洞万能密码登录 持续更新中… 文章中代码资源已上传资源,如需要打包好的请点击PHP开发漏洞环境(SQL注…

贝塞尔曲线 java

参考文章: 理解贝塞尔曲线https://blog.csdn.net/weixin_42301220/article/details/125167672 代码实现参考 https://blog.csdn.net/yinhun2012/article/details/118653732 贝塞尔 一二三阶java代码实现,N阶段可以通过降阶递归实现 public class Test extends JPan…

java选择结构语句

文章目录 Java选择结构语句的几种形式1. **if 单选择结构**:2. **if-else 双选择结构**:3. **if-else if 多选择结构**:4. **switch 选择结构**: Java 12及更高版本的Switch Expressions返回值的Switch表达式yield关键字使用Switch作为语句或表达式 Pattern Matching for insta…

Final Draft 12 for Mac:高效专业剧本创作软件

对于剧本创作者来说,一款高效、专业的写作工具是不可或缺的。Final Draft 12 for Mac就是这样一款完美的选择。这款专为Mac用户设计的剧本创作软件,凭借其卓越的性能和丰富的功能,让您的剧本创作更加得心应手。 Final Draft 12支持多种剧本格…

【C++】CentOS环境搭建-编译安装Boost库(附CMAKE编译文件)

【C】环境搭建-编译安装Boost库 Boost库简介Boost库安装通过YUM安装(版本较低 V1.53.0)通过编译安装(官网最新版本1.85.0)1.安装相关依赖2.查询官网下载最新安装包并解压3.编译Boost4.安装Boost库到系统路径 Boost库验证 Boost库简…

(22.12.20)matlab2022+yalmip+cplex安装教程,win11 x64

前言 Hi,你好!最近刚刚更换新的电脑设备,安装软件时尽量选择最新版本,但也遇到了大大小小的安装问题,这里把踩到的坑一并总结出来,给出一份还算合理的MATLAByalmipCPLEX安装教程(win11)。 MAT…

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析4

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

OBS插件--视频回放

视频回放 视频回放是一款源插件,它可以将指定源的视频缓存一段时间(时间可以设定),将缓存中的视频添加到当前场景中后,可以快速或慢速不限次数的回放。这个功能在类似体育比赛的直播中非常有用,可以捕获指…

【快讯】山东省第四批软件产业高质量发展重点项目开始申报

为加快落实《山东省高端软件“铸魂”工程实施方案(2023-2025)》,提高软件产业规模能级,提升关键软件技术创新和供给能力,塑强数字经济发展核心竞争力,确定开展第四批软件产业高质量发展重点项目申报工作&am…

CTF-Web Exploitation(持续更新)

CTF-Web Exploitation 1. GET aHEAD Find the flag being held on this server to get ahead of the competition Hints Check out tools like Burpsuite to modify your requests and look at the responses 根据提示使用不同的请求方式得到response可能会得到结果 使用…

如何通过汽车制造供应商协同平台,提高供应链的效率与稳定性?

汽车制造供应商协同是指在汽车制造过程中,整车制造商与其零部件供应商之间建立的一种紧密合作的关系。这种协同关系旨在优化整个供应链的效率,降低成本,提高产品质量,加快创新速度,并最终提升整个汽车产业的竞争力。以…

面试笔记——JVM组成

基本介绍 JVM: Java Virtual Machine Java程序的运行环境(java二进制字节码的运行环境) 使用JVM的好处: 一次编写,到处运行自动内存管理,垃圾回收机制 JVM的组成及运行流程: 程序计数器 程序计数器&a…

Zabbix5.0——安装与部署

目录 一、zabbix-server(192.168.206.134) 监控方 1. 环境准备 2.安装zabbix 2.1 准备zabbix-repo 2.2清理缓存 2.3安装zabbix主包(服务器和代理) 2.4安装zabbix前端包 3. 数据库安装 3.1 授权zabbix账号 3.2导入数据库(初始化zabbix&#x…

人工智能驱动的设计工具的兴起:彻底改变创意产业

人工智能驱动的设计工具的兴起:彻底改变创意产业 概述 人工智能 (AI) 正在改变创意产业,设计也不例外。人工智能驱动的设计工具正在彻底改变设计师的工作方式,提供无与伦比的效率、创造力和创新水平。从生成图像和设计到自动化日常任务&…

基于Opencv的车牌识别系统(毕业设计可用)

系统架构 图像采集:首先,通过摄像头等设备捕捉车辆图像。图像质量直接影响后续处理的准确性,因此高质量的图像采集是基础。 预处理:对获取的原始图像进行预处理,包括灰度化、降噪、对比度增强和边缘检测等。这些操作旨…

RS3236-3.3YF5 封装SOT-23-5 线性稳压器 带过温保护

RS3236-3.3YF5 是一款由Runic(润石)公司生产的线性稳压器(LDO),以下是该器件的一些功能和参数介绍: 品牌: Runic 产品类型: 线性稳压器 (LDO) 输入电压范围: 最大 7.5V 输出电压: 固定 3.3V 输出电流: 最大…

基于FPGA的去雾算法

去雾算法的原理是基于图像去模糊的原理,通过对图像中的散射光进行估计和去除来消除图像中的雾霾效果。 去雾算法通常分为以下几个步骤: 1. 导引滤波:首先使用导引滤波器对图像进行滤波,目的是估计图像中散射光的强度。导引滤波器…

介绍适用于 Node.js 的 Elastic OpenTelemetry 发行版

作者:来自 Elastic Trent Mick 我们很高兴地宣布推出 Elastic OpenTelemetry Distribution for Node.js 的 alpha 版本。 该发行版是 OpenTelemetry Node.js SDK 的轻量级包装,可以让你更轻松地开始使用 OpenTelemetry 来观察 Node.js 应用程序。 背景 …

QT与Electron之争:谁能提供更好的用户体验?有一点QT完胜.

QT和Electron到底谁好,争论不休,各有各的道理,贝格前端工场总结了各方观点,做一个梳理。 在比较QT和Electron时,需要考虑到它们各自的特点和适用场景。 QT是一个C的跨平台应用程序开发框架, 而Electron是基…

2024第九届数维杯数学建模论文模板(内附LaTeX+Word)

一年一度的2024年第九届数维杯国赛报名进行中!相信很多同学们已经摩拳擦掌蓄势待发了! 经历三天比赛,最后提交的论文就是最终答卷,那么一篇数模论文,包括哪些内容呢? 一篇完整的数模论文,包括…