基于ESP32与LED点阵的Tiny Word Clock:从硬件搭建到软件实现
1. 项目概述当时间变成文字的艺术几年前我在一个极客论坛上第一次看到“Word Clock”这个概念当时就被它那种优雅的呈现方式迷住了。它不像传统时钟那样用指针或数字粗暴地告诉你“几点几分”而是像一句温柔的提醒“现在是五点二十”。这种将抽象时间转化为具象文字的设计充满了诗意和极客精神。市面上的成品要么价格昂贵要么设计固化于是自己动手做一个“Tiny Word Clock”微型文字时钟的想法就冒了出来。这个项目本质上是一个软硬件结合的创意DIY。它的核心功能是在一块小小的LED点阵屏或OLED屏幕上用高亮的单词或字母组合来拼出当前的时间。比如当时间是“5:20”时屏幕上可能会点亮“FIVE”、“TWENTY”、“PAST”这些单词而其他单词则保持熄灭或低亮状态。它解决的不仅仅是看时间的问题更是一种个性化的桌面摆件、一个有趣的编程学习项目甚至是一件充满心意的礼物。无论你是对Arduino、ESP8266/ESP32等单片机感兴趣的硬件爱好者是想学习LED点阵控制的编程新手还是单纯想拥有一个独一无二创意物件的动手达人这个项目都能让你乐在其中。2. 核心设计思路与方案选型2.1 显示方案点阵屏 vs. OLED这是决定你的Tiny Word Clock最终形态和成本的关键选择。主流方案有两种LED点阵屏和OLED屏幕。LED点阵屏方案通常指8x8或16x16的RGB LED矩阵。它的优点是视觉冲击力强亮度高可自定义颜色并且那种“逐个单词点亮”的仪式感是它的精髓。你可以用WS2812BNeoPixel这类可单独寻址的LED这样每个LED都是一个独立的像素编程控制极其灵活。我最终选择了两个级联的8x8 RGB LED矩阵组成一个16x8的显示区域这足以清晰地显示“IT IS FIVE TWENTY”这样的句子。选择它的理由很直接效果炫酷可玩性高是经典的Word Clock实现方式。OLED屏幕方案通常是I2C或SPI接口的小型单色或彩色屏幕。它的优点是分辨率高可以显示更平滑的字体和图形功耗相对较低并且显示静态文本时非常清晰。如果你追求更细腻的显示效果或者想集成天气、日期等更多信息做成一个信息站OLED是更好的选择。但对我而言它缺少了点阵屏那种“硬件发光”的独特质感。注意对于初次尝试者我强烈建议从单色如白色或蓝色的8x8 LED点阵屏开始搭配MAX7219驱动芯片。这种屏价格便宜驱动库成熟如LedControl库接线和编程都更简单能让你快速建立起信心理解核心逻辑。RGB点阵和WS2812B虽然酷但涉及色彩管理、更高的电流需求对新手来说调试复杂度会指数级上升。2.2 主控芯片大脑的选择主控芯片负责读取时间、控制显示内容。常见的选择有Arduino Uno/Nano、ESP8266如NodeMCU和ESP32。Arduino Uno/Nano经典入门选择。优点是稳定、简单、社区资源海量。缺点是需要外接RTC实时时钟模块来保持时间因为一旦断电它的时间就会丢失。适合纯离线、固定摆放的场景。ESP8266/ESP32我最终选择了ESP32。理由非常充分首先它内置Wi-Fi可以通过NTP网络时间协议从互联网自动校准时间一劳永逸地解决时间精度问题无需RTC模块。其次它的性能更强双核处理器在处理RGB LED刷新尤其是WS2812B这类需要精密时序的时更加游刃有余。最后它为未来升级留足了空间比如可以轻松扩展成通过网络API获取天气并显示。我的选择逻辑既然要做就做“现代化”一点的。Wi-Fi校时带来的体验提升是巨大的你永远不用担心它走时不准。ESP32的开发环境Arduino IDE或PlatformIO对Arduino用户也很友好学习曲线平缓。因此除非你刻意追求极简或功耗极致否则ESP8266/ESP32是更优解。2.3 时间源如何保持精准这是确保你的时钟不只是个“玩具”的关键。方案有三RTC模块如DS3231最精准、最可靠的离线方案。DS3231芯片自带温度补偿年误差可控制在分钟级且断电后靠纽扣电池继续走时。搭配Arduino使用是黄金组合。NTP网络授时ESP系列芯片的绝配。上电联网后自动从时间服务器获取精确到毫秒的UTC时间并根据时区转换。这是我最推荐的方式设置好Wi-Fi密码和时区后你就再也不用管它了。主控内部时钟最不推荐的方案。像Arduino的内部RC振荡器误差很大一天差出几分钟是常事只能用于临时演示。我的方案ESP32 NTP。我使用了NTPClient和WiFi库在代码初始化时连接Wi-Fi并同步时间。为了应对网络偶尔不稳定的情况我依然在代码里用millis()函数实现了一个软件时钟在NTP同步成功后以NTP时间为起点进行软件累加这样即使短时间断网时间也基本准确。3. 硬件搭建与核心电路解析3.1 物料清单BOM以下是我基于ESP32 16x8 RGB LED点阵WS2812B方案的完整清单主控ESP32开发板如ESP32 DevKit C V4 x1显示8x8 RGB LED点阵屏WS2812B 如64位灯珠 x2级联成16x8电源USB转DC 5V电源适配器建议2A以上 x1DC 5.5x2.1mm插座 x1470μF 10V 电解电容 x1用于电源滤波0.1μF (100nF) 陶瓷电容 x1用于高频去耦其他杜邦线公对公、公对母若干面包板用于原型搭建或PCB用于最终成品3D打印或亚克力外壳可选但强烈推荐能极大提升质感220Ω电阻 x1可选用于数据线防过冲3.2 电路连接详解与避坑指南连接的核心是WS2812B LED点阵。WS2812B只需要一根数据线DIN进行控制但电源处理不当极易导致问题。正确连接步骤电源先行将5V电源适配器的正极5V同时连接到ESP32的VIN引脚、两个LED点阵的5V引脚以及大电容470μF的正极。将电源负极GND同时连接到ESP32的GND、两个点阵的GND、电容的负极以及小电容0.1μF的一端。小电容另一端也接GND尽量靠近ESP32的电源引脚放置。这一步是稳定的基石务必保证所有GND点都连接在一起共地。信号串联将ESP32的一个GPIO口我用的GPIO16连接到第一个点阵屏的DIN。然后将第一个点阵屏的DOUT连接到第二个点阵屏的DIN。第二个点阵屏的DOUT悬空即可。电源滤波在电源入口处并联那个470μF的电解电容它能吸收电源接通瞬间的浪涌电流防止LED屏出现“上电乱闪”的现象。实操心得电源隔离与数据线保护这是最容易出问题的地方。WS2812B在全部点亮白色时瞬时电流可能高达2A以上。如果和ESP32共用USB线供电USB口的电流可能不足导致ESP32不断重启或LED显示异常。务必使用独立的外接5V 2A以上电源适配器供电。另外可以在ESP32的数据输出引脚和第一个LED的DIN之间串联一个220-470Ω的电阻并在第一个LED的DIN和GND之间并联一个100pF的小电容这能有效抑制信号线上的振铃和噪声让数据传输更稳定。这是我调试了无数次才总结出的“玄学”稳定大法。3.3 外壳设计与制作一个精美的外壳能让项目从“实验品”升级为“工艺品”。我使用Fusion 360进行3D建模。设计要点前遮光板这是核心。我设计了一个厚约3mm的亚克力板或3D打印的白色PLA板在上面用激光雕刻或精细钻孔出所有可能用到的字母和单词例如“IT IS HALF TEN PAST TO”等。雕刻区域要透光非雕刻区域要尽可能遮光。可以在内侧贴一层半透明的硫酸纸或磨砂膜让点阵LED的光线更均匀柔和避免看到刺眼的灯珠。内部结构需要精确计算LED点阵屏的安装位置确保每个LED正好对准遮光板上的一个字母位置。设计卡槽或支柱来固定屏幕和ESP32主板。散热与走线外壳背面或侧面要开散热孔。内部要预留电源线和数据线的走线空间避免挤压。制作建议如果没有3D打印机可以去某宝找3D打印服务或激光切割亚克力服务把设计好的图纸发给他们制作成本并不高。这是提升项目完成度的最关键一步。4. 软件逻辑与代码实现详解4.1 核心数据结构时间到文字的映射编程的核心是将“小时”和“分钟”这两个数字映射到屏幕上需要点亮的特定单词集合。最清晰的方法是使用一个“查找表”。首先我们需要定义屏幕的物理布局。假设我们的16x8点阵每个位置对应一个字母。我们可以用一个二维数组ledLayout[x][y]来定义每个坐标点显示的字符。例如ledLayout[0][0] I;ledLayout[1][0] T;以此类推拼出整个单词矩阵。然后我们为每一个需要独立控制的单词如 “IT”, “IS”, “FIVE”, “MINUTES”, “PAST”, “TO”, “HALF” 等定义一个结构体或一个数组里面包含这个单词所有字母在ledLayout中的坐标。// 示例定义单词“IT”的坐标 const int wordIT[][2] { {0, 0}, // I {1, 0} // T }; const int wordCountIT sizeof(wordIT) / sizeof(wordIT[0]); // 定义单词“FIVE”的坐标 const int wordFIVE[][2] { {4, 2}, // F {5, 2}, // I {6, 2}, // V {7, 2} // E }; const int wordCountFIVE sizeof(wordFIVE) / sizeof(wordFIVE[0]);时间转换逻辑这是一个有趣的算法。通常我们以5分钟为最小单位来表述时间。逻辑如下获取当前小时和分钟。将分钟近似到最近的5分钟倍数如23分-20分27分-30分。根据近似后的分钟数决定使用“FIVE”, “TEN”, “QUARTER”, “TWENTY”, “TWENTYFIVE”, “HALF”中的哪个单词。根据分钟数是否大于30决定使用“PAST”还是“TO”并相应调整小时数例如6:35 表述为 “TWENTYFIVE TO SEVEN”。组合出需要点亮的单词列表。4.2 主程序流程与关键代码片段以下是基于Arduino框架ESP32的核心逻辑代码框架#include FastLED.h // 用于驱动WS2812B #include WiFi.h #include NTPClient.h #include WiFiUdp.h // 定义LED参数 #define NUM_LEDS 128 // 16x8 128 #define DATA_PIN 16 CRGB leds[NUM_LEDS]; // 定义单词坐标数组此处需根据你的实际布局完整填充 // const int wordIT[] ...; // const int wordIS[] ...; // ... 其他所有单词 // 全局变量 int currentHour 0; int currentMinute 0; void setup() { Serial.begin(115200); FastLED.addLedsWS2812B, DATA_PIN, GRB(leds, NUM_LEDS); FastLED.setBrightness(50); // 初始亮度别太刺眼 connectToWiFi(); // 自定义函数连接Wi-Fi setupNTP(); // 自定义函数初始化NTP客户端 } void loop() { updateTimeFromNTP(); // 自定义函数从NTP更新当前时间 calculateWordsToLight(currentHour, currentMinute); // 核心函数计算该点亮哪些单词 renderDisplay(); // 自定义函数根据计算出的单词列表点亮对应LED FastLED.show(); // 更新显示 delay(10000); // 每10秒更新一次对于时钟来说足够了降低CPU占用 } // 核心函数根据时分计算需要高亮的单词 void calculateWordsToLight(int hour, int minute) { // 1. 清空当前高亮单词列表 clearActiveWords(); // 2. 无论如何“IT IS”总是亮的 addWordToActiveList(wordIT); addWordToActiveList(wordIS); // 3. 分钟近似处理 int approxMinute (minute / 5) * 5; int hourToDisplay hour; // 4. 判断分钟区间 if (approxMinute 0) { addWordToActiveList(wordOCLOCK); } else if (approxMinute 30) { addWordToActiveList(wordPAST); // 根据approxMinute的值5,10,15,20,25,30添加对应的分钟单词 switch(approxMinute) { case 5: addWordToActiveList(wordFIVE); addWordToActiveList(wordMINUTES); break; case 10: addWordToActiveList(wordTEN); addWordToActiveList(wordMINUTES); break; // ... 其他情况 case 30: addWordToActiveList(wordHALF); break; // HALF 后面不加 MINUTES } } else { addWordToActiveList(wordTO); hourToDisplay (hour 1) % 24; // 转换为下一个小时 int minutesTo 60 - approxMinute; // 根据minutesTo的值添加对应的分钟单词 switch(minutesTo) { case 25: addWordToActiveList(wordTWENTY); addWordToActiveList(wordFIVE); addWordToActiveList(wordMINUTES); break; // ... 其他情况 } } // 5. 添加小时单词 addHourWord(hourToDisplay); }renderDisplay()函数则遍历所有LED如果该LED坐标属于activeWordsList中的某个单词则将其设置为高亮颜色如白色否则设置为低亮颜色如暗蓝色或完全关闭。这种“非高亮即低亮”的模式能营造出很好的视觉层次感。4.3 效果优化动画与色彩为了让显示不那么生硬可以加入简单的动画。例如在每分钟切换时间时不是瞬间改变而是让旧单词逐渐熄灭新单词逐渐点亮形成一个淡入淡出的过渡效果。利用FastLED库的fadeToBlackBy()和色彩混合函数可以轻松实现。色彩方面可以定义不同的配色方案。比如白天使用白光亮字、蓝底晚上自动切换为暖黄光亮字、深红底。这可以通过在ESP32上连接一个光敏电阻实现环境光检测或者简单地在代码里根据小时数切换配色表。5. 调试、问题排查与进阶玩法5.1 常见问题速查表问题现象可能原因排查与解决上电后LED屏乱闪或部分不亮1. 电源功率不足或接触不良。2. 数据线受到电源噪声干扰。3. 第一个LED损坏。1.首要检查使用独立5V 2A以上电源确保所有电源线、地线连接牢固。2. 在数据线串联220Ω电阻并在靠近LED端并联100pF电容到GND。3. 尝试单独测试第一个LED。ESP32无法连接Wi-Fi1. SSID或密码错误。2. Wi-Fi信号太弱。3. 路由器设置了MAC过滤。1. 检查代码中的凭据注意大小写和特殊字符。2. 将串口调试信息打开查看连接状态码。3. 尝试用手机热点测试排除路由器问题。时间显示不正确NTP模式1. 时区设置错误。2. NTP服务器无法访问。3. 未处理夏令时。1. 在NTPClient初始化时正确设置时区偏移秒例如东八区8 * 3600。2. 更换为更稳定的NTP服务器地址如pool.ntp.org。3. 如果需要可以引入更复杂的库来处理夏令时规则。单词显示位置错位1. LED坐标映射数组定义错误。2. 屏幕物理方向安装反了。3. FastLED的像素顺序设置错误。1.最繁琐但必须做逐个单词、逐个字母核对坐标。写一个测试程序依次点亮每个单词来检查。2. 检查屏幕的DIN和DOUT方向旋转180度安装或修改代码映射。3. 检查FastLED.addLeds中的色彩顺序参数如GRB, RGB。显示亮度不均或有残影1. 电源线过长过细导致末端电压下降。2. 刷新率设置不当。3. 未正确清除上一帧显示。1. 从电源两端同时向LED矩阵供电双头供电缩短供电距离加粗电线。2. 确保在loop()中每次更新显示后都调用FastLED.show()且不要频繁无意义刷新。3. 在renderDisplay()开始时先用FastLED.clear()清空所有LED。5.2 进阶优化与扩展思路当基础功能实现后你可以考虑以下方向让你的Tiny Word Clock更具个性无线配置Web配网使用ESP32的Wi-Fi Manager功能如WiFiManager库让时钟在首次启动时创建一个热点你用手机连接后可以通过网页选择家里的Wi-Fi并输入密码无需硬编码。多模式显示增加一个按钮或通过网页切换不同的显示模式。比如“经典单词模式”、“数字模式”、“彩虹波浪特效模式”、“显示温湿度模式”需加传感器。语音报时接入一个简单的语音合成模块如SYN6288在整点或按按钮时用语音报时。与智能家居联动通过MQTT协议让时钟成为Home Assistant或米家系统的一个显示终端显示智能家居状态如“空调已开启”、“有人在家”等。低功耗优化如果使用电池供电可以设计在检测到环境光很暗夜晚时自动将亮度调至最低甚至进入休眠模式只在整点唤醒亮一下。这个项目从构思到最终成品放在桌上我花了大概三个周末的时间。最难的不是编程或焊接而是那份耐心耐心地设计遮光板上每一个字母的孔位耐心地调试电源解决闪烁问题耐心地编写和测试每一个单词的坐标。但当它在深夜第一次清晰地显示出“IT IS HALF PAST TEN”的柔和光芒时那种创造实体事物的满足感是纯软件项目无法比拟的。它不仅仅是一个时钟更是你思考、动手和解决问题的物理见证。

