IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> ESP8266之间通信 -> 正文阅读

[网络协议]ESP8266之间通信

  • ESP8266共有3种模式:STA、AP、STA+AP
  • STA:ESP8266设备作客户端
  • AP:ESP8266设备作服务器
  • STA+AP:混合模式

服务器端ESP8266配置流程

1、配置AP模式

查询指令:

  • AT+CWMODE?

  • 功能:查询 ESP8266 当前 Wi-Fi 模

  • 响应:+CWMODE:<mode>

    ? OK

设置指令:

  • AT+CWMODE=<mode>
  • 功能:设置 ESP8266 当前 Wi-Fi 模 式。
  • 响应:OK

指令:

AT+CWMODE=2 //1:STA模式 2:AP模式 3:STA+AP模式

响应:

OK

2、复位

指令:

AT+RST

响应:

OK

.

.

ready //最后一行

3、配置AP系数

设置指令:

  • AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>[,][,<ssid hidden>]
  • 响应:OK 或 ERROR

参数说明:

<ssid>:字符串串参数接入点名称
<pwd>:字符串串参数密码?长度范围: 8 ~ 64 字节 ASCII
<ch>:通道号
<ecn>:加密?方式,不不?支持 WEP0:OPEN、2:WPA_PSK、 3: WPA2_PSK 、 4:WPA_WPA2_PSK
[<max conn>](选填参数):允许连?入 ESP8266 SoftAP 的最多 Station 数?目,取值范围 [1, 8]。
[<ssid hidden>](选填参数):默认为 0,开启 广播 ESP8266 SoftAP SSID。0:广播 SSID 1:不广播 SSID

指令:

AT+CWSAP=“hao”,“h123456.”,5,3

响应:

OK

4、设置多连接

查询指令说明:

  • AT+CIPMUX?
  • 响应:+CIPMUX:<mode>

设置指令说明:

  • AT+CIPMUX=<mode>

  • <mode>:

    ? 0:单连接模式

    ? 1:多连接模式

  • 响应:OK

指令:

AT+CIPMUX=1 //0:单连接模式、1:多连接模式

响应:

OK

5、建立TCP服务器

多连接情况下,才能开启 TCP 服务?,创建 TCP 服务?后,自动建立 TCP 服务?监听,当有TCP客户端接入,会自动占用一个连接ID

设置指令说明:

AT+CIPSERVER=<Mode>,<Port>

  • Mode:

    0:关闭服务器

    1:建立服务器

  • Port:端?口号,默认为 333

指令:

AT+CIPSERVER=1,8080

响应:

OK

6、查询IP地址

指令:

AT+CIFSR

响应:

+CIFSR:APIP,“192.168.4.1”
+CIFSR:APMAC,“86:cc:a8:a0:c0:1c”

OK

这个IP地址一会会用到

7、设置TCP服务器超时时间

查询指令说明:

  • AT+CIPSTO?
  • 功能:查询 TCP 服务器?超时时间

设置指令说明:

  • AT+CIPSTO=<time>
  • 功能:设置 TCP 服务?超时时间。
  • <time>: TCP 服务器超时时间,取值范围 0 ~ 7200s,默认永不超时
  • ESP8266 作为 TCP 服务器,会断开一直不通信直至超时了的 TCP 客户端连接

我一般选择默认

至此ESP8266服务器端配置完成

客户端端ESP8266配置流程

1、配置STA模式

查询指令:

  • AT+CWMODE?

  • 功能:查询 ESP8266 当前 Wi-Fi 模

  • 响应:+CWMODE:<mode>

    ? OK

设置指令:

  • AT+CWMODE=<mode>
  • 功能:设置 ESP8266 当前 Wi-Fi 模 式。
  • 响应:OK

指令:

AT+CWMODE=1 //1:STA模式 2:AP模式 3:STA+AP模式

响应:

OK

2、复位

指令:

AT+RST

响应:

OK

.

.

ready //最后一行

3、连接AP

查询指令:

  • AT+CWJAP?
  • 功能:查询 ESP8266 Station 已连接的 AP 信息
  • 响应:+CWJAP:<ssid>,<bssid>,<channel>,<rssi>
  • ? OK

设置指令:

  • AT+CWJAP=<ssid>,<pwd>[,<bssid>]
  • 功能:设置 ESP8266 Station 需连接的 AP。
  • 参数:<ssi>:?目标 AP 的 SSID
  • ? <pwd>:密码最?长 64 字节 ASCII
  • ? [<bssid>]:目标 AP 的 MAC 地址,一般用于有多 个 SSID 相同的 AP 的情况
  • 响应:OK

指令:

AT+CWJAP=“hao”,“h123456.”

响应:

WIFI CONNECTED
WIFI GOT IP

OK

此时在服务器端会响应如下内容:

+STA_CONNECTED:“84:cc:a8:a0:02:e6”
+DIST_STA_IP:“84:cc:a8:a0:02:e6”,“192.168.4.2”

4、查询IP地址

指令:

AT+CIFSR

响应:

+CIFSR:STAIP,“192.168.4.2”
+CIFSR:STAMAC,“84:cc:a8:a0:02:e6”

OK

响应的内容和上一步服务器端响应的IP相同

5、设置单连接

查询指令说明:

  • AT+CIPMUX?
  • 响应:+CIPMUX:<mode>

设置指令说明:

  • AT+CIPMUX=<mode>

  • <mode>:

    ? 0:单连接模式

    ? 1:多连接模式

  • 响应:OK

指令:

AT+CIPMUX=0 //0:单连接模式、1:多连接模式

响应:

OK

6、建?立 TCP 连接

设置指令:

  • AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>]
  • 参数说明:<type>:字符串串参数,连接类型, “TCP”,“UDP"或"SSL”
  • <remote IP>:字符串串参数,远端 IP 地址
  • <remote port>:远端端?口号
  • [<TCP keep alive>]: TCP keep-alive 侦测时间,默认关闭此功能
  • ? 0:关闭 TCP keep-alive 功能
  • 1~7200:侦测时间,单位为 1s
  • 响应:OK 或 ERROR
  • ? 如果连接已经存在,则返回 ALREADY CONNECTED

指令:

AT+CIPSTART=”TCP",“192.168.4.1”,8080 //IP为服务器的,端口也是

响应:

CONNECT

OK

此时在服务器端会响应如下内容:

0,CONNECT

7、设置传输模式

  • 查询指令:
  • AT+CIPMODE?
  • 功能:查询传输模式
  • 响应:+CIPMODE:<mode>
  • ? OK
  • 设置指令:
  • AT+CIPMODE=<mode>
  • 功能:设置传输模式
  • 响应:OK
  • 参数说明:
  • <mode>:
  • ? 0:普通传输模式
  • ? 1:透传模式,仅?支持 TCP 单连接和 UDP 固定通信对端的情况

指令:

AT+CIPMODE=1

响应:

OK

8、发送数据

在透传模式时,开始发送数据

指令:

AT+CIPSEND

响应:

OK

>

此时就可以客户端向服务器发送数据了

9、退出发送数据

当输入单独一包 +++ 时,返回普通 AT 指令模式

10、关闭 TCP传输

指令:

AT+CIPCLOSE

响应:

OK

以上过程就是两个ESP8266之间通信的配置流程

SAT、AP配置工程代码可以从我的GitHub里面下载:
传送门

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 17:07:55  更:2021-12-02 17:10:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/6 7:18:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码