两个ESP8266相互通信

2023-11-04

  • 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>:加密⽅方式,不不⽀支持 WEP 0: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里面下载:
传送门

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两个ESP8266相互通信 的相关文章

  • 学习STM32正点原子好吗?

    今日话题 学习STM32正点原子好吗 正点原子的教程内容简单明了 代码也清晰直接 使初学者能够轻松理解其功能和使用方法 尤其对于需要快速完成大学作业等任务的大学生来说 可以直接借鉴并稍作修改 便可满足需求 正点原子提供的资料通俗易懂 适合用
  • 【一份老网工珍藏多年的网络配置笔记,很重要!】

    01 交换机 路由器的几种配置模式及模式转换 1 用户模式 登录到交换机 路由器 时会自动进入用户模式 提示符为 switchname gt 在该模式下只能够查看相关信息 对 IOS的运行不产生任何影响 2 特权模式 用户模式下 键入 en
  • 6类典型场景的无线AP选型和部署方案

    你们好 我的网工朋友 前段时间刚给你们来了篇解决无线频繁断网的技术文 解决无线频繁断网 这个办法值得收藏 不少朋友私聊 说想再聊聊无线AP的选型和部署方案 这不就安排上了 无线网络覆盖项目中 无线AP的合理选型和部署非常重要 在设计施工中
  • 这些专利知识你知道吗?

    专利作为一种重要的知识产权保护形式 专利不仅成为了企业核心竞争力的重要组成部分 也成为了国家创新发展的重要支撑 专利是指国家专利主管机关授予发明创造申请人的一种专有权 这种专有权具有独占性 排他性和法律强制性 能够为持有者带来经济利益和竞争
  • 太阳诱电树立超高端产品概念,与电子产业同步发展

    无论是传统的手机 家电 安防 汽车 医疗 交通 建筑的智能化转型 还是从物联网 工业4 0 智能硬件 互联网 一场基于大数据 互联网 应用软件等技术的硬件复兴热潮正在席卷全球 没有新东西出来 每家都一样 这一长期以来的争议一直困扰着CEAT
  • 太阳诱电 | 陶瓷电容器的静电容量相关

    陶瓷电容器的静电容量会因温度而变化吗 电容器的静电容量的温度特性是什么 陶瓷电容器的静电容量随周围的温度而变化 静电容量因温度而变化的现象 称为静电容量的温度特性 这是由于陶瓷电容器使用的材料造成的 也是所有陶瓷电容的常有现象 以下是本公司
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 嵌入式开发--STM32G4系列片上FLASH的读写

    这个玩意吧 说起来很简单 就是几行代码的事 但楞是折腾了我大半天时间才搞定 原因后面说 先看代码吧 读操作 读操作很简单 以32位方式读取的时候是这样的 data IO uint32 t 0x0800F000 需要注意的是 当以32位方式读
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • HPE Aruba Networking:五大网络现代化策略助力实现校园数字化转型

    作者 Aruba中国区技术销售总监 俞世丹 全球数字化进程日益加深 科技已成为加速教育行业发展的重要驱动力 人工智能 大数据 云计算 物联网 虚拟现实等新兴技术的快速发展 正在深刻改变着教育的形态和模式 为了更好地满足学校师生个性化教育教学
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 揭秘看不见人的“黑灯工厂”

    你知道吗 未来工厂不需要人也能24小时运转 未来机器能自己配合的天衣无缝 未来工厂连一点灰尘都进不去 未来自研的智能化设备甚至几秒就能生产出一部手机 千万不要惊讶 其实这样的工厂已经在我们的身边 很可能你在元旦买到的一件衣服 一部手机就是
  • Cortex-M3与M4权威指南

    处理器类型 所有的ARM Cortex M 处理器是32位的精简指令集处理器 它们有 32位寄存器 32位内部数据路径 32位总线接口 除了32位数据 Cortex M处理器也可以有效地处理器8位和16位数据以及支持许多涉及64位数据的操作
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板

