<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yiyi8399的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/yiyi8399</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; yiyi8399]]></copyright><item><title><![CDATA[ESP32-IDF HTTP 客户端：阻塞模式 vs 非阻塞模式]]></title><link>https://blog.csdn.net/yiyi8399/article/details/147078927</link><guid>https://blog.csdn.net/yiyi8399/article/details/147078927</guid><author>yiyi8399</author><pubDate>Tue, 08 Apr 2025 22:34:25 +0800</pubDate><description><![CDATA[在 ESP-IDF 开发框架中， 是用于实现 HTTP 客户端功能的核心组件，其关键函数  提供了两种执行模式：阻塞模式和非阻塞模式。本文将深入探讨两种模式的区别、适用场景，并提供完整的代码示例。阻塞模式下， 会一直阻塞当前线程，直到整个 HTTP 请求流程（DNS 解析、TCP 连接、请求发送、响应接收）完成。该模式简单易用，适合简单的同步操作场景。✅ 优点：代码简洁，逻辑清晰。❌ 缺点：长时间请求会阻塞其他任务，影响系统实时性。







非阻塞模式 (Non-Blocking Mode)

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