- 博客(10)
- 收藏
- 关注
原创 ESP32-IDF HTTP 客户端:阻塞模式 vs 非阻塞模式
在 ESP-IDF 开发框架中, 是用于实现 HTTP 客户端功能的核心组件,其关键函数 提供了两种执行模式:阻塞模式和非阻塞模式。本文将深入探讨两种模式的区别、适用场景,并提供完整的代码示例。阻塞模式下, 会一直阻塞当前线程,直到整个 HTTP 请求流程(DNS 解析、TCP 连接、请求发送、响应接收)完成。该模式简单易用,适合简单的同步操作场景。✅ 优点:代码简洁,逻辑清晰。❌ 缺点:长时间请求会阻塞其他任务,影响系统实时性。非阻塞模式 (Non-Blocking Mode)工作原
2025-04-08 22:34:25
453
原创 (二)HTTP 基本认证(Basic Authentication)浏览器访问esp32 idf服务器的网页HTML代码
在上一篇博文中:"(一)HTTP 基本认证(Basic Authentication)原理过程,以及esp32 idf服务器和客户端例程",实现了esp32idf的服务器和客户端,为了便于做实验,这里给出计算机浏览器的html代码,便于简单实现,将改代码放置于esp32 idf服务器的根目录下即可.// 浏览器原生 Base64 编码。文件并在现代浏览器中运行,实现与 ESP32 服务器的完整 Basic 认证交互。// 构造 Basic Auth 凭证。// 原有认证逻辑保持不变...
2025-04-08 10:56:06
800
原创 (一)HTTP 基本认证(Basic Authentication)原理过程,以及esp32 idf服务器和客户端例程
Base64是一种将二进制数据转换为 ASCII 字符串的编码方式,使用 64 个可打印字符()表示二进制内容,并在末尾用填充。其核心目的是解决二进制数据在纯文本协议(如 HTTP)中传输时的兼容性问题。HTTP 基本认证(Basic Authentication) 作用:将用户名和密码拼接为 username:password 格式后 Base64 编码,置于 Authorization: Basic <凭证> 头中传输。例如:Base64优势文本协议兼容性。
2025-04-08 10:02:47
958
原创 路由器无线桥接为什么要固定信道,设置为自动信道可以吗
无线桥接成功的关键在于主副路由信道严格一致且固定,同时需根据环境优化信道选择。推荐使用WiFi分析工具定期检测信号质量,适时调整信道配置.
2025-04-01 15:32:18
1351
原创 深入解析MQTT协议消息订阅与接收机制:标准协议与阿里云物联网平台的差异及开发建议
例如,在一个智能家居系统中,用户的智能音箱只订阅了与音乐播放和语音交互相关的主题,那么服务器就不会将其他设备(如智能摄像头)的监控信息发送给智能音箱,避免了信息的混乱和安全隐患。开发者在使用MQTT协议进行物联网开发时,需要充分了解这些差异,掌握确认消息接收的方法,并遵循相关的开发建议,以确保系统的正常运行和开发的高效性。例如,当设备的某项功能被启用或禁用时,SDK会自动订阅或取消订阅相关的主题,确保设备能够及时接收和处理相关的消息。的参数,通过查看该参数的值,就可以知道设备是否会自动订阅一些系统主题。
2025-03-28 10:37:24
877
原创 阿里云平台隐式订阅主题有啥用
SDK内置的隐式订阅覆盖了90%的通用场景(如OTA升级、影子同步),开发者只需关注业务逻辑主题的订阅。例如使用阿里云官方SDK时,设备自动具备接收远程诊断指令的能力,而无需编写订阅代码。实测显示,相比原生MQTT开发,隐式订阅可减少约40%的通信相关代码量。类主题,设备能自动接收云端对上行消息的响应(如指令执行结果反馈)。例如当设备上报温湿度数据后,云端通过该主题返回校验结果或异常告警,形成完整的“请求-响应”闭环。开发者无需手动订阅这些基础功能所需的主题,SDK会在设备连接时自动完成订阅关系的建立。
2025-03-28 10:33:54
446
原创 strcmp strstr 函数对比
strcmp函数是C语言中用于比较两个字符串的标准库函数,其功能是根据ASCII码值逐字符比较两个字符串的内容。该函数位于string.h头文件中,其原型为int strcmp(const char* str1, const char* str2)。该函数会返回指向haystack字符串中第一次出现needle子字符串位置的指针,若未找到则返回NULL。查找过程会考虑字符的完全匹配,包括处理像"abbbcdef"中查找"bbc"这类需要回溯的情况。而strstr则是查找子串位置,返回的是字符指针。
2025-03-27 15:46:10
169
原创 %.*s 在C语言的格式化输出函数(如printf/sprintf)
在C语言的格式化输出函数(如printf/sprintf)中,%.*s是一种动态控制字符串截取长度的特殊格式符。其核心特性是通过参数动态指定截取长度,而非固定写入格式字符串中。以下是详细说明:
2025-03-27 12:21:03
443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人