上一个帖子介绍了《微雪 RP2040双核开发板》开发环境的选择。这一篇介绍使用本开发板设计一个电脑资源监视器,可以将电脑上CPU、内存等使用情况在开发板上显示出来。
本作品使用微雪RP2040双核开发板作为终端显示,在电脑上使用AIDA64软件收集电脑上的系统运行信息,该软件通过串口发送字符串信息。开发板接收到串口数据后,使用Micro Python对数据进行解析,得到CPU、内存等使用情况,最后显示到LCD屏幕上。系统框架如下图。
图1、框架
AIDA64软件功能较多,本次只使用其中一个串口发送功能。具体设置过程如下图。
图2、AIDA64设置
按照图中数字标注顺序,依次设置,为AIDA64配置一块串口副屏,注意此软件支持的串口通讯波特率为9600,在开发板中也要同样设置为9600才行。
图3、字符串格式设置
上图为字符串格式设置,为了方便在Micro Python程序中对字符串进行解析,这里设置一个简单规则:使用&符号隔开不同项目,使用=符号隔开每个项目的键和值,这样在解析的时候,就很容易获得对应字符串。
在AIDA64配置中,已经设置好了字符串格式,在Micro Python程序中只需按照规则进行一步步分解、存储即可。具体代码如下图。
图4、字符串解析
通过测试代码可以看到,字符串解析成功。
微雪RP2040双核开发板把所有IO口都用背面1.27mm间距的排座引出来了。我这里选用了UART0作为通讯接口,电路里面连接GPIO0(TX)和GPIO1(RX),如下图。
图5、串口连接引脚
我将这两个IO口连接到一块CP2102串口-USB转接小板上,测试能够通讯。连好线的电路板如下图。
图6、硬件连接
在Thonny中编写测试程序,点击运行,从下图可以看到,解析出的结果正确,可以用于后续显示。
图7、串口收数
在官方例程《RP2040-LCD-1.28.py》上面进行修改,插入上面测试通过的代码。原来程序显示的信息大部分我都没有去掉,只是压缩了一下,给时间显示、CPU显示、内存显示留出了空间,并改变了一下背景色,区别开了方便查看。具体代码如下图。
图8、作品代码
最终的显示效果如下图。
图9、作品效果
以上,我使用Micro Python完成了电脑资源监视器这个作品的开发。需要显示的具体信息,可以在搭建好的框架下任意更改,只要AIDA64软件支持的信息,都可以显示到微雪 RP2040双核开发板上面。
总体来说,使用Micro Python设计一些小东西非常简单方便,寥寥几行代码就能实现所需要的功能,比较适合初学者使用。
下一步计划试试在这个圆形屏幕上进行画圆,画弧的设计,不知道能不能做到,加油吧!
引用: tagetage 发表于 2022-12-6 09:22 顶楼主一下,AIDA64输出各种复屏的协议没有吧。
自己设置,怎么方便后期编程,就怎么来,越简单越好
引用: nmg 发表于 2022-12-6 09:12 突然发现,咱论坛网友,python玩的溜的很多啊
引用: tagetage 发表于 2022-12-7 09:43 哦,看到了。是 使用&符号隔开不同项目,使用=符号隔开每个项目的键和值。 原来是自己定义协议 ...
对,因为可以自己定制,所以可玩性很高
引用: lugl4313820 发表于 2022-12-7 08:44 这个设计非常好。有没有考虑用无线网络来做呀。
主要是刚学Python,还不太会弄网络,让我先学学
引用: damiaa 发表于 2022-12-6 12:23 据说RP2040还有人搞了个开源的逻辑分析仪。
在哪在哪?没看到帖子呢
引用: sipower 发表于 2022-12-7 09:57 在哪在哪?没看到帖子呢
浏览器搜一下。不知道哪里看到的。 是个开源项目。
引用: sipower 发表于 2022-12-7 09:57 在哪在哪?没看到帖子呢
基于5块钱的树莓派RP2040,24通道100Msps逻辑分析仪开源项目
https://www.eeworld.com.cn/RDesigns_detail/57471
引用: 秦天qintian0303 发表于 2022-12-8 09:14 这创意不错,不过这个小家伙准备挂在哪里呢?
粘到显示器logo上,哈哈