ESP32-idf学习(三)esp32C3连接iot

article/2025/6/9 8:15:28

一、前言

上一篇用蓝牙作为通信方式,虽然勉强完成了控制,但结果显然不是那么符合我们的预期,既然用蓝牙还需要研究一段时间,那我们就先整一些现成的,不需要研究的!iot云平台!这里当然也是通过wifi的方式。

二、开发准备

1、硬件了解

这是官方手册中wifi的特性描述,同样也是2.4g,速率150M是比我之前在stm32上用过的esp8266快的,对我的预期来说那是够够的了,毕竟我顶多就控控灯开关,上报一下传感器数据之类的。

2、例程选择

我一贯都是用mqtt连接的腾讯云,所以我现在也是选择mqtt的例程,然后这里还有ssl、tcp和ws,我选择的是tcp,ssl强调安全加密,ws是适配浏览器环境的,tcp没有加密而且轻量,直接通过1883端口通信。

3、例程分析

这个例程就比较简单了,只对连接mqtt来说的话,其实前边都不是我们需要关心的内容,直接从网络连接 example_connect 这里看起就好

这里有注释,大意就是根据在menuconfig中的选项(wifi或以太网)自动初始化对应的网络模块,而且要提前在menuconfig中设置wifi的参数。(我也是百度翻译的)

但是这个函数,我是没找到,可能不是用C来实现的吧(瞎猜的),因为这里所说的menuconfig,在vscode本来就是点一下那个设置的图标,这里配置后边再说

然后mqtt_app_start就是,mqtt连接的开始

点开,这里有一个config的结构体,但是跟我记忆中的不太一样,我记得好像这个结构体以前是输入端口,username和password之类的就行来着

点进去看看:

现在分了好几个,我将每一个都折叠了

就是mqtt的参数和任务的参数,我看了一下,broker_t设置url,credentials_t设置username、client_id、password,其他保持默认就好,具体设置后边说。至于全部参数的详细作用,其实我也并不能都说得上来,有需要大家自行百度!

三、修改例程

1、设置wifi名称和密码

点一下下边的这个设置,就会发现新大陆兄弟们

直接搜索wifi就好,然后输你的wifi名称和密码,注意是2.4g那个,下边的参数就用默认的就好,改完点右上角保存

2、设置mqtt的参数

因为是测试,所以我直接将腾讯云设备信息下边那里有直接给出来的三元组直接宏定义了,服务器地址要加上mqtt://,不要url会报错

如果是想做成通用点的程序,三元组就要通过计算了,算法官方有:

物联网通信 设备基于 TCP 的 MQTT 接入_腾讯云

服务器地址的话可以通过snprintf,例如:

char endpoint[100];
snprintf(endpoint, sizeof(endpoint), "mqtts://%s.iotcloud.tencentdevices.com", ClientID);

然后只需要在mqtt_app_start这个函数,注释掉本来的url,加上我们的参数,就实现简单的连接了

3、检验是否激活设备

烧录程序:

成功连接wifi后会显示ip地址

后边的就是mqtt订阅成功,成功激活设备了

在平台上看一看

4、增加上报led状态和接收led开/关指令

①增加头文件

②增加宏定义

topic在腾讯云上可以直接看到

③增加变量:

增加了一个灯的开关状态变量

一个任务句柄

一个环形结构

还有一个信号量

④增加函数

1、led相关

2、存储区部分

3、回调函数修改:

4、创建任务

我把原先的mqtt_app_start注释不用,自己创建了一个任务,还有前边一些初始化

任务也很简单,就是有中断有数据接收时,直接进入数据处理,如果是开关的话就执行led开/关的操作,并直接上报灯的状态。如果没有的话就5s上报一次。

但其实这里5s并不准确,因为每次上报会有数据回复,又会跳转到处理数据这里。

四、烧录验证

1、串口打印消息查看

这里是主动上报的,我加了一帧打印计数

这是控制的

2、平台查看

可以看到,数据一直有上报,并且突变时会直接上

3、实际效果

esp32C3基于idf 腾讯云mqtt控制灯亮灭视频-CSDN直播

五、总结

中断这里我把数据存到存储区,然后AI搜了一下这个环形缓冲区结构,再自己修改了下,之前都是用的静态申请空间的。

