当前位置: 首页 > news >正文

ESP32建立TCP连接

ESP32建立TCP连接

1.搭建ESP-IDF开发环境

搭建开发环境直接从官网下载即可。

https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1.1/esp32s3/index.html

https://dl.espressif.com/dl/esp-idf/?idf=4.4

使用官方的下载器下载好,就可以自动安装,同时也可以使用vscode进行代码的编辑。

2.利用官方例程

安装好ESP-IDF之后,这个路径下就会有官方的关于tcp的例子

Espressif\frameworks\esp-idf-v5.1.1\examples\protocols\sockets

把其中的tcp_client文件夹整体复制出来即可利用ESP-IDF进行编译

打开官方的命令行工具,进入到代码所在的目录,习惯使用vsc进行代码的编辑,使用官方的命令行工具进行编译等。

首先设置编译的目标芯片

idf.py set-target esp32c6

image

idf.py menuconfig

进入配置界面,设置连接WiFi的名字,tcp服务器的IP和端口

image

image

esc退出并保存

idf.py all

对工程进行编译

image

idf.py -p COM6 flash

连接好板子进行下载,确定板子串口号,要改成对应的串口。

idf.py -p COM6 monitor

打开串口显示终端,观察程序的运行输出。

esp-idf底层是默认运行freertos的,因此想要更好的利用esp32编程,需要懂freertos。

回归到tcp通信,首先第一步是要联网,可以把官方的WiFi联网的例子拿过来用,直接把代码拿过来自己改改就行

联网完毕之后进入tcp的过程,首先是建立socket连接,然后通过这个socket进行数据的收发,例如可以把数据的收发设计成两个任务分别执行,这样就可以实现收发互相不影响。

注意自己在添加c文件时,要在main.c文件的同级目录的cmakelist文件中添加自己的文件到工程。

​​image​​

相关文章:

ESP32建立TCP连接

ESP32建立TCP连接 1.搭建ESP-IDF开发环境 搭建开发环境直接从官网下载即可。 https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1.1/esp32s3/index.html https://dl.espressif.com/dl/esp-idf/?idf4.4 使用官方的下载器下载好,就可以自动安装&#xff0…...

普华永道成功举办《国有基金高质量发展提效创效服务》主题分享活动,助力国有基金提效创效

上海,2023年11月10日 —今天普华永道在上海中国国际进口博览会(以下简称“进博会”)现场举办《为“国”出力,“普”实有“华”—— 普华永道国有基金高质量发展提效创效服务》主题分享活动,就国有基金监督、管理、投资…...

黑洞路由的几种应用场景

第一种在内网中产生环路: 这种核心交换机上肯定写一条默认路由 0.0.0.0 0 10.0.0.1 出口路由要写一条192.168.0.0 16 10.0.0.2 如果出口路由访问一条不存在的内网网段,又或者访问的那台终端停机了,那就会产生三层环路,数据包在…...

数据分析:智能企业七步曲(一)

原创: MicroStrategy微策略中国 作者:数据杰论 时间走到2018年最后一个季度,过去几年热炒的大数据概念正在各行各业开始落地并展开实际应用,核心是关注数据如何能为企业带来价值。因此,数据分析及其种种实现手段不断被…...

Django ModelSerializer 实现自定义验证详解

随着 Web 开发的日益复杂化,对数据验证的需求也日益增加。Django REST framework 提供了一套强大的、灵活的验证系统,帮助开发者轻松处理各种复杂情况。本文将重点探讨 Django ModelSerializer 中如何实现自定义验证。 1. 简介 Django ModelSerializer…...

在ubuntu sudo apt-get update 更新报错

sudo apt-get update 更新报错 解决办法: 用你自己的key 根据上图自己找 sudo gpg --keyserver keyserver.ubuntu.com --recv-keys **********运行完成有一个ok 见下图 运行命令,中间的还是上面的key复制下来即可 sudo gpg --export --armor **********…...

Linux——手把手教你解决sudo指令无法使用的问题

解决sudo指令无法使用的问题 1. 为什么不能使用 sudo指令能够使某一条指令拥有root权限,即以root权限去执行 例如: sudo ls -l //就是以root权限查看当前目录里的内容但是,如果是新创建的普通账户,一般来说一开始是不能执行s…...

【云原生】使用nginx反向代理后台多服务器

