利用MCXN947显示电脑状态

描述

标题蹭下热度,同时响应下william hill官网 的号召【头脑风暴】黑悟空火了,怎么做个适配的游戏外设?- 主题月 - 恩智浦技术社区 (nxpic.org.cn) 但愿黑神话热度不减还是大几十号人PK一个天兵天将。

本天命人在周游四大部洲时某“大师”总是提醒我系统过热之类,神烦。本人之前基于LPC54608打造过一款电脑状态显示的小玩意,应该能避免“大师”的不断叮咛,还可以监控系统避免显卡过热造成损失。具体移步这里瞄瞄,这款是我自己闹着玩的,用了大量的网图是个非常大的问题,没办法公开出来,自己玩玩估计问题不大。

【MCU版的PC副屏系统信息显示器-基于LittleVGL,分辨率800x480的-哔哩哔哩】 

所以这里还是本着我为人人能达到“开源”效果的前提下,整理了代码并且调整了界面配置(全是免费的字体,没有图片)。当然一不做二不休,顺手移植到了MCXN947平台上,之前咱们免费赠送了不少MCX-N9xx-BRK的板子,也算能派上用场不吃灰了。

进入正题,类似的实现有很多,比如开源的HardwareSerialMonitor,还有基于AIDA64的。这里咱们用的是基于OpenHardwareMonitor.dll,项目开始阶段绕了点弯路用了Libre HardwareMonitor感觉本人水平确实有限没用起来,老老实实用回了OpenHardwareMonitor,虽然大几年没更新了,但是我得电脑也不是太新,尚且能用。

硬件如下图,利用了MCX-N9xx-BRK的板子的USB接口和电脑连接,同是连接咱们的LCD-PAR-S0353.5寸的LCD。

显示器

软件嘛,本人水平有限,上位机用的python,python主要调用了OpenHardwareMonitor,pusil, wmi 以及smartctl。这四种各有所短,需要配合使用,所有的数据信息都是用过pyserial,利用虚拟串口透传给MCX-Nxxx-BRK板子:

主力的传感器信息还是通过OpenHardwareMonitor获取的

pusil可以帮助我们获取各个内核的占用率

wmi帮助我们获取DDR的容量,DDR的占用率,以及屏幕的分辨率

Smartctl可以帮助我们更好的拿到SSD硬盘的温度,使用率等信息

显示器

MCU显示界面咱们用的LVGL加上NXP的Gui Guider这个大杀器,MCU的界面设计很容易,全文文字信息,能看就行。   显示器

MCU和PC通信咱们用的是USB device虚拟一个VCOM,用SDK的原生代码修改下就行,配合python脚本下发的命令,去更新MCU界面的信息。

这里是MCU接收PC来的信息加以分析并显示的代码段:

显示器

以下是Python上位机获取CPU相关信息的并发送给MCU的代码:

显示器

NXP的GUI Guider可以很容易的配合自家的MCUXpresso将生成的界面代码直接导入到工程中,直接用“generated”文件夹下的code就行,开发非常的方便,为开发团队点个赞!

显示器

编译下载,一切就绪后,就可以在PC端运行Python脚本开始监控PC的状态了。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分