当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我想创建一种无需亲自坐在电脑前即可远程监控电脑性能的方法。无论我正在运行资源密集型任务、玩游戏,还是仅仅想查看系统状态,这款设备都能让我通过任何有网络连接的地方,实时获取CPU、GPU、RAM和SSD的性能数据。

我想创建一种无需亲自坐在电脑前即可远程监控电脑性能的方法。无论我正在运行资源密集型任务、玩游戏,还是仅仅想查看系统状态,这款设备都能让我通过任何有网络连接的地方,实时获取CPUGPU、RAM和SSD的性能数据。

它有什么作用?

这个智能家居项目将一个Particle设备转变为硬件监控中心,可实现以下功能:

•通过串行连接接收实时的PC性能数据

•CPU、GPU、RAM 和 SSD 的运行状态统计(温度、使用率、速度、功耗)

•将编码后的数据上传至 GitHub 进行云存储

•通过LED指示灯提供视觉反馈

•可通过网页界面实现远程监控

硬件要求

所需部件

•粒子光子/氩气(或兼容的粒子物联网设备)

•USB转串口线(用于电脑连接)

•3个LED(可选)——用于视觉反馈的状态指示灯

•3个电阻(可选)——若使用LED,每只220Ω

•面包板和跳线

•带监控软件的电脑(用于收集硬件性能数据)

引脚配置(可选LED)

•引脚4:切换LED(数据传输指示灯)

•引脚5:开关指示灯(系统状态)

•引脚7:接收指示灯(数据接收时闪烁)

注意:LED灯仅用于视觉反馈和调试。系统在没有它们的情况下也能完美运行——它们只是帮助你查看数据的传输与接收情况。

软件与服务

•粒子云平台 - 物联网设备管理

•GitHub API - 通过网络钩子实现云数据存储

•C++ 应用程序 - 本地数据格式化器(texteditor.cpp)

•JavaScript/HTML - 网页仪表盘(index.html,up.js)

•粒子网络钩子 - 将设备连接到 GitHub

工作原理

系统架构

PC硬件统计 → 串行 → 颗粒设备 → 云 → GitHub → 网页仪表盘

数据流

•数据采集:PC监控软件收集硬件统计信息

•格式化:C++ 应用程序将数据格式化为 CSV 并通过串口发送

•处理:粒子固件解析传入的数据(格式:C u 18 = CPU 使用率 18%)

•编码:数据已使用Base64编码以确保安全传输

•上传:通过 webhook 将编码数据发布到 Particle Cloud

•存储:GitHub API 使用基于 SHA 的版本控制来存储数据

•显示:网页界面实时获取并显示更新内容

固件逻辑分析

固件实现了复杂的数据显示处理流程:

输入解析器:采用了一种巧妙的字符级协议

•第一个字符(大写):组件类型(C=CPU,G=GPU,R=RAM,S=SSD)

•第二个字符(小写):计量类型(u=使用量,t=温度,s=速度,p=功率)

•剩余字符:数值

智能SHA管理:

Base64编码:我特别自豪的是能够直接在微控制器上实现Base64编码——这确保了数据在云端传输过程中的完整性,且无需依赖外部库。

这是我在打开更新器,然后查看 GitHub 更新的过程。

面临的挑战

我真正挣扎的地方

1. GitHub API 集成

最大的挑战是实现可靠的云存储。GitHub 的 API 要求文件更新时使用 SHA 哈希值,这意味着需要跟踪版本历史并处理冲突。我必须实现:

•启动时自动获取SHA

•每次成功上传后更新SHA

•SHA 无法使用时的回退逻辑

2. 串行通信可靠性

在PC与粒子设备之间实现稳定的串行通信曾一度颇具挑战:

•需要实现正确的握手(OK确认)

•添加了结束标记以表示数据完成

•已实现输入验证,以防止无效数据

3. 数据编码

在内存有限的微控制器上实现Base64编码需要仔细优化。我不得不编写一个自定义编码器,使其能够与Arduino的String对象兼容。

我是如何克服它的

•全面测试:在代码中添加了串行调试功能

•响应处理器:实现 webhook 响应订阅,以自动更新 SHA

•视觉反馈:LED灯可即时确认每一步操作

•验证函数:创建了 numcheck()、capcheck() 和 lowercheck() 函数,以确保数据完整性

代码亮点

输入解析

该协议在保持可读性以便调试的同时,最大限度地减少了数据传输。

自动SHA管理

设备每次上传后都会自动更新其SHA值,无需人工干预。

安全提示

重要提示:该项目之前在 JavaScript 文件中硬编码了访问令牌。对于生产环境使用,请注意:

•将令牌存储在环境变量中

•使用服务器端代理进行 API 调用

•切勿向代码仓库泄露机密信息

•建议使用 Particle 的身份验证功能

未来改进

如果我能重新开始或继续开发:

•添加温度警报:当温度超过阈值时触发通知

•历史图表:存储并可视化随时间变化的趋势

•移动应用:打造原生应用,享受更佳的移动端体验

•支持多台电脑:可扩展以监控多台计算机

•OLED显示屏:添加本地显示,实时查看统计信息

结论

该项目成功地将嵌入式系统、云API和网络技术相结合,打造了一个实用的家庭自动化解决方案。尽管在API集成和串行通信方面存在挑战,但最终成果仍能实现可靠且实时的电脑监控,无论身处何地均可使用。

所展示的技能

•嵌入式C/C++编程

•串行通信协议

•RESTful API 集成

•数据编码/解析

•云物联网架构

•网页开发(HTML/JS)

