admin管理员组

文章数量:1616698

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

本文标签: 挖掘机心得