当前位置: 首页 > article >正文

基于PSOC62 CAPSENSE的远程空调遥控器:物联网与红外控制实践

1. 项目概述当传统遥控器遇上物联网你有没有遇到过这样的场景大夏天回到家一身汗还得在包里翻箱倒柜找空调遥控器或者冬天窝在被窝里发现遥控器在客厅茶几上得鼓起勇气离开温暖的被窝去拿。传统红外遥控器受限于“直线”和“视线”的物理限制一直是个让人又爱又恨的存在。这个项目就是来解决这个痛点的——设计一个基于PSOC62 CAPSENSE评估套件的远程空调遥控器。简单来说这个项目的核心思路是利用一块自带高性能MCU和电容触摸感应CAPSENSE功能的开发板作为硬件核心通过Wi-Fi或蓝牙连接到家庭网络再结合一个红外发射模块将你的手机或网页变成一个可以穿透墙壁、无视距离的万能空调遥控器。PSOC62是英飞凌原赛普拉斯推出的一款非常强大的微控制器它集成了ARM Cortex-M4内核、丰富的模拟和数字外设而CAPSENSE技术更是其招牌功能能实现稳定、可靠的电容式触摸按键、滑条甚至接近感应。用这块板子来做遥控器有点“杀鸡用牛刀”的感觉但正是这种性能冗余为我们实现稳定可靠的远程控制、复杂的用户交互比如滑条调温以及未来的功能扩展比如语音控制集成提供了坚实的基础。这个项目适合谁呢如果你是电子爱好者、嵌入式开发者或者对智能家居DIY感兴趣想从零开始体验一个完整的“硬件固件软件云端”的小型物联网项目那么这个案例会是一个绝佳的练手机会。它涵盖了嵌入式编程、无线通信协议、红外编码解码、简单的Web服务器或App开发等多个环节麻雀虽小五脏俱全。即使你只是用户看完这篇文章也能对市面上那些智能遥控器、万能遥控插座的工作原理有个透彻的理解。2. 系统整体设计与核心思路拆解2.1 为什么选择PSOC62 CAPSENSE评估套件在开始动手之前我们先聊聊选型。市面上MCU开发板那么多为什么偏偏是PSOC62 CAPSENSE套件这背后有几个关键的考量点。首先CAPSENSE电容触摸是刚需。我们想做的不是一个只有物理按键的遥控器而是希望有更优雅的交互方式比如触摸开关、滑条调节温度/风量。传统的机械按键寿命有限、容易藏污纳垢而电容触摸不仅美观、耐用还能实现滑条、矩阵按键等丰富交互。PSOC62内置的CAPSENSE模块是硬件级的通过CSD电容式Sigma-Delta或CSX电容式互电容技术实现其抗噪声、防水性能通过软件配置远优于用普通GPIO模拟的方案可靠性极高。评估套件上通常已经集成了触摸按键和滑条的电极开箱即用大大降低了硬件设计门槛。其次PSOC62本身性能强大且接口丰富。其Cortex-M4内核主频高达150MHz足以流畅运行一个轻量级的TCP/IP协议栈如lwIP和HTTP服务器或者处理复杂的蓝牙协议。它支持Wi-Fi和蓝牙的Combo芯片如CYW4343W的对接这是实现无线连接的关键。此外它还有丰富的GPIO、PWM、定时器、串口等方便我们连接红外发射管、状态指示灯等外围设备。最后开发环境与生态。英飞凌提供的ModusToolbox开发环境基于Eclipse集成了图形化配置工具可以直观地配置引脚、外设、中间件如Wi-Fi、CAPSENSE自动生成初始化代码。这对于快速原型开发来说效率提升不是一点半点。丰富的代码示例和社区支持也能让我们在遇到问题时更快找到解决方案。注意选择评估套件意味着我们暂时不需要自己设计PCB和焊接触摸传感器可以专注于逻辑和通信功能的实现。等原型验证成功后如果需要产品化可以再基于PSOC62芯片设计定制电路板。2.2 系统架构与工作流程整个系统的架构可以清晰地分为三层用户交互层、核心控制层和执行层。用户交互层这是用户直接接触的部分。有两种主要形式本地交互直接触摸PSOC62评估板上的CAPSENSE按键或滑条。例如一个触摸按键用于开关一个滑条用于调节温度。远程交互用户通过手机App连接蓝牙或电脑/手机的浏览器连接Wi-Fi发送控制指令。这是本项目“远程”特性的核心。核心控制层即PSOC62微控制器。它负责监听并处理CAPSENSE触摸事件。运行Wi-Fi Station或蓝牙GATT Server接收来自手机或网络的指令。解析指令将其转换为对应的空调红外编码协议。控制GPIO按照特定时序驱动红外发射电路。执行层即红外发射模块。通常由一个NPN三极管如8050驱动一个或多个红外发射二极管IR LED组成。PSOC62的GPIO输出调制好的38kHz载波信号空调红外遥控常用频率给三极管基极从而控制IR LED向外发射红外光信号。工作流程用户通过手机App点击“制冷25℃”。手机通过Wi-FiTCP/UDP或蓝牙将指令数据包发送给PSOC62。PSOC62收到数据包解析出“制冷”和“25℃”两个参数。PSOC62在其存储的红外编码库中查找对应空调品牌型号的、代表“制冷25℃”的编码序列。这个编码序列是一串由“高电平时间长”和“低电平时间长”组成的数字序列。PSOC62启动一个硬件定时器PWM或TCPWM模块根据编码序列在一个GPIO引脚上生成调制了38kHz载波的波形。该波形通过三极管放大驱动IR LED闪烁将红外信号发送出去。空调的红外接收头收到信号解码后执行相应操作。2.3 红外编码的学习与存储这是项目的另一个技术核心。不同品牌、甚至同品牌不同型号的空调其红外编码协议都可能不同。常见的协议有NEC、RC5、RC6等但空调协议多为各厂商自定义比较复杂通常包含引导码、客户码、数据码、校验码等部分数据码中包含了模式、温度、风速、扫风等所有信息。我们有三种方式获取这些编码网络抓取与移植从开源项目如IRremoteESP8266库或厂商资料中查找已知的编码数据。将这些编码以常量数组的形式存储在PSOC62的Flash中。学习功能这是更通用、更实用的方法。为系统增加一个“学习模式”。在此模式下PSOC62开启一个外部中断引脚连接一个通用的红外接收头如VS1838B。当用户用原装遥控器对准接收头按下按键时PSOC62会记录下该引脚上接收到的高低电平时序。通过测量每个脉冲的宽度微秒级并将其数字化就能得到该按键的原始编码序列。之后将这个序列与一个逻辑命令如“开关”绑定并存储到非易失性存储器如PSOC62内部的Flash模拟EEPROM或外挂的SPI Flash中。这样我们就完成了对一个按键的“学习”。重复这个过程即可学习所有需要的按键。实操心得红外学习的关键是精准计时。务必使用硬件定时器的输入捕获功能来测量脉冲宽度软件循环计时的误差会很大导致学习失败。另外原始时序数据占用空间较大可以考虑进行压缩或转换为某种协议格式后再存储。3. 硬件连接与外围电路详解虽然我们使用的是评估套件但红外发射电路需要自己搭建。这部分电路很简单但细节决定成败。3.1 红外发射电路设计一个典型的三极管驱动红外发射电路如下PSOC62 GPIO (PWM输出) ---[电阻 R1]--- NPN三极管基极(B) | | 红外发射二极管(IR LED)阳极 ---[电阻 R2]--- VCC (3.3V) | 红外发射二极管(IR LED)阴极 --- NPN三极管集电极(C) | GNDGPIO选择PSOC62上一个支持硬件PWM输出的引脚例如某TCPWM的输出口。R1基极限流电阻取值通常在220Ω到1kΩ之间。它的作用是限制流入三极管基极的电流保护GPIO引脚和三极管。计算时需考虑GPIO输出电压通常3.3V、三极管基极-发射极导通电压Vbe约0.7V和所需的基极电流Ib。Ib ≈ Ic / β其中Ic是集电极电流即流过IR LED的电流β是三极管的直流放大倍数。假设我们需要Ic100mAβ100则Ib1mA。那么R1 (3.3V - 0.7V) / 0.001A ≈ 2.6kΩ我们可以取一个更保守的值比如1kΩ以确保三极管能充分饱和导通。Q1NPN三极管常用型号如S8050、2N2222。它的作用是作为开关用小电流基极电流控制大电流集电极电流。选择时需注意其最大集电极电流Ic_max要大于你计划驱动IR LED的电流并且开关速度要快。R2LED限流电阻这是最关键的计算。红外二极管的压降Vf通常在1.2V-1.5V。假设电源VCC3.3V期望通过IR LED的电流If100mA为了获得足够的发射距离和角度通常需要较大的驱动电流可达100-200mA但需注意器件手册给出的最大连续电流。那么R2 (VCC - Vf - Vce_sat) / If。Vce_sat是三极管饱和时的集电极-发射极电压很小约0.2V。假设Vf1.3V则R2 (3.3 - 1.3 - 0.2) / 0.1 18Ω。我们需要选择一个功率足够的电阻其额定功率 P If² * R2 0.1² * 18 0.18W因此至少选择1/4W0.25W的电阻。IR LED选择发射角度和波长通常940nm合适的红外发射二极管。为了提高覆盖范围可以并联2-3个IR LED但此时总电流会倍增需要重新计算R2并确保三极管和电源能承受。更推荐的做法是使用单个大功率的IR LED。重要提示PSOC62评估板的3.3V电源输出电流能力有限可能只有几百mA。驱动大电流IR LED时可能会引起电源电压跌落导致系统不稳定。强烈建议为红外发射电路使用独立的电源供电例如用一个5V/1A的手机充电器供电并通过一个低压差线性稳压器LDO如AMS1117-3.3为发射电路提供3.3V。PSOC62的GPIO信号通过R1控制三极管实现控制电路的隔离。3.2 与PSOC62评估板的连接将上述电路搭好在面包板或洞洞板上。找到PSOC62评估板上一个可用的、支持PWM输出的GPIO引脚通过ModusToolbox的Device Configurator查看和分配用杜邦线连接到自制电路的R1端。将自制电路的GND与评估板的GND连接起来。如果使用独立电源务必确保两个电路的GND连接在一起即“共地”这是信号正常工作的基础。4. 固件开发从触摸到红外发射4.1 开发环境搭建与项目创建安装ModusToolbox从英飞凌官网下载并安装ModusToolbox IDE。它会包含Eclipse、GCC工具链、PSOC6 HAL库、中间件等所有必要组件。创建项目启动ModusToolbox选择“New Application”。在目标设备中选择你所使用的具体PSOC62套件例如CY8CKIT-062S2-43012。在应用模板中选择一个包含CAPSENSE和Wi-Fi或蓝牙的示例项目作为起点例如“CAPSENSE Slider Tuning”和“Wi-Fi HTTP Server”的结合这会省去大量基础配置工作。图形化配置使用“Device Configurator”工具分配引脚。将计划用于红外PWM输出的引脚配置为“TCPWM”功能并设置对应的PWM组件。配置CAPSENSE组件指定哪些引脚连接了触摸按钮和滑条。配置Wi-Fi或蓝牙组件设置SSID、密码、工作模式Station等。4.2 CAPSENSE触摸功能实现在代码中CAPSENSE的处理通常放在一个定时中断或主循环中。#include “cy_capsense.h” void main(void) { // ... 初始化系统、CAPSENSE、中断等 Cy_CapSense_Enable(cy_capsense_context); for(;;) { // 1. 处理所有CAPSENSE扫描 Cy_CapSense_ProcessAllWidgets(cy_capsense_context); // 2. 检查按钮状态 uint32_t button0Status Cy_CapSense_IsWidgetActive(CY_CAPSENSE_BUTTON0_WDGT_ID, cy_capsense_context); if (button0Status) { // 检测到按钮0被触摸 handle_power_button(); // 处理开关机逻辑 } // 3. 读取滑条位置 uint32_t sliderPos Cy_CapSense_GetCentroidPos(CY_CAPSENSE_LINEARSLIDER0_WDGT_ID, cy_capsense_context); if (sliderPos ! CY_CAPSENSE_POSITION_NONE) { // 将滑条位置例如0-100映射到温度值例如16-30℃ uint32_t temperature map_slider_to_temperature(sliderPos); set_temperature(temperature); } // 4. 更新CAPSENSE基线等非阻塞式 Cy_CapSense_UpdateAllBaselines(cy_capsense_context); Cy_CapSense_ScanAllWidgets(cy_capsense_context); // ... 处理其他任务网络、红外等 Cy_SysLib_Delay(50); // 简单延时实际应用建议使用RTOS或定时器 } }注意事项CAPSENSE的扫描和处理需要一定时间避免在扫描过程中进行长时间阻塞操作。对于复杂的应用建议使用RTOS如FreeRTOS创建独立任务来处理CAPSENSE、网络和红外发射提高系统响应性。4.3 红外信号生成与发射这是固件中最“硬核”的部分。我们需要用PWM硬件产生38kHz的载波并按照编码序列调制它。步骤一配置38kHz载波PWM使用TCPWM组件生成一个占空比为50%的38kHz方波。在ModusToolbox的Device Configurator中配置TCPWM为PWM模式设置时钟源和周期值。计算如下假设系统时钟clk_peri为100MHz要产生38kHz PWM则周期计数值 clk_peri / 38000 ≈ 2631。比较值设置为周期值的一半1315以获得50%占空比。初始化后先停止PWM输出。步骤二实现编码发送函数假设我们已经有了一个红外编码数组ir_code[]其中存储了交替的高电平时间单位微秒和低电平时间。对于空调编码第一个通常是长的引导码高电平如9000μs接着是低电平如4500μs然后是数据位。// 假设的编码结构体 typedef struct { uint16_t mark; // 高电平时间微秒 uint16_t space; // 低电平时间微秒 } ir_pulse_t; ir_pulse_t ir_code[MAX_PULSES]; void send_ir_code(const ir_pulse_t* code, uint32_t length) { // 确保红外发射电路初始状态为关闭 stop_pwm_output(); for (uint32_t i 0; i length; i) { // 发送高电平MARK开启38kHz PWM if (code[i].mark 0) { start_pwm_output(); // 使能TCPWM输出 Cy_SysLib_DelayUs(code[i].mark); // 精确延时。注意这里用DelayUs会阻塞CPU。对于长延时如9ms建议使用定时器中断非阻塞实现。 } // 发送低电平SPACE关闭PWM if (code[i].space 0) { stop_pwm_output(); // 禁用TCPWM输出 Cy_SysLib_DelayUs(code[i].space); } } // 发送完毕确保PWM关闭 stop_pwm_output(); }实操心得Cy_SysLib_DelayUs函数在延迟较长时间超过几十微秒时误差会变大且会阻塞整个CPU。对于红外发射这种对时序要求严格的任务最佳实践是使用一个高精度的硬件定时器如另一个TCPWM或SysTick来产生中断在中断服务程序ISR中切换PWM的启停和加载下一个脉冲的时间值。这样可以实现非阻塞、高精度的红外发射同时CPU还能处理网络和触摸事件。4.4 无线通信集成以Wi-Fi HTTP Server为例ModusToolbox的中间件提供了易于使用的Wi-Fi和HTTP服务器库。初始化Wi-Fi配置为Station模式连接到你家的路由器。启动HTTP服务器创建一个简单的HTTP服务器监听80端口。定义API端点例如GET /返回一个简单的控制网页HTML页面可以硬编码在Flash中。GET /api/status返回空调当前状态JSON格式。POST /api/control接收控制命令。例如客户端发送{“cmd”: “power”, “state”: “toggle”}或{“cmd”: “temp”, “value”: 25}。解析与响应在HTTP请求处理回调函数中解析JSON命令可以使用轻量级库如cJSON调用对应的红外发射函数然后返回成功或失败的响应。这样用户在同一局域网下的任何设备打开浏览器输入PSOC62的IP地址就能看到一个遥控器界面并进行控制。蓝牙的实现思路类似将PSOC62配置为GATT Server定义一些自定义服务Custom Service和特征值Characteristic来代表“开关”、“温度”等属性。手机App通过读写这些特征值来控制空调。5. 常见问题、调试技巧与优化5.1 红外控制不灵敏或距离短这是最常见的问题。原因1驱动电流不足。这是最可能的原因。用万用表测量发射时流过IR LED的电流。如果远小于设计值如100mA检查限流电阻R2是否过大三极管是否完全饱和测量Vce饱和时应小于0.3V电源电压是否足够。原因2发射角度问题。IR LED有指向性。尝试调整IR LED的方向使其对准空调红外接收窗。或者使用多个IR LED朝向不同角度或使用散射透镜。原因3环境光干扰。强烈的日光或节能灯可能包含红外成分干扰信号。尝试在相对较暗的环境测试或者给IR LED加一个遮光罩。原因4编码协议或时序错误。用红外接收头如VS1838B和逻辑分析仪或示波器抓取你发射的信号与原装遥控器的信号进行对比。检查引导码、位“0”、“1”的定义、载波频率是否稳定在38kHz以及重复码间隔是否正确。5.2 Wi-Fi连接不稳定或无法连接检查SSID和密码确保代码中配置正确注意大小写。检查路由器设置有些路由器可能设置了MAC地址过滤或仅允许特定协议如只允许802.11n。尝试将路由器频段改为2.4GHzPSOC62的Wi-Fi通常只支持2.4G并关闭过于复杂的加密方式先尝试WPA2-PSK AES。信号强度评估板上的PCB天线性能有限。确保设备离路由器不要太远中间障碍物不要太多。可以尝试在代码中读取并打印RSSI信号强度指示值。电源噪声Wi-Fi模块对电源纹波敏感。确保供电稳定在电源引脚附近按照数据手册建议放置去耦电容。5.3 CAPSENSE触摸反应迟钝或误触发运行调优工具ModusToolbox提供了CAPSENSE Tuning工具这是一个图形化向导能自动检测环境噪声、推荐最佳扫描参数如扫描间隔、手指阈值、噪声阈值等。务必使用此工具进行校准这是保证触摸性能的关键。检查硬件布局触摸电极应远离高速数字信号线、电源线以减少耦合噪声。评估板通常已优化布局但如果你外接了导线需保持导线尽可能短并可能需要在电极串联一个电阻。接地与屏蔽确保人体有良好的接地路径例如通过触摸金属外壳这能提高触摸灵敏度。在电极周围布置屏蔽电极Guard Sensor可以有效防止水渍、灰尘引起的误触发。5.4 系统功耗优化如果希望用电池供电功耗是关键。利用PSOC62的低功耗模式当没有触摸和网络活动时让系统进入深度睡眠Deep Sleep模式。CAPSENSE可以配置为在低功耗扫描模式下工作定期唤醒检测触摸。Wi-Fi模块也可以被关闭或进入省电模式。红外发射电路的电源管理红外发射时电流很大。可以在红外发射电路的电源路径上增加一个MOSFET开关仅在需要发射时才通电平时完全断开杜绝静态功耗。降低工作频率在空闲时降低CPU主频。5.5 功能扩展思路这个基础框架有巨大的扩展潜力多设备与场景在Web界面或App中增加多个“虚拟遥控器”控制客厅空调、卧室空调等。甚至可以创建“场景”如“回家模式”同时打开客厅空调和灯。语音控制集成将PSOC62连接到智能音箱的语音技能平台如天猫精灵、小度开放平台。你只需要说“天猫精灵打开空调”云端技能就会调用你部署的API将指令下发到PSOC62。温度自动控制连接一个数字温度传感器如DHT22实现恒温控制。当室温高于设定值1度时自动开启制冷达到设定值时关闭。定时任务在PSOC62上实现一个简单的实时时钟RTC功能支持定时开关机。这个项目从一个小小的想法开始通过PSOC62这块强大的画布可以描绘出非常丰富的智能家居应用图景。它不仅仅是一个遥控器更是一个物联网节点的完整实现案例。动手做一遍你会对嵌入式系统设计、无线通信和硬件交互有更深刻的理解。