相关新闻

ESP32电容触摸滑条DIY:从原理到实现的智能交互方案

ESP32电容触摸滑条DIY:从原理到实现的智能交互方案

1. 项目概述:从“触摸”到“交互”的智能桥梁最近在捣鼓一个智能家居的控制面板项目,需要一种既美观又直观的输入方式。传统的物理按键和旋钮占地方,还容易积灰,而电容式触摸感应技术正好能解决这个问题。于是,我把目光…

2026/8/19 3:45:18 阅读更多 →
AxDafny:基于智能体工作流实现形式化验证代码自动生成

AxDafny:基于智能体工作流实现形式化验证代码自动生成

1. 项目概述:当形式化验证遇上智能体编程最近在形式化验证和代码生成这个交叉领域,一个名为AxDafny的项目引起了我的注意。简单来说,它试图解决一个困扰我们这些做高可靠软件开发的人很久的痛点:如何让机器自动生成经过形式化验证…

2026/8/19 3:45:18 阅读更多 →
终端智能体评测设计:对抗性、高难度与可解读性三大核心原则

终端智能体评测设计:对抗性、高难度与可解读性三大核心原则

1. 从“跑分”到“实战”:为什么我们需要重新审视终端智能体评测在AI领域,尤其是智能体(Agent)研究圈子里,大家最近都在聊“Benchmark”。这个词直译过来是“基准测试”,但在我们这些一线开发者眼里&#x…