背景 随着业务发展, 用户访问量激增,单台服务器已经无法满足现有的访问压力,研究后需要将后台服务从原来的单台升级为多台服务器,那么原来的访问方式无法满足,所以引入nginx来代理多台服务器,统一请求入口…...

Linux awk命令

除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。 曾有人推测 awk 命令的名字来源于 awkward 这个单词。其实不然,此命令的设计者有 3 位,他们的姓分别是 Aho、Weingberger 和 Kernighan&#x…...

南大通用数据库-Gbase-8a-学习-42-定位与释放锁

目录 一、测试版本 二、模拟锁表场景 1、查看自动提交参数 2、关闭自动提交 3、测试表结构 4、测试数据 5、会话一更新数据不提交 6、会话二更新数据卡住 7、会话三查看连接信息 8、会话三查看锁信息 9、解决方法 10、会话一插入数据不提交 11、会话二更新报错 三…...

css绘制常见的一些图形

以下是在CSS中绘制常见图形的示例代码: 线条: .line {width: 100px;height: 1px;background-color: black; }箭头: .arrow {width: 0;height: 0;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right:…...

【网络协议】

网络协议 1 网络通讯1.1 防火墙1.2 子网掩码1.3 网关1.4 2 SSH2.1 SSH2.2 SSH12.3 SSH2 3 Telnet4 Telnet/SSL5 NFS6 TFTP7 FTP8 SFTP9 HTTP10 HTTPS11 NAT12 加密 1 网络通讯 1.1 防火墙 所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法&…...

如何在JVS低代码表单配置中实现数据的高效管理?

在数字化时代,表单已经成为企业、机构和个人收集、整理、分析数据的重要工具。然而,随着数据复杂性的增长,传统的单一表单往往难以满足需求。JVS低代码表单引擎中子表格允许在主表单中嵌套另一个子表数据,使得数据的收集和组织更加…...

【Python大数据笔记_day04_Hadoop】

分布式和集群 分布式:多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务) 集群:多台服务器联合起来独立做相同的任务(多个服务器分担客户发来的请求) 注意:集群如果客户端请求量(任务量)多,多个服务器同时处理不同请求(不同任务),如果请求量…...

Android超简单的显示网络图片方法

Android显示网络图片的方法如下&#xff1a; 1、首先&#xff0c;需要在AndroidManifest.xml文件中添加网络权限&#xff1a; <uses-permission android:name"android.permission.INTERNET" /> 2、在布局文件中添加ImageView控件&#xff1a; <ImageVie…...

基于自然语言处理的结构化数据库问答机器人系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 知识库&#xff0c;就是人们总结出的一些历史知识的集合&#xff0c;存储、索引以后&#xff0c;可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具&#xff0c;使用…...

JVM Native内存泄露的排查分析(64M 问题)

我们有一个线上的项目&#xff0c;刚启动完就占用了使用 top 命令查看 RES 占用了超过 1.5G&#xff0c;这明显不合理&#xff0c;于是进行了一些分析找到了根本的原因&#xff0c;下面是完整的分析过程&#xff0c;希望对你有所帮助。 会涉及到下面这些内容 Linux 经典的 64M…...

智能网联汽车基础软件信息安全需求分析

目录 1.安全启动 2.安全升级 3.安全存储 4.安全通信 5.安全调试 6.安全诊断 7.小结 1.安全启动 对于MCU&#xff0c;安全启动主要是以安全岛BootROM为信任根&#xff0c;在MCU启动后&#xff0c;用户程序运行前&#xff0c;硬件加密模块采用逐级校验、并行校验或者混合校…...

《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent

1、界面标题栏事件&#xff1a; NonClientAreaMouseButtonPress 标题栏点击事件 NonClientAreaMouseButtonRelease 标题栏释放事件 bool CustomPopDialog::event(QEvent* event) {switch (event->type()){case QEvent::MouseButtonRelease://Event of mouse releasing wind…...

CSDN中调整图片和文本样式

1.调整图片比例 插入图片后&#xff0c;觉得图片比例不协调&#xff0c;想改小点。只需要在文件后缀加个参数即可&#xff1a;?pic_center 60x。 NOTE&#xff1a;等号左边一定要加个空格&#xff0c;否则格式不生效 2.修改字体颜色 如上 NOTE&#xff1a;等号左边一定要…...

别再只调RTC了!用STM32CubeIDE的RTC闹钟和唤醒功能,做个低功耗定时任务管理器

