遥控挖掘机之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+++(不能有回车换行符)退出透传发消息,但是还在透传模式

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python深度学习基于Tensorflow(3)Tensorflow 构建模型

文章目录 数据导入和数据可视化数据集制作以及预处理模型结构低阶 API 构建模型中阶 API 构建模型高阶 API 构建模型保存和导入模型 这里以实际项目CIFAR-10为例,分别使用低阶,中阶,高阶 API 搭建模型。 这里以CIFAR-10为数据集,C…

SparkStructuredStreaming状态编程

spark官网关于spark有状态编程介绍比较少,本文是一篇个人理解关于spark状态编程。 官网关于状态编程代码例子: spark/examples/src/main/scala/org/apache/spark/examples/sql/streaming/StructuredComplexSessionization.scala at v3.5.0 apache/spark (github…

智能评估时代:SurveyKing开源问卷系统YYDS

最近有同事在设计问卷系统,我碰巧在 GitHub 上发现了一个开源的问卷/考试系统,觉得它非常不错,给他推荐了下。今天我打算和家人们分享一下这个发现。 项目介绍 官方网站:https://surveyking.cn/ github地址:https://…

springboot整合websocket,超简单入门

springBoot整合webSocket,超简单入门 webSocket简洁 WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。…

数据库(MySQL)基础:约束

一、概述 1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2.目的:保证数据库中数据的正确、有效性和完整性。 3.分类 约束描述关键字非空约束限制该字段的数据不能为nullnot null唯一约束保证该字段的所有数据都是唯一…

QX---mini51单片机学习---(6)独立键盘

目录 1键盘简绍 2按键的工作原理 3键盘类型 4独立键盘与矩阵键盘的特点 5本节相关原理图 6按键特性 7实践 1键盘简绍 2按键的工作原理 内部使用轻触按键,常态按下按键触点才闭合 3键盘类型 编码键盘与非编码键盘 4独立键盘与矩阵键盘的特点 5本节相关原理…

硬性清空缓存的方法

前端发布代码后,我们是需要刷新页面再验证的。有时候仅仅f5 或者ctrlshiftdelete快捷键仍然有历史缓存,这时可以通过下面的方法硬性清空缓存。 以谷歌浏览器为例,打开f12,右键点击刷新按钮,选择【清空缓存并硬性加载】…

计算机网络5——运输层2TCP原理

文章目录 一、传输控制协议 TCP 概述1、TCP最主要的特点2、TCP的连接 二、可靠传输的工作原理1、停止等待协议1)无差错情况2)出现差错3)确认丢失和确认迟到4)信道利用率 2、连续 ARQ协议 三、TCP 报文段的首部格式 一、传输控制协…

代码审计-PHP模型开发篇动态调试反序列化变量覆盖TP框架原生POP链

知识点 1、PHP审计-动态调试-变量覆盖 2、PHP审计-动态调试-原生反序列化 3、PHP审计-动态调试-框架反序列化PHP常见漏洞关键字 SQL注入: select insert update delete mysql_query mysqli等 文件上传: $_FILES,type"file"&…

Kafka 执行命令超时异常: Timed out waiting for a node assignment

Kafka 执行命令超时异常: Timed out waiting for a node assignment 问题描述: 搭建了一个kafka集群环境,在使用命令行查看已有topic时,报错如下: [rootlocalhost bin]# kafka-topics.sh --list --bootstrap-server…

Vue自定义封装音频播放组件(带拖拽进度条)

Vue自定义封装音频播放组件(带拖拽进度条) 描述 该款自定义组件可作为音频、视频播放的进度条,用于控制音频、视频的播放进度、暂停开始、拖拽进度条拓展性极高。 实现效果 具体效果可以根据自定义内容进行位置调整 项目需求 有播放暂停…

51单片机软件环境安装

keli5的安装 把CID放到破解程序中 破解程序会给一串数字然后填到那个框中 驱动程序的安装 安装完了以后 设备管理器会出现这个 同时c盘会出现这个文件夹

巨量千川的投放技巧,一站式全自动千川投流工具(抖音玩家必备)

随着抖音平台的快速发展,越来越多的品牌和广告商意识到抖音的潜力,并希望能够通过投放广告来获取更多的曝光和用户参与。在这个过程中,巨量千川成为了抖音玩家必备的一站式全自动千川投流工具,为广告商提供了投放技巧,…

word-快速入门

1、熟悉word界面 2、word排版习惯 3、排版文本基本格式 1、word界面 选项卡 功能组 点击功能组右下角小三角可以开启完整功能组,获得启动器 软件右上角有功能显示折叠按钮 2、排版好习惯 (1)随时保存 (2)规范文件命…

408算法题专项-2015

题目: 分析:时间复杂度尽可能高效,提示可能存在一种空间换时间的算法 思路一:空间换时间 思考:开数组储存结点数据域,对于只出现一次或多次出现第一次的,保留,对于多次出现的&…

流程详解!2024年成都市发明专利申请流程及各阶段操作要点

一、受理阶段 时间期限: 电子申请2天内,纸质申请当天现场提交,邮寄约为半月。 申请人: 1. 委托专利代理机构,签订委托代理协议和保密协议等; 2. 提供原始技术资料和个人以及单位信息等; 3…

片冰机工作原理

片冰机工作原理 1、制冰用的水需要加盐(行话叫做加药)至于多少量。看制冰量多少调制泵(柱塞泵)自动调整。 2、制冰机主体分两腔体外腔体内盘的一定密度的铜管。专业术语叫(蒸发腔)就是俗话讲的制冷的东西。 3、外腔体内是一个很规则的圆不锈钢腔体,中心有一三叶刮…

基于Django图像识别系统毕业设计(付源码)

前言:Django是一个由Python编写的具有完整架站能力的开源Web框架,Django本身基于MVC模型,即Model(模型)View(视图) Controller(控制器)设计模式,因此天然具有…

零售数据分析之连带销售分析怎么做

连带销售是指顾客在购买某款产品后,通常会顺手也买上另一款产品。这种情况在超市零售中屡见不鲜,因此通常来说在做超市零售数据分析时,都需要做一个详尽的连带销售分析。那么做零售数据分析中的连带销售分析,要计算分析哪些指标&a…

MBR与GPT分区表

文章目录 MBR分区表MBR分区表结构MBR分区表项查看U盘的分区表信息查看系统中所有磁盘的分区类型获取分区表信息 GPT分区表保护性MBRGPT分区表头格式GPT分区表项格式分区类型分区属性分区表项内容 MBR分区表 CHS :磁头(Heads)、柱面(Cylinder…