2026/8/19 3:45:18 阅读更多 →

最新新闻

Godot 4 3D游戏UI开发实战:信号通信与动态数据绑定

Godot 4 3D游戏UI开发实战:信号通信与动态数据绑定

这次我们来看一个使用 Godot 4 引擎开发 3D 地牢爬行游戏时,如何构建用户界面的实战教程。这个系列的第 15 部分,核心聚焦在“用户界面-3”,这意味着我们将深入处理 UI 与游戏逻辑的交互、状态管理以及如何让界面真正“活”起来。对于任何游戏…

2026/8/20 6:06:30 阅读更多 →
QQ飞车.luc文件反编译:从VFS资源包到可读Lua脚本的完整指南

QQ飞车.luc文件反编译:从VFS资源包到可读Lua脚本的完整指南

1. 先搞清楚这个工具到底能做什么,以及它适合谁看到“史上最强工具”这种标题,很多人第一反应是怀疑。但抛开营销词汇,这个工具的核心价值其实很明确:它能把QQ飞车游戏里的.luc文件,转换成人类和Lua编辑器都能直接阅读…

2026/8/20 6:06:30 阅读更多 →
技术简历优化:如何避免报菜名式写法

技术简历优化:如何避免报菜名式写法

1. 技术简历的致命误区:报菜名式写法上周帮团队筛选了200多份技术岗简历,发现一个比"零项目经验"更严重的问题:超过60%的简历把技术栈写成"满汉全席"。这种报菜名式的写法,反而让候选人在初筛阶段就被淘汰。作…

