标题蹭下热度,同时响应下论坛的号召【头脑风暴】黑悟空火了,怎么做个适配的游戏外设?- 主题月 - 恩智浦技术社区 (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的状态了。
全部0条评论
快来发表一下你的评论吧 !