Azure Sphere与Grove套件:快速构建安全物联网原型
1. 项目概述当Grove遇见Azure Sphere如果你手头正好有一块Azure Sphere MT3620开发板看着它强大的安全特性和云端连接能力却苦于不知道从哪里开始动手或者觉得连接各种传感器、执行器太麻烦那么今天聊的这个“Grove 入门套件”可能就是为你准备的“开箱即用”解决方案。这不是一个简单的配件包而是一个旨在极大降低物联网原型开发门槛的桥梁套件。它将Seeed Studio广受欢迎的Grove模块化生态系统与微软Azure Sphere高度安全的物联网平台连接起来让你能跳过繁琐的硬件连线、电平转换和基础驱动编写直接聚焦在核心的业务逻辑和云端应用开发上。简单来说这个套件解决的核心痛点就是“快速验证”。在物联网项目中我们常常有一个绝妙的创意但需要快速用实物验证传感器数据是否准确、执行器控制是否可靠、云端通信是否顺畅。传统方式下你需要焊接、杜邦线、查阅各种传感器数据手册、编写底层I2C/ADC驱动这个过程可能就会消耗掉你大半的激情。而Grove入门套件提供的是一套经过验证的、即插即用的硬件模块和一个已经集成好基础驱动软件的开发环境。你拿到手用几根Grove线缆把模块插到配套的扩展板上再写几行C代码调用现成的API就能在几分钟内读到温湿度、检测到光线变化、点亮LED并把数据安全地上传到Azure IoT Hub。这对于开发者、教育者、创客甚至企业进行PoC概念验证来说价值巨大。2. 套件核心组件与硬件解析2.1 Azure Sphere MT3620开发套件安全物联网的基石在深入Grove套件之前必须先理解它的“大脑”——Azure Sphere MT3620开发套件。这块板子远不止是一块普通的微控制器开发板。它的核心是一颗联发科MT3620芯片这是一颗高度集成的微控制器单元但其独特之处在于内置了微软的Pluton安全子系统并获得了Azure Sphere认证。这意味着什么意味着它从硬件层面就为物联网设备提供了企业级的安全保障。传统的物联网设备安全往往依赖于软件容易被攻破。而MT3620实现了硬件信任根、安全启动、设备身份认证、运行时证明等关键安全功能。你的设备从一上电开始每一步操作都在一个受保护的安全环境中进行与云端Azure IoT Hub的通信也是端到端加密的。对于开发而言你无需成为密码学专家就能构建出符合高安全标准的物联网设备原型。开发套件通常还集成了板载调试器、用户按钮、LED指示灯以及最重要的——用于连接外部设备的排针接口这正是Grove扩展板接入的地方。2.2 Grove扩展板硬件连接的“翻译官”Grove入门套件中的核心硬件是一块专为MT3620开发板设计的扩展板或称“Shield”。你可以把它想象成一个“转接板”或“接口板”。它的作用至关重要物理接口适配它严丝合缝地插在MT3620开发板的排针上将开发板引出的GPIO、I2C、UART、ADC等信号接口转换为标准的Grove接口。Grove接口是一个四针的防反插连接器集成了VCC、GND和两条信号线极大简化了连线。电气电平匹配确保Grove模块通常是3.3V或5V逻辑与MT3620的GPIO电平通常是3.3V兼容提供必要的保护。功能区域划分扩展板上会清晰地标注出哪些接口是I2C通常会有多个地址可配置哪些是模拟输入ADC哪些是数字IO哪些是UART。这让你在连接模块时一目了然无需反复查阅原理图。这块扩展板是连接Azure Sphere“大脑”和Grove“感官/四肢”的桥梁没有它Grove模块就无法直接、方便地与MT3620通信。2.3 精选Grove模块典型的物联网感官与执行器套件内包含的Grove模块通常是经过挑选最能代表物联网常见应用的。虽然具体模块可能因套件版本而异但一般会涵盖以下几类环境感知类温湿度传感器如DHT11或更精确的SHT31用于监测环境温湿度是智能家居、农业监测的基础。光线传感器检测环境光强度可用于自动调光、昼夜判断。大气压传感器如BMP280除了气压还能推算海拔和温度用于天气站、室内导航辅助。人机交互类按钮模块最简单的数字输入用于触发操作。旋转电位器提供模拟量输入可用于调节参数如亮度、阈值。OLED显示屏小型用于本地显示数据、状态无需依赖云端即可进行调试和信息展示。执行与控制类LED模块普通或RGB最简单的数字输出用于状态指示或简单控制。继电器模块用于控制高电压、大电流设备如灯、风扇的通断实现物理世界的控制。连接与扩展类I2C Hub当需要连接多个I2C设备时用于扩展I2C接口。这些模块通过Grove线缆四芯防反插与扩展板连接即插即用几乎免焊接。注意不同批次或供应商的入门套件包含的模块可能略有差异。在开始项目前最好根据套件清单确认手头有哪些模块并查阅其具体型号的数据手册尽管Grove库通常已经做了抽象。3. 软件开发环境搭建与项目初始化3.1 Azure Sphere开发环境全景要驱动这套硬件你需要搭建Azure Sphere的开发环境。这主要包含三部分Azure Sphere SDK这是一套核心的工具链包括编译器、库文件、设备管理命令行工具azsphere等。它支持在Windows、Linux上进行开发。开发工具Visual Studio或Visual Studio Code微软官方推荐使用Visual Studio2019或更高版本并安装“Azure Sphere”工作负载它能提供最好的项目模板、调试和部署体验。对于轻量级用户也可以使用VS Code配合相应的扩展。CMakeAzure Sphere项目使用CMake作为构建系统用于管理编译配置。Azure Sphere设备工具用于将你的MT3620开发板配置到某个Azure Sphere租户Tenant并声称设备证书为连接Azure IoT Hub做准备。搭建步骤大致如下首先从微软官网下载并安装Azure Sphere SDK然后安装Visual Studio及Azure Sphere工作负载。安装完成后使用命令行工具azsphere login登录你的微软账户azsphere device claim来声明你的开发板并将其配置到某个开发租户。这个过程会将必要的安全证书和运行时环境部署到设备上。3.2 创建第一个Grove项目环境就绪后在Visual Studio中创建新项目选择“Azure Sphere”类别下的“Blank Azure Sphere App (High-Level)”模板。这个模板会生成一个包含基本CMakeLists.txt和main.c文件的项目结构。接下来是关键一步集成Grove库。Seeed Studio为Azure Sphere提供了官方的“Grove Azure Sphere MT3620 Kit”软件库。你通常需要通过Git克隆或下载这个库并将其作为子模块或直接复制到你的项目目录中。然后在你的CMakeLists.txt文件中通过add_subdirectory()命令包含这个库的路径并target_link_libraries()你的应用程序目标与这个Grove库。这样你的程序就可以调用诸如TemperatureHumidity_Read()、Led_TurnOn()这样的高级API了。3.3 硬件连接与引脚映射配置在编写代码前你需要规划好硬件连接。例如你决定将温湿度传感器连接到扩展板的“I2C0”接口将LED模块连接到“GPIO8”口。你需要在代码中进行正确的引脚初始化。Azure Sphere的引脚抽象为“MT3620 引脚映射”。你不需要直接操作寄存器而是使用Azure Sphere SDK提供的API如GPIO_OpenAsOutput()或I2CMaster_Open()。Grove库通常会在此基础上再做一层封装提供更简单的初始化函数。你必须在代码中明确指定使用的是哪个I2C实例如I2C0、I2C1或哪个GPIO编号这个编号需要与扩展板上的标签以及你实际的物理连接严格对应。一个常见的错误是引脚映射错误导致传感器无响应或LED不亮。务必对照扩展板原理图或丝印仔细核对。4. 核心模块驱动与数据读取实战4.1 I2C传感器驱动详解以温湿度传感器为例I2C是Grove模块中最常用的通信协议之一因为它只需要两根信号线SCL SDA就能连接多个设备。以常见的SHT30温湿度传感器为例我们来看看在Azure Sphere上如何驱动。首先在代码中包含Grove库的头文件例如#include “sht3x.h”。然后你需要初始化I2C主控制器。使用Azure Sphere SDK的I2CMaster_Init()函数指定正确的I2C实例编号如I2C0。Grove库的初始化函数如SHT3X_Init()内部会调用这个函数并设置好通信速率。读取数据时典型的流程是发送测量命令一个特定的I2C写序列到传感器的地址如0x44。等待测量完成SHT30有可选的等待时间或通过查询状态位。从传感器读取数据字节一个I2C读序列。将读取到的原始数据通常是两个字节的温度和两个字节的湿度按照数据手册中的公式进行转换计算得到实际的摄氏温度和百分比湿度。Grove库的好处在于它把步骤1-3封装成了一个简单的函数SHT3X_ReadTemperatureHumidity()你调用它就能直接获得浮点型的温度和湿度值无需关心底层的I2C时序和CRC校验如果库实现了的话。你的主要工作就是周期性地调用这个读取函数并处理返回的数据。4.2 GPIO控制与中断处理以按钮和LED为例GPIO的控制相对直接。对于LED输出你使用GPIO_OpenAsOutput()打开一个GPIO引脚然后使用GPIO_SetValue()将其设置为高电平点亮或低电平熄灭。Grove库可能提供一个Led_On()/Led_Off()的封装。对于按钮输入情况稍微复杂。你可以使用轮询方式在一个循环中不断GPIO_GetValue()读取引脚状态。但更高效的方式是使用中断。你可以将按钮引脚配置为边沿触发中断下降沿表示按下上升沿表示释放并注册一个回调函数。当按钮状态变化时硬件中断会触发并调用你的回调函数进行处理这样CPU就不需要一直空转等待。在Azure Sphere中使用GPIO_OpenAsInput()打开输入引脚然后使用GPIO_SetDebounce()设置防抖时间对于机械按钮至关重要可以滤除抖动引起的误触发最后通过GPIO_SetCallback()注册中断回调函数。在回调函数中切记不要进行复杂的、耗时的操作通常只是设置一个标志位或发送一个消息到主循环进行处理。4.3 模拟信号读取以旋转电位器为例有些Grove模块输出的是模拟信号比如旋转电位器它通过改变电阻分压输出一个0-VCC之间的电压值。MT3620有内置的ADC模数转换器可以读取这个电压。你需要将模块连接到扩展板标有“ADC”或“A0”等字样的接口。在代码中使用ADC_Open()打开对应的ADC通道然后使用ADC_PollRead()或配置定时采样来读取原始值。读取到的值是一个整数范围取决于ADC的分辨率例如12位ADC的范围是0-4095。这个原始值需要根据参考电压通常是3.3V进行换算才能得到实际的电压值电压 (原始值 / 最大原始值) * 参考电压。对于电位器这个电压值就对应了旋钮的位置。你可以将其映射为你需要的控制参数比如LED的亮度通过PWM控制、一个阈值或者一个发送到云端的数值。5. 数据上云与Azure IoT Hub集成5.1 配置设备连接Azure IoT Hub让设备数据上云是Azure Sphere的核心价值。首先你需要在Azure门户上创建一个Azure IoT Hub资源。然后在IoT Hub中为你这块MT3620开发板创建设备标识。创建时IoT Hub会生成一个连接字符串其中包含了IoT Hub的主机名、设备ID和共享访问密钥。传统的物联网设备需要手动将这个连接字符串硬编码或通过某种方式配置到设备固件中既不安全也不灵活。Azure Sphere采用了更安全的方式设备证明。在你之前azsphere device claim的过程中设备已经获得了它自己的唯一身份证书。你只需要在Azure IoT Hub中将设备的Azure Sphere租户ID和设备ID进行关联可以通过Device Provisioning Service DPS进行自动注册也可以手动上传设备的证书指纹进行验证。这样设备在启动时会用自己的硬件安全证书向Azure进行身份验证无需在代码中存储敏感的连接字符串。在你的应用程序代码中你需要使用Azure Sphere SDK的IoT相关库如azure_iot并配置IoT Hub的主机名和设备ID。SDK会利用设备的安全子系统自动完成基于证书的TLS握手和连接建立。5.2 构建与发送设备到云D2C消息连接建立后你就可以发送数据了。物联网设备发送的数据通常封装成JSON格式的消息。你需要构建一个JSON对象包含你想要上报的属性和遥测数据。例如{ “deviceId”: “myMt3620Device”, “temperature”: 25.6, “humidity”: 60.2, “lightLevel”: 320, “timestamp”: “2023-10-27T10:30:00Z” }使用SDK提供的API如azure_iot_send_telemetry()将序列化后的JSON字符串作为消息负载发送出去。你可以设置发送的质量等级QoS和是否保留消息。一个良好的实践是定时发送例如每5秒或者在数据变化超过一定阈值时发送以平衡数据实时性和网络流量/功耗。5.3 接收云到设备C2D消息与直接方法调用物联网不仅是上传数据还包括接收控制指令。Azure IoT Hub支持两种主要的设备控制方式云到设备消息云端应用向特定设备发送一条消息设备异步接收并处理。这适用于非紧急的指令或通知。在你的设备代码中需要注册一个消息回调函数当收到消息时解析其中的命令例如{“command”: “led”, “state”: “on”}并执行相应的操作如点亮LED。直接方法这更像一个远程过程调用RPC。云端应用调用设备上预先定义好的一个方法如SetLedState并传递参数。设备同步执行该方法并立即返回一个结果和状态码。这种方式响应更及时适合需要确认的即时控制。你需要在设备代码中注册直接方法的处理函数。通过结合D2C遥测和C2D控制/方法你就实现了一个完整的物联网双向通信闭环。例如设备上报环境温度云端逻辑判断温度过高则通过直接方法调用发送指令让设备打开连接在继电器上的风扇。6. 项目实战构建一个智能环境监测终端6.1 系统功能设计与架构让我们综合运用以上知识构建一个简单的智能环境监测终端。它的功能是感知周期性地读取温湿度、光照强度。显示在本地OLED屏幕上实时显示这些数据。上报将数据打包成JSON定时发送到Azure IoT Hub。接收控制接收来自云端的指令控制板载LED的开关作为远程状态指示。本地交互通过按钮可以切换OLED屏幕的显示页面比如一页显示实时数据一页显示历史最大值最小值。系统架构很清晰以MT3620为主控通过Grove扩展板连接SHT30温湿度传感器、光线传感器、OLED屏、按钮和LED。主程序包含一个定时器循环用于感知和上报、中断服务用于按钮响应、以及云端消息处理线程。6.2 代码实现与多任务协调在main.c中你需要初始化所有硬件依次调用各个Grove模块的初始化函数配置按钮中断。建立云端连接初始化IoT Hub客户端并连接。启动主循环使用一个定时器每2秒触发一次。在定时器回调中读取所有传感器数据更新OLED显示并构建遥测消息。注意不要在中断回调中进行复杂的网络操作如发送消息这可能导致阻塞。更好的做法是在回调中设置标志位在主循环中检查标志位并执行发送。主循环同时需要调用IoT客户端的DoWork()函数以处理网络连接的维持、消息的发送和接收。当收到云端发来的直接方法调用如SetLedState时相应的方法处理函数会被调用在其中解析参数并控制LED。处理按钮中断在按钮中断回调函数中仅进行防抖处理和页面索引的增减操作避免耗时操作。页面刷新的实际工作放在主循环或定时器循环中根据页面索引进行。这里的关键是多任务协调。Azure Sphere SDK基于FreeRTOS提供了线程和事件机制。你需要合理设计确保传感器读取、显示刷新、网络通信、用户交互这几个任务不会互相阻塞。例如网络发送可能比较慢应该使用异步方式或将数据放入队列由单独的线程处理避免影响传感器采样的实时性。6.3 云端仪表板可视化与告警设置设备端完成后你可以在Azure云端进行完善创建Azure IoT Central应用可选但推荐IoT Central是构建在IoT Hub之上的SaaS服务可以更快地创建设备模板、数据看板和规则。你可以定义一个设备模板匹配你设备发送的遥测数据格式然后就能自动生成一个包含图表、仪表盘的可视化界面实时查看温湿度曲线。设置规则和告警在IoT Hub或IoT Central中可以创建规则。例如当温度连续超过30度达到1分钟时触发一个动作。这个动作可以是发送邮件或短信通知管理员。调用一个Azure Logic App或Function执行更复杂的业务逻辑。向设备发送一条云到设备消息触发设备本地报警如让RGB LED闪烁红色。数据持久化与分析配置IoT Hub的消息路由将设备数据自动转发到Azure Blob Storage进行长期存储或者转发到Azure Stream Analytics、Azure Databricks进行大数据分析。至此一个从端到云、具备感知、显示、控制、分析和可视化能力的完整物联网原型就搭建成功了。整个过程得益于Grove套件的硬件抽象和Azure Sphere的安全云连接让你能将绝大部分精力集中在应用逻辑本身而不是底层硬件调试和安全协议实现上。