相关文章:

基于PSOC62 CAPSENSE的远程空调遥控器:物联网与红外控制实践

1. 项目概述:当传统遥控器遇上物联网你有没有遇到过这样的场景:大夏天回到家,一身汗,还得在包里翻箱倒柜找空调遥控器;或者冬天窝在被窝里,发现遥控器在客厅茶几上,得鼓起勇气离开温暖的被窝去拿…...

【下载安装教程】仿宋GB2312、楷体GB2312和方正小标宋简体办公字体安装包下载安装教程

常用办公字体安装与使用指南 适用字体及场景 字体名称适用场景仿宋_GB2312正文内容、正式文档楷体_GB2312批注、说明性文字方正小标宋简体标题、封面文字、强调性内容 支持软件 WPSMicrosoft WordPowerPoint其他主流办公软件 使用方法 安装字体 下载字体文件(.…...

智谱ZCube组网架构革新:不动硬件提升15%集群推理吞吐,行业转向“挖效率”

【导语:过去行业在算力军备竞赛中多靠买GPU、建集群堆算力,如今这一路径被重新审视。智谱公开ZCube组网架构,在不增加硬件的情况下提升了集群推理吞吐,同时OpenAI等发布MRC网络协议,行业正从“堆硬件”向“挖效率”转向…...

通过用量看板与成本管理功能实现团队API支出精细化管控

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板与成本管理功能实现团队API支出精细化管控 对于依赖大模型API进行开发的团队而言,成本控制与资源分配的透…...

丙午年三月三十平镜里

丙午年三月三十平镜里 曾几风流里,皆逝日常中。 莫名春伤寒,妙在岁月功。 儿时不知道,青烟多捉空。 老壮老路上,庭院情境通。 谓花当此季,寻因那刻虹? 虚妄浮云聚,耕种顺序隆。 斯文源村落&…...

我用 DuckDB + Python 搭了个全自动日报系统:68 行代码,7 个踩坑实录

# 我用 DuckDB Python 搭了个全自动日报系统:68 行代码,7 个踩坑实录> 总周期:3 天业余时间(每天下班 2 小时) > 总成本:≈ 服务器 29/月(已有) > 技术栈:Duck…...

昇腾CANN ops-blas:GEMM 在 NPU 上为什么可以快到极致

矩阵乘是所有深度学习计算的根。Attention、全连接、卷积展开——归根到底都是矩阵乘。ops-blas 是 CANN 里专门做高性能 GEMM(General Matrix Multiply)的算子库,核心目标是把昇腾 NPU 的 Cube 单元利用率拉到 90% 以上。 ops-blas 和 ops-n…...

DeepSeek服务网格选型决策树(Istio vs. eBPF轻量方案深度对比:延迟压降42%、资源开销降低68%实测数据)

更多请点击: https://intelliparadigm.com 第一章:DeepSeek微服务架构建议 在构建面向大语言模型推理与训练任务的微服务系统时,DeepSeek系列模型对计算密集型服务、高吞吐API网关及弹性资源编排提出了明确要求。推荐采用分层解耦、异步协同…...

【ElevenLabs云南话语音落地实战】:20年语音AI专家亲授3步适配方言模型,避开92%开发者踩过的声学对齐陷阱

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs云南话语音落地实战导论 云南话作为西南官话的重要分支,具有声调丰富、语流连贯、地域变体多样等特点,为语音合成技术带来独特挑战。ElevenLabs 提供的多语言、高保真…...

用 5 款全栈电商微系统打通你的前后端核心逻辑链路(附级联 Prompt)

各位大前端、全栈开发以及正在寻求技术进阶的同仁们,大家好。在日常的技术社区里,我们经常能看到各种流于表面的前端 UI 静态页或者几行代码拼凑的后端 CRUD 示例。但真正能在一个全栈工程师的履历中起到定海神针作用的,往往是那些功能内敛、…...

恩智浦eIQ Time Series Studio:嵌入式时间序列AI从数据到部署的自动化实践

1. 项目概述与核心价值如果你正在为嵌入式设备开发一个基于传感器数据的智能功能,比如通过振动信号判断电机是否故障,或者通过电流波形识别家电的工作模式,你大概率会面临一个经典困境:算法模型在PC上跑得好好的,一到资…...

端侧AI与嵌入式系统融合:从模型轻量化到5G通信的产业化落地

1. 从展会看趋势:端侧AI与嵌入式系统的深度融合最近在德国纽伦堡举办的国际嵌入式展览会,可以说是全球嵌入式技术发展的风向标。作为从业者,我每年都会关注这个展会,因为它总能揭示未来几年工业和技术应用的核心走向。今年&#x…...

告别键盘连击烦恼:Keyboard Chatter Blocker终极使用指南

告别键盘连击烦恼:Keyboard Chatter Blocker终极使用指南 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否经常在打字时…...

拒绝玩具CRUD:用 5 款全栈离线“仓储管理”微系统精通前后端解耦(附专家级级联 Prompt)

各位全栈同仁、大前端极客以及正在突破技术瓶颈的开发者们,大家好。作为一名每天和分布式架构、数据库事务以及前端复杂状态流打交道的工程师,今天想和大家聊聊全栈工程落地中的“咬合力”。在很多技术社区里,大家往往能看到各种速成的单表 C…...

SPT-AKI存档编辑器:掌控离线塔科夫游戏进度的终极工具

SPT-AKI存档编辑器:掌控离线塔科夫游戏进度的终极工具 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_mirrors/s…...

终极游戏模组管理指南:Nexus Mods App如何让你轻松玩转模组世界

终极游戏模组管理指南:Nexus Mods App如何让你轻松玩转模组世界 【免费下载链接】NexusMods.App Home of the development of the Nexus Mods App 项目地址: https://gitcode.com/gh_mirrors/ne/NexusMods.App 厌倦了手动安装模组时的各种冲突和兼容性问题&a…...

如何快速搭建个人游戏串流服务器:Sunshine跨平台游戏流媒体完整指南

如何快速搭建个人游戏串流服务器:Sunshine跨平台游戏流媒体完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏?Sunshine游…...

3小时变3分钟:用ChanlunX插件让通达信自动绘制缠论结构

3小时变3分钟:用ChanlunX插件让通达信自动绘制缠论结构 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图,试图手工画出缠论中的笔、线段和中枢&#xff0…...

MultiHighlight插件深度解析:JetBrains IDE智能代码高亮实战指南

MultiHighlight插件深度解析:JetBrains IDE智能代码高亮实战指南 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight …...

KMS智能激活终极指南:一键永久激活Windows和Office的完整教程

KMS智能激活终极指南:一键永久激活Windows和Office的完整教程 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出激活提示而烦恼吗?Office文档突然…...

Vanrafia阿曲生坦Atrasentan副作用贫血及头痛严重时如何治疗?

贫血与头痛是Vanrafia阿曲生坦治疗IgA肾病时最受临床关注的两项全身性不良反应。贫血侵蚀着患者的日常功能与运动耐量,头痛则是最常见的神经系统不适主诉。ALIGN三期临床试验及其长期扩展研究的完整安全性数据,为这两项副作用勾勒出了精确且不容回避的风…...

论文重复率过高,应该怎么办?

重复率过高,先别急着全文重写。大多数情况,不是整篇都有问题,而是少数几个章节把总重复率拉爆了。很多人第一反应是“从头改到尾”。这个最累,而且效率最低。正确顺序是这样的。第一步:先看是哪一部分高,不…...

免费卸载软件再推荐!支持多款软件同时卸载、注册表清理、垃圾文件清理、空文件查找、进程管理、启动管理等等功能!强制卸载+系统清理,绝了

前言 电脑里总有那么几个“钉子户”软件!卸载按钮灰色、控制面板里找不到、残留注册表像牛皮癣一样反复出现今天推荐的这款卸载工具,不管程序多顽固、卸载器多残废,都能一键连根拔起,顺带把垃圾文件、空文件夹、无效快捷方式打包带走&#x…...

扫描(SEM)-透射(TEM)-原子力(AFM)的比较

SEM: 扫描电子显微镜扫描电镜成像是利用细聚焦高能电子束在样件表面激发各种物理信号,如二次电子、背散射电子等,通过相应的检测器来检测这些信号,信号的强度与样品表面形貌有一定的对应关系,因此,可将其转…...

扫描电镜(SEM)会产生哪些信号?

当高能电子束与样品相互作用时&#xff0c;会产生多种类型的信号。这些信号提供了有关材料表面形貌、成分和结构的关键信息。1.二次电子&#xff08;SE&#xff09;是入射电子将样品表面附近原子中的低能电子激发出来的。它们携带表面敏感信息&#xff08;深度<10 nm&#x…...

ArcGIS Pro 基础:县级人口图斑分级设色显示

首先确定图斑数据和属性数据&#xff0c;如下&#xff1a;对图层名称进行修改。右键图层属性&#xff0c;对常规里的名称进行修改。右键图层&#xff0c;打开【符号系统】。【主符号系统】选择【分级色彩】&#xff1b;【归一化】选择【无】&#xff1b;【方法】选择【自然间断…...

Jetpack Compose 动画使用指南

Jetpack Compose 动画使用指南 ⚡ 快速上手 Compose 动画&#xff0c;6 大核心 API 结合项目&#xff1a;仓库地址 目录 animate*AsState — 最基础的动画AnimatedVisibility — 显示/隐藏动画updateTransition — 多值协同过渡Crossfade — 页面/内容切换AnimatedContent —…...

Python数据库迁移实战:从SQLAlchemy到Alembic的完整指南

Python数据库迁移实战&#xff1a;从SQLAlchemy到Alembic的完整指南 引言 数据库迁移是后端开发中不可或缺的一部分。作为从Python转向Rust的后端开发者&#xff0c;我发现Python的数据库迁移工具非常成熟&#xff0c;尤其是Alembic配合SQLAlchemy的组合。本文将从实战角度出发…...

GESP6级C++考试语法知识(二十五、深度优先搜索(五、DFS终极奥义))

⚔️第五课《DFS终极奥义》——原来算法世界到处都是 DFS&#xff01;&#x1f31f;一、故事开始&#xff1a;算法圣殿1、经过前四课。小骑士 DFS 已经成为了&#xff1a;&#x1f31f;DFS 小勇者&#xff01;2、但是。算法王国最深处。还有一座&#xff1a;&#x1f31f;“dfs…...

职教高考及高职分类招生控制线 API 接口

职教高考及高职分类招生控制线 API 接口 接口详情官网地址: https://www.gugudata.com/api/details/vocationalcontrollines 职教高考及高职分类招生控制线 API 支持查询职教高考及高职分类招生控制线数据&#xff0c;覆盖年份、省份、招生类别、考生类型、录取批次和科类等筛…...