一整个流程下来,其实跟我之前STM32+ESP8266是没什么区别的。感兴趣可以对比下。

STM32+ESP8266连接腾讯IOT上传数据(四)_stm32通过esp8266上传数据到云平台-CSDN博客

比stm32+eps8266这种方法省了一个cpu,稳定性还没测,我准备到时候把功能写完,再一直挂着试试


http://www.hkcw.cn/article/QnkJytZREu.shtml

相关文章

五芳斋陷多重困局 业绩下滑与库存压力增大

端午节期间,五芳斋面临了多重挑战。2024年公司营收和净利润双双下滑,分别下降超过14%,依然高度依赖粽子销售。市场方面,公司遭遇代工企业“蜜枣粽异物”风波,品牌形象受损。此外,公司给股东送粽子礼盒的举动被网友解读为清理库存,股价也连续下跌,5月30日更是收跌超7%。…

儿童节愿我们永葆童真 留住那份纯真好奇

今天是六一儿童节,每个孩子都会慢慢长大,而每个大人也都曾是孩子。在岁月的流逝中,那颗童心始终未变。愿我们永远保持童真和对这个世界的爱与好奇,快乐、灿烂、温暖、纯粹,一直可爱。责任编辑:zhangxiaohua

python里面导入yfinance的时候报错

我的代码: import yfinance as yf import os proxy http://127.0.0.1:7890 # 代理设置,此处修改 os.environ[HTTP_PROXY] proxy os.environ[HTTPS_PROXY] proxydata yf.download("AAPL",start"2010-1-1",end"2021-8-1&quo…

window桌面任务栏不见了鼠标移动底部无响应命令重启资源管理器无效解决办法

首先虽然重启是万能的,但是我不想重启啊大哥 以前喜欢用taskkill /f /im explorer 然后start explorerwindow11竟然没效果 ,所以ctrlaltdel 任务管理器 直接找到资源管理器右击重启,发现好了 {C44C69DC-D2BB-4E68-9F11-0AC2E2B5300B}.png 另外 ctrlwinsh…

Rollup打包输出产物遇到的一个坑。(分享心得)

文章目录 前言一、rollup的generateBundle钩子?二、遇到bug之前三、bug解决总结 前言 本人在学习过程中,发现一个基于vite的项目,在打包的过程中遇到了一个bug,就是我在学习开发一个vite插件功能,我需要获取到打包的产…

杭州一凶宅竞拍14轮后七五折成交 低价吸引买家

5月30日,杭州富阳区丁香花园蓝庭5号1703室房源在法拍平台上进行拍卖。该房源建成于2007年前后,建筑面积为200.73平方米,是一套东边套顶跃结构的房子。一层布局为二室三厅一厨二卫南北双阳台,二层则有一室(带书房、走入式衣柜)、一卫、一储藏室、一阳台和两露台。房子评估…

陈伟霆说张启山回来了 爷青回热议

2025年5月31日,电视剧《九门》正式官宣演员阵容及制作信息,在影视圈和粉丝群体中引发了广泛关注和热烈讨论。该剧由南派三叔担任原著及总监制,柏杉执导,优酷全网独播,强大的制作班底和引人入胜的剧情设定使其成为2025年最受期待的民国传奇剧之一。主演阵容方面,陈伟霆时隔…

樊振东回应加盟萨尔布吕肯 迎接新挑战

德甲联赛萨尔布吕肯乒乓球甲级俱乐部宣布,奥运冠军樊振东加盟。樊振东表示,他非常期待在萨尔布吕肯和德甲的新挑战,体验新的环境,并与球队一起赢得更多胜利。官宣声明发布后,莫雷加德也表示,能和樊振东成为队友感到很荣幸。责任编辑:zhangxiaohua

CSS专题之层叠上下文

前言 石匠敲击石头的第 15 次 在平常开发的时候,有时候会遇到使用 z-index 调整元素层级没有效果的情况,究其原因还是因为对层叠上下文不太了解,看了网上很多前辈的文章,决定打算写一篇文章来梳理一下,如果哪里写的有问…

Python实现P-PSO优化算法优化BP神经网络回归模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在当今数据驱动的时代,回归分析作为预测和建模的重要工具,在科学研究和工业应用中占据着重要…