相关新闻

MSK调制解调技术原理与Matlab仿真实现

MSK调制解调技术原理与Matlab仿真实现

1. MSK调制解调技术基础解析MSK(Minimum Shift Keying)是一种高效的连续相位频移键控调制技术,本质上属于FSK的特殊形式。其核心特征是通过保持相位连续性和最小频偏(0.5倍符号速率)来实现频谱效率最大化。在无线通信系…

2026/8/3 9:06:50 阅读更多 →
Unity复古游戏场景制作:Free 1980资源包实战与优化指南

Unity复古游戏场景制作:Free 1980资源包实战与优化指南

1. 项目概述:不只是“免费”,更是一把开启复古游戏世界的钥匙 最近在Unity社区里,Free 1980 - MidPoly Retro Rooms这个资源包的热度一直不低。很多开发者,尤其是独立游戏制作人和学生,都在寻找能快速搭建独特视觉风格…

2026/8/3 9:06:50 阅读更多 →
阿里后端实习面试:从八股文到系统设计的深度工程实践

阿里后端实习面试:从八股文到系统设计的深度工程实践

1. 从“八股文”到“活问题”:我理解的阿里实习面试本质 去年秋天,我拿到了阿里巴巴一个后端开发实习岗位的Offer。整个过程走下来,最大的感受是,网上流传的那些“面试八股文”题库,比如“Java面试问题大全及答案大全”…