2026/8/20 6:06:30 阅读更多 →
基于ESP32的音乐马桶体验系统:从传感器到音频的交互设计实践

基于ESP32的音乐马桶体验系统:从传感器到音频的交互设计实践

1. 从“如厕”到“沉浸”:一个被忽视的感官体验场景你有没有想过,每天花在卫生间里的那十几分钟,除了完成一项生理任务,还能做点什么?大多数人可能会刷刷手机、看看书,或者干脆放空。但一个名为“The Music…

2026/8/20 6:06:30 阅读更多 →
易车财报拆解:52.3%营收增长背后的广告转型与交易服务崛起

易车财报拆解:52.3%营收增长背后的广告转型与交易服务崛起

1. 财报拆解:易车一季度营收增长的“含金量”分析最近易车发布了最新一季度的财报,营收数字相当亮眼:3.461亿美元,同比增长超过52%。这个数字一出来,圈内不少朋友都在讨论,这增长到底是怎么来的&#xff1f…

2026/8/20 6:06:29 阅读更多 →
Windows下PCL点云库编译安装与开发环境配置全攻略

Windows下PCL点云库编译安装与开发环境配置全攻略

在游戏开发、三维建模、点云处理等场景中,PCL(Point Cloud Library)是一个功能强大的开源库,它提供了大量处理点云数据的算法。然而,对于许多刚接触PCL的开发者来说,从源码编译安装、配置依赖到成功运行第一…

