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
idf.py menuconfig
进入配置界面,设置连接WiFi的名字,tcp服务器的IP和端口
esc退出并保存
idf.py all
对工程进行编译
idf.py -p COM6 flash
连接好板子进行下载,确定板子串口号,要改成对应的串口。
idf.py -p COM6 monitor
打开串口显示终端,观察程序的运行输出。
esp-idf底层是默认运行freertos的,因此想要更好的利用esp32编程,需要懂freertos。
回归到tcp通信,首先第一步是要联网,可以把官方的WiFi联网的例子拿过来用,直接把代码拿过来自己改改就行
联网完毕之后进入tcp的过程,首先是建立socket连接,然后通过这个socket进行数据的收发,例如可以把数据的收发设计成两个任务分别执行,这样就可以实现收发互相不影响。
注意自己在添加c文件时,要在main.c文件的同级目录的cmakelist文件中添加自己的文件到工程。
相关文章:
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 使用官方的下载器下载好,就可以自动安装࿰…...
普华永道成功举办《国有基金高质量发展提效创效服务》主题分享活动,助力国有基金提效创效
上海,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显示网络图片的方法如下: 1、首先,需要在AndroidManifest.xml文件中添加网络权限: <uses-permission android:name"android.permission.INTERNET" /> 2、在布局文件中添加ImageView控件: <ImageVie…...
基于自然语言处理的结构化数据库问答机器人系统
温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 知识库,就是人们总结出的一些历史知识的集合,存储、索引以后,可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具,使用…...
JVM Native内存泄露的排查分析(64M 问题)
我们有一个线上的项目,刚启动完就占用了使用 top 命令查看 RES 占用了超过 1.5G,这明显不合理,于是进行了一些分析找到了根本的原因,下面是完整的分析过程,希望对你有所帮助。 会涉及到下面这些内容 Linux 经典的 64M…...
智能网联汽车基础软件信息安全需求分析
目录 1.安全启动 2.安全升级 3.安全存储 4.安全通信 5.安全调试 6.安全诊断 7.小结 1.安全启动 对于MCU,安全启动主要是以安全岛BootROM为信任根,在MCU启动后,用户程序运行前,硬件加密模块采用逐级校验、并行校验或者混合校…...
《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent
1、界面标题栏事件: NonClientAreaMouseButtonPress 标题栏点击事件 NonClientAreaMouseButtonRelease 标题栏释放事件 bool CustomPopDialog::event(QEvent* event) {switch (event->type()){case QEvent::MouseButtonRelease://Event of mouse releasing wind…...
CSDN中调整图片和文本样式
1.调整图片比例 插入图片后,觉得图片比例不协调,想改小点。只需要在文件后缀加个参数即可:?pic_center 60x。 NOTE:等号左边一定要加个空格,否则格式不生效 2.修改字体颜色 如上 NOTE:等号左边一定要…...
别再只调RTC了!用STM32CubeIDE的RTC闹钟和唤醒功能,做个低功耗定时任务管理器
STM32CubeIDE实战:RTC闹钟与唤醒功能打造低功耗定时任务系统 在物联网和电池供电设备开发中,功耗优化往往成为决定产品成败的关键因素。想象一下,一个依靠纽扣电池运行的温湿度传感器,如果持续全速运转,可能几周就会耗…...
从电机控制到光伏逆变器:Clark/Park变换的‘单相应用’实战避坑指南
从电机控制到光伏逆变器:Clark/Park变换的‘单相应用’实战避坑指南 在单相电力电子系统中,Clark和Park变换的应用远比教科书上描述的要复杂得多。去年调试某款单相光伏逆变器时,我在锁相环设计环节耗费了两周时间——明明按照三相系统的思路…...
后端开发新范式:Qwen3.5-2B作为微服务中的智能中间件
后端开发新范式:Qwen3.5-2B作为微服务中的智能中间件 1. 智能中间件如何重塑后端架构 想象一个电商平台的客服系统:用户上传商品图片询问"这件衣服适合什么场合穿?"传统方案需要人工客服介入,而采用Qwen3.5-2B作为智能…...
视频智能分析:当多模态AI重新定义内容理解边界
视频智能分析:当多模态AI重新定义内容理解边界 【免费下载链接】video-analyzer Analyze videos using LLMs, Computer Vision and Automatic Speech Recognition 项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer 想象一下这样的场景࿱…...
告别开机卡顿:在Ubuntu桌面版用systemd优雅延迟启动你的Docker或开发环境
告别开机卡顿:在Ubuntu桌面版用systemd优雅延迟启动你的Docker或开发环境 每次开机后,Ubuntu桌面总要卡顿半分钟才能正常使用?作为开发者,我们常常需要在系统启动时自动运行Docker、数据库或IDE后台服务,但这些"资…...
别再只跑稳态了!用Fluent DPM模拟颗粒在反应器中的瞬态混合过程(含DRW模型设置详解)
颗粒动力学仿真进阶:Fluent瞬态DPM模型在反应器混合分析中的实战应用 当我们需要研究化工反应器中颗粒物料的动态混合过程时,传统的稳态模拟往往无法捕捉到颗粒随时间的扩散、沉积等关键现象。这正是瞬态离散相模型(DPM)大显身手的场景——通过追踪成千上…...
Python实战:五种算法对决圆周率计算,谁更胜一筹?
1. 圆周率计算:从古至今的数学追求 圆周率π这个神奇的数字,从古至今一直吸引着无数数学家和编程爱好者的目光。作为一个无限不循环小数,π的计算方法层出不穷,每种算法都体现了不同的数学思想和计算技巧。今天我们就用Python来实…...
避坑指南:在VisionMaster二次开发中调用OpenCV等第三方DLL的完整流程与常见问题
VisionMaster二次开发中集成OpenCV的九大避坑实战指南 当你在VisionMaster平台上尝试扩展视觉算法能力时,OpenCV往往是首选工具库。但许多工程师在集成过程中都遭遇过这样的困境:明明在VS中编译通过,一部署到VisionMaster环境就频繁报错。本文…...
nRF52832低功耗设计实战:用GPIOTE的PORT事件实现超低功耗按键检测(附代码)
nRF52832低功耗设计实战:用GPIOTE的PORT事件实现超低功耗按键检测 在电池供电的物联网设备中,按键检测的功耗优化常常成为工程师的痛点。传统轮询方式会阻止CPU进入深度休眠,而普通中断方案又依赖高频时钟导致功耗居高不下。nRF52832的GPIOTE…...
从Substance到Blender:手把手教你用3DTextures.me的免费PBR材质打造写实场景
从Substance到Blender:手把手教你用3DTextures.me的免费PBR材质打造写实场景 在数字艺术创作中,材质与纹理是赋予模型灵魂的关键。许多3D艺术家在掌握基础建模后,常常陷入材质制作的瓶颈——如何快速获得高质量PBR材质?如何将专业…...