07.概念三:LayerNorm和Softmax

参考视频:LayerNorm和Softmax概念 那我们第三部分的概念,也就是概念的最后一部分 关于LayerNorm和Softmax的概念、以及最后文字是怎么预测出来的 我们先来看一下这个layer normalization,简称layer norm层归一化。我觉得叫数字缩放&#xff0…

sglang0.4.3参数说明

执行命令: Python3 -m sglang.launch_server --model-path /mnt/data/models/DeepSeek-R1-Distill-Qwen-32B --host 172.26.*.* --port 9300 --tp 4 --trust-remote-code --served-model-name qwen32b 运行结果 响应速度 参数说明 model_path: 模型文件…

DeepSeek-R1-0528,官方的端午节特别献礼

DeepSeek:端午安康!刻在国人骨子里的浪漫 2025 年 05 月 28 日 | DeepSeek 端午特别献礼 当粽叶飘香时,DeepSeek 悄然带来一份节日惊喜 版本号 DeepSeek-R1-0528 正式上线 官方赋予它的灵魂是: 思考更深 推理更强 用户通过官网…

莫雷加德说很荣幸成为樊振东队友 共同征战TTBL

当地时间5月31日,萨尔布吕肯乒乓球俱乐部宣布,乒乓球大满贯选手、巴黎奥运会乒乓球男单金牌得主樊振东将在下个赛季代表俱乐部参加德国乒乓球甲级联赛(TTBL)。目前效力于萨尔布吕肯俱乐部的乒乓球运动员、巴黎奥运会乒乓球男单银牌得主莫雷加德在社交媒体上表达了欢迎之情,…

人民日报:有车企说反内卷却打价格战 行业协会与工信部齐发声反对

中国汽车工业协会发布《关于维护公平竞争秩序,促进行业健康发展的倡议》,明确表示反对近期车企掀起的新一轮“价格战”。工信部也表态支持该倡议,强调“价格战”没有赢家。这一信号和态度有助于及时遏制无序的价格竞争。近年来,一些车企虽然口头上反对“内卷式”竞争,但实…

深入剖析Java类加载机制:双亲委派模型的突破与实战应用

引言:一个诡异的NoClassDefFoundError 某金融系统在迁移到微服务架构后,突然出现了一个诡异问题:在调用核心交易模块时,频繁抛出NoClassDefFoundError,但类明明存在于classpath中。经过排查,发现是由于不同…

在屈原的家乡端午节是什么样 三次端午持续近一月

端午节作为中国最古老的节日之一,其中以纪念屈原的习俗影响最为广泛。屈原出生于战国时期的湖北秭归,这里不仅保留着典型的屈原故里端午习俗,还有“端午比年大”的说法。在屈原的家乡湖北秭归乐平里,四面群山环抱,不远处是长江支流香溪河。据古籍记载,秭归“县北一百六十…

两条大鲵觅食迷路 警民接力救助 携手护送“水中熊猫”

5月29日10时许,湖北省襄阳市保康县的李先生和朋友在后坪镇五道峡附近的小河钓鱼时,意外发现了两条娃娃鱼。考虑到它们是野生保护动物,李先生立即报警求助。十分钟后,保康县公安局后坪派出所民警赶到现场。李先生激动地告诉民警:“我一看像是‘娃娃鱼’,就赶紧报了警,还是…

梨形身材是基因彩票 更长寿的体型密码

身材与健康息息相关,涉及体能、代谢和疾病风险等多个方面。科学家认为,“细腰肥臀”的梨型身材患代谢相关慢性病的风险较低,寿命更长。近日,“梨形身材是基因彩票”的话题在社交平台引发热议。研究发现,大腿粗、臀部大的“梨形身材”可能比肚子大的人长寿。《欧洲心脏杂志…

STL之vector

1 vector初识 1 动态扩展 并不是在原有的空间里面之后续接新的空间&#xff0c;而是找更到的空间&#xff0c;然后将原有的数据拷贝到新的空间&#xff0c;释放原有空间 vector容器的迭代器是支持随机访问的迭代器 2 功能描述和函数原型 //默认构造 vector<int> v1;f…