2026/8/20 6:05:29 阅读更多 →

日新闻

Framework笔记本BIOS更新变砖,“可维修”承诺遭遇芯片级维修考验!

Framework笔记本BIOS更新变砖,“可维修”承诺遭遇芯片级维修考验!

Framework笔记本BIOS更新引“变砖”危机2026年7月7日,Framework向用户quantum5发送邮件,建议其安装BIOS 3.20更新。然而,更新后电脑出现严重问题,屏幕显示三角形和随机像素图案,风扇狂转,系统完全挂起。qua…

2026/8/20 0:00:46 阅读更多 →
2026还在担忧建站平台哪家好?手把手带你搭建自家网站!

2026还在担忧建站平台哪家好?手把手带你搭建自家网站!

2026还在担忧建站平台哪家好?手把手带你搭建自家网站!据艾瑞咨询发布的《2026年中国企业数字化服务市场研究报告》,2025年国内网站建设市场规模已达896亿元,同比增长18.7%。中国互联网络信息中心数据显示,截至2025年底…

2026/8/20 0:00:46 阅读更多 →
2026高端网站建设公司哪家好?怎么选才能不花冤枉钱?

2026高端网站建设公司哪家好?怎么选才能不花冤枉钱?

2026高端网站建设公司哪家好?怎么选才能不花冤枉钱?据艾瑞咨询《2026年中国企业数字化服务市场研究报告》,2025年国内网站建设市场规模已达896亿元,其中高端定制网站服务占比突破42%。更值得关注的是,91%的规模以上企业…

2026/8/20 0:00:46 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/19 11:55:18 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/19 9:46:27 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/19 11:55:16 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/19 5:04:55 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/19 7:42:22 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/19 11:55:13 阅读更多 →