2026/8/3 9:06:50 阅读更多 →

最新新闻

Real-ESRGAN x4plus Anime 6B:轻量级动漫图像超分辨率模型的技术集成指南

Real-ESRGAN x4plus Anime 6B:轻量级动漫图像超分辨率模型的技术集成指南

Real-ESRGAN x4plus Anime 6B:轻量级动漫图像超分辨率模型的技术集成指南 【免费下载链接】realesrgan-x4plus-anime-6b 项目地址: https://ai.gitcode.com/hf_mirrors/amd/realesrgan-x4plus-anime-6b 架构分析与性能对比 Real-ESRGAN x4plus Anime 6B采用…

2026/8/3 9:54:14 阅读更多 →
SpringBoot+Vue校园活动管理系统开发实践

SpringBoot+Vue校园活动管理系统开发实践

1. 校园活动管理系统概述校园活动管理系统是高校信息化建设的重要组成部分,它通过数字化手段解决传统校园活动管理中的效率低下、信息不对称等问题。这个基于SpringBootVue的前后端分离系统,能够实现从活动发布、报名、审核到统计的全流程管理。我在实际…

2026/8/3 9:54:14 阅读更多 →
AI角色情绪表达:从提示词设计到工程实践

AI角色情绪表达:从提示词设计到工程实践

