遥控挖掘机之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.rhkb.cn/news/323489.html

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

相关文章

电脑硬盘故障,这5种情况要了解!

在数字化时代,电脑硬盘作为存储数据的重要设备,其稳定性和安全性直接关系到用户的数据安全和工作效率。然而,硬盘故障却是一个无法完全避免的问题。为什么会出现电脑硬盘故障?出现该问题时应该如何解决?一文带你弄懂答…

k8s部署最新版zookeeper集群(3.9.2),并配置prometheus监控

目录 zookeeper集群部署创建zookeeper文件夹namespace.yamlscripts-configmap.yamlserviceaccount.yamlstatefulset.yamlsvc-headless.yamlsvc.yamlmetrics-svc.yaml执行部署 接入prometheus访问prometheus查看接入情况导入zookeeper监控模版监控展示 zookeeper集群部署 复制粘…

Linux 操作系统TCP、UDP

1、TCP服务器编写流程 头文件&#xff1a; #include <sys/socket.h> 1.1 创建套接字 函数原型&#xff1a; int socket(int domain, int type, int protocol); 参数&#xff1a; domain: 网域 AF_INET &#xff1a; IPv4 AF_INET6 &a…

第十五届蓝桥杯省赛大学B组(c++)

很幸运拿了辽宁赛区的省一,进入6月1号的国赛啦... 这篇文章主要对第十五届省赛大学B组(C)进行一次完整的复盘,这次省赛2道填空题6道编程题: A.握手问题 把握手情景看成矩阵: 粉色部分是7个不能互相捂手的情况 由于每个人只能和其他人捂手, 所以黑色情况是不算的 1和2握手2和…

Vue+OpenLayers7入门到实战:OpenLayers解析通过fetch请求的GeoJson格式数据,并叠加要素文字标注,以行政区划边界为例

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章介绍如何使用OpenLayers7在地图上通过fetch请求geojson数据,然后通过OpenLayers解析为Feature要素叠加到图层上,并且通过动态设置标注方式显示要素属性为文字标注。 本章还是以行政区划边界为例,这个…

大模型LLM之SFT微调总结

一. SFT微调是什么 在大模型的加持下现有的语义理解系统的效果有一个质的飞跃&#xff1b;相对于之前的有监督的Pre-Train模型&#xff1b;大模型在某些特定的任务中碾压式的超过传统nlp效果&#xff1b;由于常见的大模型参数量巨大&#xff1b;在实际工作中很难直接对大模型训…

游戏陪玩平台app小程序H5源码交付游戏陪玩接单软件游戏陪玩源码 陪玩小程序陪玩工作室运营模式陪玩管理系统游戏陪玩工作室怎么做

提供陪玩平台源码&#xff0c;陪玩系统源码&#xff0c;陪玩app源码&#xff0c;团队各部门配备齐全&#xff0c;分工明确&#xff0c;及时对接开发进度&#xff0c;保证开发效率 一、陪玩平台源码的功能介绍 1、派单大厅:陪玩系统源码的派单大厅内支持用户通过语音连麦的方式…

Vue.js-----vue组件

能够说出vue生命周期能够掌握axios的使用能够了解$refs, $nextTick作用能够完成购物车案例 Vue 生命周期讲解 1.钩子函数 目标&#xff1a;Vue 框架内置函数&#xff0c;随着组件的生命周期阶段&#xff0c;自动执行 作用: 特定的时间点&#xff0c;执行特定的操作场景: 组…

硬性清空缓存的方法

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

Windows只能安装在GPT磁盘上

转换磁盘分区形式 步骤1. 先按照正常流程使用Windows系统安装光盘或系统U盘引导计算机。 步骤2. 在Windows安装程序中点击“开始安装”&#xff0c;然后按ShiftF10打开命令提示符。 步骤3. 依次输入以下命令&#xff0c;并在每一行命令后按一次Enter键执行。 步骤4. 等待转换…

C++ | Leetcode C++题解之第78题子集

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> t;vector<vector<int>> ans;void dfs(int cur, vector<int>& nums) {if (cur nums.size()) {ans.push_back(t);return;}t.push_back(nums[cur]);dfs(cur 1, nums);t.po…

自动驾驶学习2-毫米波雷达

1、简介 1.1 频段 毫米波波长短、频段宽,比较容易实现窄波束,雷达分辨率高,不易受干扰。波长介于1~10mm的电磁波,频率大致范围是30GHz~300GHz 毫米波雷达是测量被测物体相对距离、相对速度、方位的高精度传感器。 车载毫米波雷达主要有24GHz、60GHz、77GHz、79GHz四个频段。 …

深度学习基础之《TensorFlow框架(17)—卷积神经网络》

一、卷积神经网络介绍 1、背景 随着人工智能需求的提升&#xff0c;我们想要做复杂的图像识别&#xff0c;做自然语言处理&#xff0c;做语义分析翻译等等&#xff0c;多层神经网络的简单叠加显然力不从心 2、卷积神经网络与传统多层神经网络对比 &#xff08;1&#xff09;传…

实战 | 18行代码轻松实现人脸实时检测【附完整代码与源码详解】Opencv、人脸检测

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【图像识别】Swin Transformer

一、引言 论文&#xff1a; Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 作者&#xff1a; Microsoft Research Asia 代码&#xff1a; Swin Transformer 特点&#xff1a; 提出滑动窗口自注意力 (Shifted Window based Self-Attention) 解决Vi…

【3D基础】坐标转换——地理坐标投影到平面

汤国安版GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影&#xff08;Web Mercator Projection&#xff09;&#xff1a; 优点&#xff1a; 在 Web 地图中广泛使用&#xff0c;易于显示并与在线地图服务集成。在…

java.net.SocketInputStream.socketRead0 卡死导致 tomcat 线程池打满的问题

0 TL;DR; 问题与原因&#xff1a;某些特定条件下 java.net.SocketInputStream.socketRead0 方法会卡死&#xff0c;导致运行线程一直被占用导致泄露采用的方案&#xff1a;使用监控线程异步监控卡死事件&#xff0c;如果发生直接关闭网络连接释放链接以及对应的线程 1. 问题 …

Burp Suite 抓包,浏览器提示有软件正在阻止Firefox安全地连接到此网站

问题现象 有软件正在阻止Firefox安全地连接到此网站 解决办法 没有安装证书&#xff0c;在浏览器里面安装bp的证书就可以了 参考&#xff1a;教程合集 《H01-启动和激活Burp.docx》——第5步

WhisperCLI-本地部署语音识别系统;Mis开源LLM推理平台;Dokploy-开源版Vercel;Mem-大规模知识图谱

1. Whisper-cli&#xff1a;可本地部署的开源语音识别系统 近日&#xff0c;Ruff的开发团队发布了一款名为Whisper cpp cli的全新语音识别系统&#xff0c;该系统已在GitHub Repo上开源。这是一款完全自主研发的语音转文字系统&#xff0c;基于Whisper技术构建。Ruff团队一直以…

Istio基础知识

一、什么是Istio Istio 提供⼀种简单的⽅式来为已部署的服务建⽴⽹络&#xff0c;该⽹络具有 负载均衡、服务间认证、监控等功能&#xff0c;只需要对服务的代码进⾏⼀点或不需要做任何改动。想要让服务⽀持 Istio&#xff0c;只需要在您的环境中部署⼀个特殊的 sidecar 代 理&…