STM32CubeIDE实战&#xff1a;RTC闹钟与唤醒功能打造低功耗定时任务系统 在物联网和电池供电设备开发中&#xff0c;功耗优化往往成为决定产品成败的关键因素。想象一下&#xff0c;一个依靠纽扣电池运行的温湿度传感器&#xff0c;如果持续全速运转&#xff0c;可能几周就会耗…...

从电机控制到光伏逆变器:Clark/Park变换的‘单相应用’实战避坑指南

从电机控制到光伏逆变器&#xff1a;Clark/Park变换的‘单相应用’实战避坑指南 在单相电力电子系统中&#xff0c;Clark和Park变换的应用远比教科书上描述的要复杂得多。去年调试某款单相光伏逆变器时&#xff0c;我在锁相环设计环节耗费了两周时间——明明按照三相系统的思路…...

后端开发新范式:Qwen3.5-2B作为微服务中的智能中间件

后端开发新范式&#xff1a;Qwen3.5-2B作为微服务中的智能中间件 1. 智能中间件如何重塑后端架构 想象一个电商平台的客服系统&#xff1a;用户上传商品图片询问"这件衣服适合什么场合穿&#xff1f;"传统方案需要人工客服介入&#xff0c;而采用Qwen3.5-2B作为智能…...

视频智能分析:当多模态AI重新定义内容理解边界

视频智能分析&#xff1a;当多模态AI重新定义内容理解边界 【免费下载链接】video-analyzer Analyze videos using LLMs, Computer Vision and Automatic Speech Recognition 项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer 想象一下这样的场景&#xff1…...

告别开机卡顿:在Ubuntu桌面版用systemd优雅延迟启动你的Docker或开发环境

告别开机卡顿&#xff1a;在Ubuntu桌面版用systemd优雅延迟启动你的Docker或开发环境 每次开机后&#xff0c;Ubuntu桌面总要卡顿半分钟才能正常使用&#xff1f;作为开发者&#xff0c;我们常常需要在系统启动时自动运行Docker、数据库或IDE后台服务&#xff0c;但这些"资…...

别再只跑稳态了!用Fluent DPM模拟颗粒在反应器中的瞬态混合过程(含DRW模型设置详解)

颗粒动力学仿真进阶&#xff1a;Fluent瞬态DPM模型在反应器混合分析中的实战应用 当我们需要研究化工反应器中颗粒物料的动态混合过程时&#xff0c;传统的稳态模拟往往无法捕捉到颗粒随时间的扩散、沉积等关键现象。这正是瞬态离散相模型(DPM)大显身手的场景——通过追踪成千上…...

Python实战:五种算法对决圆周率计算,谁更胜一筹?

1. 圆周率计算&#xff1a;从古至今的数学追求 圆周率π这个神奇的数字&#xff0c;从古至今一直吸引着无数数学家和编程爱好者的目光。作为一个无限不循环小数&#xff0c;π的计算方法层出不穷&#xff0c;每种算法都体现了不同的数学思想和计算技巧。今天我们就用Python来实…...

避坑指南:在VisionMaster二次开发中调用OpenCV等第三方DLL的完整流程与常见问题

VisionMaster二次开发中集成OpenCV的九大避坑实战指南 当你在VisionMaster平台上尝试扩展视觉算法能力时&#xff0c;OpenCV往往是首选工具库。但许多工程师在集成过程中都遭遇过这样的困境&#xff1a;明明在VS中编译通过&#xff0c;一部署到VisionMaster环境就频繁报错。本文…...

nRF52832低功耗设计实战:用GPIOTE的PORT事件实现超低功耗按键检测(附代码)

nRF52832低功耗设计实战&#xff1a;用GPIOTE的PORT事件实现超低功耗按键检测 在电池供电的物联网设备中&#xff0c;按键检测的功耗优化常常成为工程师的痛点。传统轮询方式会阻止CPU进入深度休眠&#xff0c;而普通中断方案又依赖高频时钟导致功耗居高不下。nRF52832的GPIOTE…...

从Substance到Blender:手把手教你用3DTextures.me的免费PBR材质打造写实场景

从Substance到Blender&#xff1a;手把手教你用3DTextures.me的免费PBR材质打造写实场景 在数字艺术创作中&#xff0c;材质与纹理是赋予模型灵魂的关键。许多3D艺术家在掌握基础建模后&#xff0c;常常陷入材质制作的瓶颈——如何快速获得高质量PBR材质&#xff1f;如何将专业…...