1. 先搞清楚“AI角色情绪表达”到底在解决什么问题如果你用过一些AI对话工具,可能会发现一个常见问题:生成的回复内容虽然通顺,但总感觉冷冰冰的,缺乏“人味儿”。角色要么过于理性,要么情绪单一,很难塑造出…

2026/8/3 9:54:14 阅读更多 →
ROS工作空间与功能包创建与管理指南

ROS工作空间与功能包创建与管理指南

1. ROS工作空间与功能包基础概念在机器人操作系统(ROS)的开发过程中,工作空间(workspace)和功能包(package)是最基础也是最重要的两个概念。作为ROS开发者,我每天的工作都是从创建和配置工作空间开始的。工作空间本质上是一个特定结构的目录,…

2026/8/3 9:54:14 阅读更多 →
FineReport填报报表实战:从数据收集到入库的完整解决方案

FineReport填报报表实战:从数据收集到入库的完整解决方案

1. 项目概述:从数据收集到报表呈现的闭环 在数据驱动的业务场景里,报表从来不只是单向的“看”,更重要的是双向的“填”与“改”。帆软 FineReport 的填报报表功能,正是打通这“最后一公里”的关键工具。它让静态的报表活了起来&a…

2026/8/3 9:54:14 阅读更多 →
FIFA 23生涯模式终极改造:免费开源修改器完整使用教程

FIFA 23生涯模式终极改造:免费开源修改器完整使用教程

FIFA 23生涯模式终极改造:免费开源修改器完整使用教程 【免费下载链接】FIFA-23-Live-Editor FIFA 23 Live Editor 项目地址: https://gitcode.com/gh_mirrors/fi/FIFA-23-Live-Editor 还在为FIFA 23生涯模式的限制感到沮丧吗?想要完全掌控你的足…

2026/8/3 9:53:13 阅读更多 →

日新闻

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:47 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/3 5:19:38 阅读更多 →
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/3 8:27:36 阅读更多 →