如何构建这个项目

想重现这个PC监控系统吗?以下是一份快速指南,帮助你开始:

步骤1:设置 GitHub 存储空间

•创建一个 GitHub 仓库(公开或私有)

•在仓库中创建一个文本文件用于存储数据(例如:creation.txt)

•生成具有仓库权限的 GitHub 个人访问令牌

•GitHub 设置 → 开发者设置 → 个人访问令牌

•生成具有仓库权限的 GitHub 个人访问令牌

•GitHub 设置 → 开发者设置 → 个人访问令牌

•注意文件的SHA哈希值(稍后需要使用)

步骤2:配置Particle Webhooks

•在 Particle 控制台中创建两个网络钩子:

•Webhook 1:获取文件 SHA

•活动名称:request_sha(或您自定义的名称)

•方法:GET

•添加标头:Authorization token, User-Agent, Accept

•响应模板:{{sha}}

•Webhook 2:更新文件

•事件名称:ifttt_upload(或您自定义的名称)

•方法:PUT

•包含内容和SHA字段的JSON体

•回复模板:{{content.sha}}

步骤3:刷写固件

复制粒子固件代码(参见代码部分)

替换占位符:

•初始SHA哈希

•Webhook 名称

•引脚编号(如有不同)

•替换占位符:初始SHA哈希、Webhook名称、PIN码(如不同)

•将Flash传输到您的Particle设备

步骤4:设置PC数据收集

•编译 C++ 格式化程序

•安装电脑监控软件(如HWiNFO、Open Hardware Monitor等)

•配置监控软件,以以下格式输出数据:C u 18(组件、指标、值)

步骤5:创建网页仪表盘(可选)

•设置HTML/JS文件

•添加您的粒子访问令牌

•本地运行或部署到Web服务器

步骤6:硬件组装(可选)

如果你想使用视觉反馈LED:

•将LED与220Ω电阻连接到第4、5和7号引脚

•接地连接

•LED在数据传输期间会闪烁

步骤7:测试系统

•在粒子控制台中调用闪烁函数以激活系统

•运行您的电脑监控软件

•执行 C++ 格式化器以发送数据

•查看 GitHub 文件更新并获取新数据

•请查看网页仪表盘以获取实时显示

提示:

•无需LED即可启动,便于初期测试

•使用串行监视器调试数据流

•如果SHA出现不同步,请手动调用setSha函数

•在运行完整系统之前,先单独测试网络钩子

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

挪威奥斯陆 – 2026年7月2日 – 智能家居行业历经多年迭代,标准化互联、轻量化智能、低功耗落地已然成为产业升级的核心命题。作为全球超低功耗无线互联领域的标杆企业,Nordic Semiconductor始终深耕Ma...

关键字: 智能家居 边缘 AI Matter

Heat Guard 是一款紧凑型实时热指数监测设备,通过实时追踪温度和湿度,帮助您防范潜在的隐形热危害。HeatGuard 是一款基于物联网的先进温湿度监测系统,采用 WEMOS D1 Mini、DHT22 传感器以及...

关键字: 物联网 DHT22 传感器 WEMOS D1 Mini

2026年6月29日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics)宣布,将于7月1-3日重磅亮相2026慕尼黑上海电子展(展位号:N2馆 62...

关键字: 智能家居 智能汽车 AI

ST87M01 NB-IoT 模块系列现已通过 FCC、PTCRB 和 ISED 认证,可在美国和加拿大使用,并已通过 Anatel 认证,可在巴西使用。

关键字: NB-IoT 模块 物联网 5G

在亚马逊云科技中国峰会上,亚马逊全球副总裁、亚马逊云科技亚太区联席总裁储瑞松表示,AI Agents 将重塑协作关系,带来企业组织和价值创造的范式转移。储瑞松指出,AI从一个辅助性的工具变成了真正的生产力,其价值的计量单...

关键字: AI GPU 数据中心

【2026年6月23日,美国加州圣何塞讯】Super Micro Computer, Inc.(NASDAQ:SMCI)作为AI、企业、存储和5G/边缘领域的全方位解决方案,以及数据中心建构组件解决方案(Data Cen...

关键字: 边缘AI 服务器 GPU

随着数字基建的全面落地,大规模物联网已广泛渗透于工业监测、智慧农业、城市治理、智能物流等领域,海量分布式传感器、低功耗终端节点的持续供电问题,成为制约物联网规模化、长效化部署的核心瓶颈。传统电池供电存在寿命有限、更换成本...

关键字: 物联网 电池 能量采集

随着5G独立组网规模化普及以及5G-A技术迭代落地,新一代蜂窝网络突破了4G时代物联网通信的速率、时延、接入密度瓶颈,衍生出超低时延、海量连接、确定性传输、轻量化低功耗、无源物联等全新功能特性。对于物联网设备制造商而言,...

关键字: 物联网 通信 蜂窝网络

在Linux系统的C语言开发中,字节对齐是一个绕不开的基础话题。很多开发者都遇到过这样的困惑:明明计算结构体大小时把每个成员的字节数加起来,结果实际大小却比计算值大上好几倍,甚至修改结构体成员的排列顺序,总大小还会发生变...

关键字: Linux CPU

随着数字经济深度赋能各行各业,物联网已从单一设备联网迈入万物智联的全新阶段。传统4G蜂窝物联网受限于时延、容量、功耗等短板,难以满足工业制造、智慧城市、远程医疗等高端场景的智能化需求。5G技术的全面普及,催生了新一代蜂窝...

关键字: 物联网 通信 万物智联
关闭