随机推荐

  • Stream filter()过滤有效数据

    filter 是一个中间操作 可以与 reduce collect map 等一起使用 filter一般适用于list集合 主要作用就是模拟sql查询 从集合中查询想要的数据 java官方文档语法如下 filter Predicate pr
  • 迭代器失效问题

    1 什么是迭代器失效 迭代器失效是一种现象 由特定操作引发 这些特定操作对容器进行操作 使得迭代器不指向容器内的任何元素 或者使得迭代器指向的容器元素发生了改变 2 可能引起迭代器失效的操作 插入元素 扩容引起的迭代器指向的元素或者空间发生
  • python矩阵_Python矩阵

    python矩阵 In this tutorial we will learn about Python Matrix In our previous tutorial we learnt about Python JSON operati
  • 【python 学习 01】命名规范

    命名其实是一个非常重要的事 根据Python之父Guido推荐的命名规范包括如下几点 包名 模块名 局部变量名 函数名 全小写 下划线式驼峰 example this is var 全局变量 全大写 下划线式驼峰 example GLOBA
  • Zabbix---5 监控linux服务器目录大小

    例如监控 root data 目录 一 添加自己脚本 root localhost sbin pwd usr local sbin root localhost sbin cat dir size sh bin bash du m root
  • STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到 STM32F013有两个接收FIFO 但是实际的使用中如何让着两个FIFO都被使用呢 解决办法就在这里 1 STM32F103有0 13共14个过滤器组 每个过滤器组都可以绑定指定的FIFO 2 特别需要注意的一
  • K8s学习笔记二:Ubuntu安装minikube以及K8s简单体验

    Ubuntu安装minikube官方文档看这里 完成Docker十分钟了解Docker 我的Docker学习笔记 和kubectlUbuntu安装kubectl的下载安装后 就可以进行minikube的安装了 它能够帮助我们在本地非常容易的
  • 20145334 《信息安全系统设计基础》第8周学习总结

    转眼已经到了期中复习 听弟弟妹妹们说他们要期中考试了 我们大三上学期的课程也已经过半 考试试题 发现问题及时沟通 首先看一下每周检测解析 这个是比较重要的内容 也是复习和巩固所学知识点的好帮手 下面是老师给出的解析链接 https grou
  • 【mac 安全渗透测试】之SQL注入Demo

    一 关于sqlmap的介绍 1 SQLmap工具简介 SQLmap是一款开源的SQL注入漏洞检测 利用工具 可以检测动态页面中get post参数 cookie http头 它由Python语言开发而成 运行需要安装python环境 在ka
  • arm64架构的linux中断分析(零)

    文章目录 1 中断的概念和作用 2 Linux中断处理机制 2 1 中断请求 2 2 中断处理 2 3 中断完成 2 4 中断触发和处理步骤详解 2 4 1 异常向量表的解读 3 GICv3中断控制器 3 1 GICv3中断控制器设备树 3
  • 触摸屏tslib库交叉编译并移植ARM校准测试

    本文介绍 触摸屏tslib库交叉编译并移植ARM 校准及测试 下载tslib Tags libts tslib GitHub 在tslib的官方github上选择一个版本下载即可 本实验版本为 tslib 1 12 tar gz 1 配置
  • Chisel教程——04.Chisel中的控制流

    控制流 动机 本系列到目前为止 Chisel中的软硬件之间都有很强的对应关系 但引入控制流之后就不一样了 对软硬件的看法就应该有很大的分歧了 本节会在生成器软件和硬件中都引入控制流 如果重新连接到一个Chisel连线会怎么样呢 如何让一个多
  • normalize.css公共样式(vue)

    目录 一 npm安装 二 main ts或者main js引入 三 代码 1 main ts 2 main js 一 npm安装 npm i normalize css 二 main ts或者main js引入 import normali
  • Java在配置环境变量中的 . 是什么意思

    在CLASSPATH中 点号 表示当前目录 举例 CLASSPATH D JAVA LIB C DOC JavaT 这个路径就是包含多个可供选择的查询路径 它们之间用分号 分隔开 更具体的内容可以查阅 Java编程思想 第四版 P112 P
  • 【满分】【华为OD机试真题2023 JS】异常的打卡记录

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 异常的打卡记录 知识点数组字符串哈希表循环 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 考勤记录是分析和考核职工工作时间利用情况的原始依据 也是计算职工工资的
  • 树的遍历(一题直接理解中序、后序、层序遍历,以及树的存储)

    题目如下 一个二叉树 树中每个节点的权值互不相同 现在给出它的后序遍历和中序遍历 请你输出它的层序遍历 输入格式 第一行包含整数 N 表示二叉树的节点数 第二行包含 N 个整数 表示二叉树的后序遍历 第三行包含 N 个整数 表示二叉树的中序
  • idea 编译突然报, java: 需要‘;‘

    这个和文件没关系 就是编码编译的时候不对了 需要idea设置下就完美解决了
  • mingw编译出C++正则表达式失效

    代码 include
  • GC 垃圾回收机制

    这里写自定义目录标题 描述一下 GC 的原理和回收策略 Java 中有四种引用类型 GC 如何判断对象的存活 引用计数算法 可达性分析 新生代 新时代又分3个部分 8 1 1 老年代 回收算法 标记 清除 标记 整理 复制 堆内存分配策略
  • 两个ESP8266相互通信

    ESP8266共有3种模式 STA AP STA AP STA ESP8266设备作客户端 AP ESP8266设备作服务器 STA AP 混合模式 服务器端ESP8266配置流程 1 配置AP模式 查询指令 AT CWMODE 功能 查询