<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fredricen的专栏]]></title><description><![CDATA[滴水之恩，当涌泉相报]]></description><link>https://blog.youkuaiyun.com/fredricen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fredricen]]></copyright><item><title><![CDATA[Openwrt21.02应用日志全局开关控制]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/156611198</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/156611198</guid><author>fredricen</author><pubDate>Mon, 05 Jan 2026 16:58:48 +0800</pubDate><description><![CDATA[OpenWRT系统自定义应用日志全局开关控制方案 本文介绍了一种在OpenWRT系统上实现自定义应用日志全局开关控制的方法。通过开发Luci界面，用户可控制应用日志是否写入系统日志。系统日志、内核日志等核心日志不受影响。 实现步骤： 创建UCI配置文件定义日志开关和级别 开发日志管理模块，通过&quot;猴子补丁&quot;技术重写nixio.syslog函数 在系统启动时自动加载日志补丁 增加Luci控制页面，提供开关和日志级别设置 在文件下载功能中集成日志功能，实时检查全局开关状态 该方案实现了： 动态]]></description><category></category></item><item><title><![CDATA[Openwrt21.02实现文件列表展示并下载文件]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/156569094</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/156569094</guid><author>fredricen</author><pubDate>Sun, 04 Jan 2026 14:58:55 +0800</pubDate><description><![CDATA[本文介绍了在OpenWrt系统上实现文件列表展示和下载功能的Luci开发方法。采用MVC模式，通过创建controller模块注册页面路由和处理函数，实现文件列表获取和下载功能。关键点包括：1) 使用nixio.fs模块安全读取文件信息；2) 实现文件下载的安全检查机制防止目录遍历攻击；3) 采用分块读取方式提高大文件下载性能；4) 在view模板中正确引入自定义controller模块。该方案实现了在/tmp目录下展示文件列表并提供安全下载功能，可作为OpenWrt系统文件管理的基础模块。]]></description><category></category></item><item><title><![CDATA[Luci操作创龙（Tronlong）T113-i开发板PWM]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/156151425</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/156151425</guid><author>fredricen</author><pubDate>Mon, 22 Dec 2025 15:12:19 +0800</pubDate><description><![CDATA[本文介绍了在嵌入式系统中通过Linux sysfs接口控制PWM（脉宽调制）的详细步骤。首先展示了如何通过命令行直接操作PWM参数，包括导出PWM设备、设置周期和占空比、启用/禁用PWM等操作。然后提供了一个rpcd插件的实现方案，该插件能够接收JSON格式的PWM控制请求，并进行参数验证和PWM参数计算。特别值得注意的是，插件实现了智能的PWM参数更新策略，通过比较新旧周期比例来决定调整顺序，确保PWM信号平滑过渡。整个方案展示了从底层硬件操作到上层服务接口的完整PWM控制实现。]]></description><category></category></item><item><title><![CDATA[Luci操作创龙（Tronlong）T113-i开发板GPIO]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/156151238</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/156151238</guid><author>fredricen</author><pubDate>Mon, 22 Dec 2025 15:08:56 +0800</pubDate><description><![CDATA[本文介绍了在OpenWrt系统中实现T113 LED控制的完整流程。首先通过shell命令验证GPIO控制功能，然后创建rpcd插件脚本实现LED开关控制，并通过ubus接口提供远程调用能力。接着配置luci页面，使用JavaScript创建控制界面，最后设置rpcd权限控制确保安全访问。整个过程包括：1) GPIO基础测试；2) rpcd插件开发；3) ubus服务验证；4) Web界面开发；5) 权限配置。该方案实现了从底层硬件到Web界面的完整LED控制功能。]]></description><category></category></item><item><title><![CDATA[用LangChain1.0搭建第一个天气查询智能体]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/154989315</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/154989315</guid><author>fredricen</author><pubDate>Tue, 18 Nov 2025 15:19:16 +0800</pubDate><description><![CDATA[LangChain v1.0发布重大更新：精简架构提升开发效率 2025年10月发布的LangChain v1.0对框架进行了重大重构，将核心功能聚焦于Agent开发，迁移旧功能至langchain-classic包。新版带来三大优势：降低认知负担（模块数量减少）、安装体积缩减60%、运行效率提升。迁移只需简单替换导入路径即可。 文章以天气查询Agent为例，演示如何使用新版本： 基于本地qwen3:1.7b模型 通过百度地图天气API获取数据（需处理行政区划码） 使用SQLite存储地区数据优化查询 实现]]></description><category></category></item><item><title><![CDATA[pyenv-win更新最新的python安装库使其可以安装最新python版本]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/154651059</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/154651059</guid><author>fredricen</author><pubDate>Mon, 10 Nov 2025 15:51:46 +0800</pubDate><description><![CDATA[摘要：pyenv-win是Windows系统下的Python版本管理工具，通过克隆官方仓库并配置环境变量即可完成安装。文章详细介绍了安装步骤，包括源码拷贝、环境变量配置和版本验证。针对国内用户访问Python官方仓库速度慢的问题，提供了替换为国内镜像源（如阿里云、华为云）的解决方案，通过修改两个关键文件实现加速下载。最后验证通过pyenv install命令即可测试安装是否成功。]]></description><category></category></item><item><title><![CDATA[Windows10下用WSL2部署Dify1.9，并对接Ollama部署的通义千问qwen3]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/154477211</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/154477211</guid><author>fredricen</author><pubDate>Thu, 06 Nov 2025 15:02:54 +0800</pubDate><description><![CDATA[摘要： 本文介绍了如何在Windows10环境下通过WSL2部署开源LLM应用开发平台Dify 1.9.2，并解决因Windows与Ubuntu用户名不一致导致的PostgreSQL权限问题。通过将项目移至Ubuntu的home目录成功启动后，进一步指导如何将Dify与本地Ollama部署的离线模型对接，包括添加Ollama插件及配置模型参数（如模型名称、服务地址、类型和上下文长度）。文章为开发者提供了从环境搭建到AI模型集成的完整解决方案。]]></description><category></category></item><item><title><![CDATA[Windows10下用WSL2部署Ollama同时用docker部署nginx开放外网访问]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/154402147</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/154402147</guid><author>fredricen</author><pubDate>Tue, 04 Nov 2025 19:02:55 +0800</pubDate><description><![CDATA[windows10下用wsl2部署Ollama同时用docker部署nginx开放外网访问，采用docker compose进行启动。]]></description><category></category></item><item><title><![CDATA[Mybatis-Plus开发问题汇总]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/153968380</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/153968380</guid><author>fredricen</author><pubDate>Mon, 27 Oct 2025 13:54:50 +0800</pubDate><description><![CDATA[本文介绍了SpringBoot项目中枚举类型的自动映射问题及解决方案。作者通过一个TypeEnum枚举类示例，展示了如何实现数据库存储为数值、前端返回为字符串的需求。使用@EnumValue和@JsonValue注解分别处理数据库存储和序列化，但发现Controller返回响应时仍显示枚举字面量而非预期文本。问题根源在于ResultDto使用了FastJson序列化覆盖了Jackson配置。解决方案是在枚举字段上添加@JSONField(serialzeFeatures = SerializerFeatur]]></description><category></category></item><item><title><![CDATA[感性认识PID中三个参数的作用]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/149086589</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/149086589</guid><author>fredricen</author><pubDate>Thu, 03 Jul 2025 11:24:05 +0800</pubDate><description><![CDATA[PID控制算法由比例(P)、积分(I)、微分(D)三部分组成，通过公式u(t)=k_p e(t)+k_i∫e(t)dt+k_d de(t)/dt实现控制。比例作用与误差成正比，但存在稳态误差；积分作用通过误差累积消除稳态误差，但易超调；微分作用抑制误差变化率，能有效减少超调。实际应用中采用离散化公式，三部分协同工作使系统快速稳定。以温控为例，比例积分可消除稳态误差但易震荡，加入微分后能显著改善响应速度和控制精度。]]></description><category></category></item><item><title><![CDATA[工业PID算法在温控器的应用与参数说明]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/148633598</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/148633598</guid><author>fredricen</author><pubDate>Fri, 13 Jun 2025 16:46:11 +0800</pubDate><description><![CDATA[PID算法作为工业控制中的经典方法，具有结构简单、应用广泛的特点。其数学模型包含连续型和离散型两种形式，通过比例、积分、微分三个环节共同作用。实际应用中多采用比例带（δₚ）、积分时间（Tᵢ）、微分时间（T_d）等参数进行调整。离散型模型通过采样周期Δt实现误差的累计和差分计算，输出量由当前误差、历史误差积分及误差变化率共同决定。该算法体现了反馈控制的核心思想，是解决一般控制问题的有效工具。]]></description><category></category></item><item><title><![CDATA[Error: L6200E: Symbol __stdout multiply defined 解决方案]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/148574395</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/148574395</guid><author>fredricen</author><pubDate>Wed, 11 Jun 2025 09:05:53 +0800</pubDate><description><![CDATA[摘要：在Keil嵌入式开发中，使用标准I/O函数(如printf/scanf)会导致与重定向的串口打印冲突。解决方法有两种：1)使用条件编译指令(如#define USE_PC_STDIO)选择性编译涉及标准I/O的代码；2)若确认不需要相关功能，可直接删除使用标准I/O的代码。这种方法既保留了代码的PC调试能力，又避免了嵌入式环境下的编译冲突。]]></description><category></category></item><item><title><![CDATA[C语言中清空缓存区到底写到哪里比较好]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/148251813</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/148251813</guid><author>fredricen</author><pubDate>Tue, 27 May 2025 11:09:34 +0800</pubDate><description><![CDATA[这篇文章讨论了C语言中scanf函数处理输入缓冲区时可能出现的问题。重点分析了%c格式符的特殊性：它会读取缓冲区中的空格、回车等字符，而%d则会跳过这些分隔符。文章通过一个报警程序示例展示了该问题导致循环异常执行的现象，并提出了两种解决方案：1)使用额外变量接收无用字符；2)清空输入缓冲区。最后指出方法二更为通用，但实现位置需要特别注意。文章还提到了使用getchar循环清空缓冲区的具体实现方式。]]></description><category></category></item><item><title><![CDATA[STM32基本定时器的启动和停止]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/148157444</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/148157444</guid><author>fredricen</author><pubDate>Fri, 23 May 2025 10:47:26 +0800</pubDate><description><![CDATA[本文介绍了在STM32F407ZGT6微控制器上实现LED灯闪烁报警功能的两种方法：轮询方式和中断方式。推荐使用中断方式，因其高效且易于与业务解耦。具体实现中，选择了基本定时器TIM6，通过定时器的更新中断控制LED灯的闪烁，并通过按键Key0和Key1分别实现报警的解除和再次触发。核心代码包括定时器的初始化、中断服务函数以及定时器的关闭操作。最终效果通过视频展示，验证了该方法的可行性和有效性。]]></description><category></category></item><item><title><![CDATA[使用正点原子STM32F407ZGT6探索者点亮LED数码管TM1650]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/147515504</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/147515504</guid><author>fredricen</author><pubDate>Fri, 25 Apr 2025 17:30:13 +0800</pubDate><description><![CDATA[我拿到的TM1650数码管是共阴极的，默认接地，只有拉高电平时，对应的码段才会点亮。通讯协议是IIC协议。IIC协议时序图如下：起始信号：在 SCL 为高电平期间, SDA 从高电平变成低电平, 表示起始信号；停止信号：在 SCL 为高电平期间, SDA 从低电平变成高电平, 表示停止信号；写 “1”：保持 SDA 为 “1”，SCL 从 “0” 跳到 “1”，再从 “1” 跳到 “0”；写 “0”：保持 SDA 为 “0”，SCL 从 “0” 跳到 “1”，再从 “1” 跳到 “0”；]]></description><category></category></item><item><title><![CDATA[免费使用DeepSeek 617B（满血版）R1大模型搭建联网聊天助手]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/145720321</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/145720321</guid><author>fredricen</author><pubDate>Wed, 19 Feb 2025 10:54:27 +0800</pubDate><description><![CDATA[在腾讯云大模型知识引擎平台，可以创建应用，选择指定的模型，我们就选择DeepSeek R1，然后其余设置保持默认，直接发布，就可以用API的方式进行调用接口。，可以使用腾讯云大模型知识引擎（LLM Knowledge Engine），进行产品体验，新用户有50万token的免费额度，对于日常应用足够了。我们选择JS版本即可，默认提供的版本是不带思维过程的，需要自己进行修改，可喜的是，我们已经修改好了，提供给大家，地址是。DeepSeek作为最快流行的工具（7天破亿用户），使用者众多，所以经常会遇到使用时，]]></description><category></category></item><item><title><![CDATA[Pygame官方示例跑不通问题解决]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/145197073</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/145197073</guid><author>fredricen</author><pubDate>Fri, 17 Jan 2025 09:17:25 +0800</pubDate><description><![CDATA[Pygame是一个第三方的Python模块，用于游戏开发，支持跨平台（PC、平板、手机）、跨系统（Windows、Linux、Mac），底层基于DSL。]]></description><category></category></item><item><title><![CDATA[使用VSCode搭建Ruby on Rails集成开发环境]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/145115270</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/145115270</guid><author>fredricen</author><pubDate>Mon, 13 Jan 2025 15:51:41 +0800</pubDate><description><![CDATA[在windows平台下开发Ruby on Rails，之前使用的IDE是Rubymine，但是发现激活码失效了，于是怀着折腾的心思在VSCode上搭建一下Ruby on Rails集成开发环境，后来搭建好了之后，发现使用起来非常不错，体验不输Rubymine，果断记录一下自己的折腾过程，也给后来者福音。Ruby插件（Shopify公司出品，就是推出YJIT的那个公司），附带两个插件Ruby LSP和Ruby Sorbet（这个插件暂时用不到，可以先装上）下载上面我们提到的插件后，配置基本采用默认就可以了。]]></description><category></category></item><item><title><![CDATA[CentOS7下安装Ruby3.2.4的实施路径]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/142205493</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/142205493</guid><author>fredricen</author><pubDate>Fri, 13 Sep 2024 13:38:14 +0800</pubDate><description><![CDATA[安装完成后在 /etc/yum.repos.d 目录下会出现 CentOS-SCLo-scl.repo 和 CentOS-SCLo-scl-rh.repo 两个文件，安装后源默认启用，但是坑也就是在这里被埋下了。是一个linux下的Ruby的多版本管理工具，可以维护多个Ruby版本，切换版本。对于开发Ruby应用程序比较友好。还有个优点就是不需要。修改此部分的baseurl为阿里云源。修改此部分的baseurl为阿里云源。查看RVM使用的当前Ruby版本。，对于国内用户友好。]]></description><category></category></item><item><title><![CDATA[Qt展示动态波形]]></title><link>https://blog.youkuaiyun.com/fredricen/article/details/132068524</link><guid>https://blog.youkuaiyun.com/fredricen/article/details/132068524</guid><author>fredricen</author><pubDate>Fri, 04 Aug 2023 16:07:27 +0800</pubDate><description><![CDATA[Qt展示动态波形。]]></description><category></category></item></channel></rss>