《ESP8266通信指南》4-以Client进行TCP通信(AT指令)


往期

《ESP8266通信指南》3-常用AT指令详解-8266连WIFI-CSDN博客

《ESP8266通信指南》2-ESP8266 AT测试-CSDN博客

《ESP8266通信指南》1-ESP8266 简介-CSDN博客

1. 小节目标

通过 AT 指令使用 8266 进行 TCP 通信

2. 书接上回

复习以下,上一小节我们讲到了 8266 连接 WIFI,还记得指令吗?复习一下

现使用电脑开启一个移动热点

我的 WIFI 账号密码:

账号:ct-iot

密码:111222333

AT+CWJAP="ct-iot","111222333"

记得改成你自己的移动热点,才能连接哈,像下图一样,就连上去

3. TCP 连接介绍

在连接 TCP 之前,我们需要简单的介绍一下 TCP 的通信方式。

8266 进行 TCP 通信可以有两种,一种是作为 TCP Server 服务器,一种是作为 TCP Client(客户端),在本小节我们先介绍作为 TCP Client 的形式进行通信。

那么我们就需要在电脑上开启一个 TCP 服务器,可以使用以下软件

📎TCP调试组手.zip

4. 开启 TCP 服务器

工作模式选择 TCP 服务器,本地端口任意,建议 8010 或者其他符合格式的端口,然后点击打开就可以了

如下图,看到 TCP 监听端口 8010 成功就可以了,这个时候我们需要测试一下是否则正常,我们再打开一个(TCP服务器不要关)

选择工作模式为客户端,然后将 TCP 服务器的 IP 填写进去(在服务器的左下角)

TCP 服务器 IP 位置:

连接上去之后可以发现,服务器那边输出了一行字,就是以下这个

那么就说明,TCP 客户端和服务器都正常运行

5. 使用 ESP8266 作为 TCP 客户端连接 TCP 服务器

ESP8266 的 TCP 连接 AT 指令如下

AT+CIPSTART="TCP","192.168.101.110",1000
  • TCP :指明使用 TCP 连接
  • 192.168.101.110:TCP Server IP 地址
  • 1000:TCP Server Port 端口

更改为我们自己的就是

AT+CIPSTART="TCP","192.168.137.1",8010

5.1. TCP 服务器发到 ESP8266

接着使用 TCP 服务器发送数据“213”,可以看到,串口那边接收到了数据 “213”,至此,ESP8266 可以接收到 TCP 服务器发来的发来的数据了

5.2. ESP8266 TCP Client 上报数据

  1. 设置数据要发送的长度
AT+CIPSENDEX=<length>
  1. 发送数据

比如我们要发送 123,那么就先发送

AT+CIPSENDEX=3

然后再发送 123

  • 我们就可以看到,这里出现了 123,(两个是因为我刚刚发送了两次,所以才有两个 123)

6. 小结


到此,我们已经可以使用 ESP8266 发送数据到电脑上了,这个时候如果你用后端语言写一个 TCP 服务器,或者你用 C/C++写一个 TCP 服务器,就可以接收数据然后做处理了,也可以写几个简单的按钮,往 ESP8266 发送数据。

当然 ESP8266 的 TCP Client 数据上发还有一个透传的功能,有能力的同学自己可以学一学哈!!

7. 结语


在本小节中,我们介绍了 ESP8266 如何使用 AT 指令作为 TCP 客户端连接到 TCP 服务器,接着教大家如何使用 TCP 服务器往 ESP8266 发消息,使用 ESP8266 TCP Client 往 TCP 服务器发消息。



柴头物联网出品

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

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

相关文章

hyperf 三十一 极简DB组件

一 安装及配置 composer require hyperf/db php bin/hyperf.php vendor:publish hyperf/db 默认配置 config/autoload/db.php 如下&#xff0c;数据库支持多库配置&#xff0c;默认为 default。 配置项类型默认值备注driverstring无数据库引擎 支持 pdo 和 mysqlhoststringl…

如何搭建邮箱服务器?mail系统架设的两种方法

邮件mail通信是常用的办公场景&#xff0c;对于技术和网管等人员&#xff0c;往往需要搭建自己的邮箱服务器。那么&#xff0c;如何架设邮箱系统呢&#xff1f;通常有两种方案&#xff0c;一种是在在本地主机部署&#xff0c;另一种是在云端如云服务器上部署应用。根据主机IP情…

立即刷新导致请求的response没有来得及加载造成的this request has no response data available

1、前端递归调用后端接口 const startProgress () > {timer.value setInterval(() > {if (progress.value < 100) {time.value--;progress.value Math.ceil(100 / wait_time.value);} else {clearInterval(timer.value);progress.value 0;timer.value null;time.…

40. UE5 RPG给火球术增加特效和音效

前面&#xff0c;我们将火球的转向和人物的转向问题解决了&#xff0c;火球术可以按照我们的想法朝向目标发射。现在&#xff0c;我们解决接下来的问题&#xff0c;在角色释放火球术时&#xff0c;会产生释放音效&#xff0c;火球也会产生对应的音效&#xff0c;在火球击中目标…

【深度学习】DDoS-Detection-Challenge aitrans2024 入侵检测,基于机器学习(深度学习)判断网络入侵

当了次教练&#xff0c;做了个比赛的Stage1&#xff0c;https://github.com/AItransCompetition/DDoS-Detection-Challenge&#xff0c;得了100分。 一些记录&#xff1a; 1、提交的flowid不能重复&#xff0c;提交的是非入侵的数量和数据flowid,看check.cpp可知。 2、Stage…

大数据入门——概念、工具等

目录 一、基本概念 1.大数据技术 2.大数据特点 3.常见概念 4.数据分析师、数据开发工程师 二、相关工具 三、应用场景 四、大数据业务流程及组织结构 一、基本概念 1.大数据技术 主要解决海量数据的采集、存储和分析计算问题 2.大数据特点 大量、高速、多样、价值、…

【六十】【算法分析与设计】用一道题目解决dfs深度优先遍历,dfs中节点信息,dfs递归函数模板进入前维护出去前回溯,唯一解的剪枝飞升返回值true

路径之谜 题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是nn个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着音走,也不能跳跃。每走到一个新方格,就要向正北 方和正西…

ESP32开发

目录 1、简介 1.1 种类 1.2 特点 1.3 管脚功能 1.4 接线方式 1.5 工作模式 2、基础AT指令介绍 2.1 AT指令类型 2.2 基础指令及其描述 2.3 使用AT指令需要注意的事 3、AT指令分类和提示信息 3.1 选择是否保存到Flash的区别 3.2 提示信息 3.3 其他会保存到Flash的A…

基础SQL DQL语句

基础查询 select * from 表名; 查询所有字段 create table emp(id int comment 编号,workno varchar(10) comment 工号,name varchar(10) comment 姓名,gender char(1) comment 性别,age tinyint unsigned comment 年龄,idcard char(18) comment 身份证号,worka…

排序算法:顺序查找

简介 顺序查找&#xff08;也称为线性查找&#xff09;是一种简单直观的搜索算法。按照顺序逐个比较列表或数组中的元素&#xff0c;直到找到目标元素或搜索完整个列表。 应用场景 数据集比较小&#xff0c;无需使用复杂的算法。数据集没有排序&#xff0c;不能使用二分查找…

书生·浦语大模型实战营(第二期):OpenCompass司南大模型评测实战

目录 大语言模型评测中的挑战如何评测大模型模型客观题&主观题提示词工程长文本评测OpenCompass评测流水线CompassHub&#xff1a;高质量评测基准社区 OpenCompass介绍作业&#xff1a;使用OpenCompass评测internlm2-chat-1_8b模型在C-Eval数据集上的性能准备阶段环境配置数…

html--canvas粒子球

<!doctype html> <html> <head> <meta charset"utf-8"> <title>canvas粒子球</title><link type"text/css" href"css/style.css" rel"stylesheet" /></head> <body><script…

element plus:tree拖动节点交换位置和改变层级

图层list里有各种组件&#xff0c;用element plus的tree来渲染&#xff0c;可以把图片等组件到面板里&#xff0c;面板是容器&#xff0c;非容器组件&#xff0c;比如图片、文本等&#xff0c;就不能让其他组件拖进来。 主要在于allow-drop属性的回调函数编写&#xff0c;要理清…

ElasticSearch笔记一

随着这个业务的发展&#xff0c;我们的数据量越来越庞大。那么传统的这种mysql的数据库就渐渐的难以满足我们复杂的业务需求了。 所以在微服务架构下一般都会用到一种分布式搜索的技术。那么今天呢我们就会带着大家去学习分布搜索当中最流行的一种ElasticSearch&#xff0c;Ela…

基于harris角点和RANSAC算法的图像拼接matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ....................................................................... I1_harris fu…

【洛谷 P8605】[蓝桥杯 2013 国 AC] 网络寻路 题解(图论+无向图+组合数学)

[蓝桥杯 2013 国 AC] 网络寻路 题目描述 X X X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包&#xff0c;为了安全起见&#xff0c;必须恰好被转发两次到达目的地。该包可能在任意一个节点产生&#xff0c;我们需要知道该网络中一共有多少种…

python基础知识三(运算符、while循环、for循环)

目录 运算符&#xff1a; 算术运算符&#xff1a; 比较运算符&#xff1a; 赋值运算符&#xff1a; 逻辑运算符&#xff1a; 位运算符&#xff1a; 成员运算符&#xff1a; while循环&#xff1a; 1. while循环的语法&#xff1a; 2. while循环的执行过程&#xff1a…

232 基于matlab的MIMO雷达模型下一种子空间谱估计方法

基于matlab的MIMO雷达模型下一种子空间谱估计方法&#xff0c;采用过估计的方法&#xff0c;避免了信源数估计的问题&#xff0c;对数据协方差矩阵进行变换&#xff0c;构造信号子空间投影矩阵和噪声子空间投影矩阵&#xff0c;不需要像经典的MUSIC一样对其进行特征分解&#x…

【笔试强训】数字统计|两个数组的交集|点击消除

一、数字统计 链接&#xff1a;[NOIP2010]数字统计_牛客题霸_牛客网 (nowcoder.com) 思路&#xff1a; 枚举数字拆分&#xff08;模10 除10&#xff09; &#x1f4a1; 当前数据范围为10^4可以用int类型解决&#xff0c;如果到了10^9就需要用long类型 代码实现&#xff1a; i…

实验七 智能手机互联网程序设计(微信程序方向)实验报告

请编写一个用户登录界面&#xff0c;提示输入账号和密码进行登录&#xff0c;要求在输入后登陆框显示为绿色&#xff1b; 二、实验步骤与结果&#xff08;给出对应的代码或运行结果截图&#xff09; index.wxml <view class"content"> <view class"a…