新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 【M5CoreS3评测】基于M5CoreS3的通知与状态中心

【M5CoreS3评测】基于M5CoreS3的通知与状态中心

作者:scgummy 时间:2025-11-02 来源:EEPW 收藏

笔者打算使用M5Stack Core S3套件设计一个集中式的通知与状态中心,借助了开源的KDE Connect实现了设备信息互联,在Linux主机运行上位机:将主机的资源使用状态与汇总的通知利用Wi-Fi推送到设备上。

1762086085493126.jpg

1   UI设计

使用UIFlow进行图形界面设计,我们需要为CPU、内存分别设计百分比指示器,为了显示更详尽的内存使用情况,预留了已使用内存与总内存的标签。

1762086123448755.png

1762086134410358.png

我们摘取生成的代码并进行一个简单的封装得到一个‘UI’类,通过‘load’可进行初始化,只需要在主循环中调用‘update’即可进行UI事件循环。

image.png

image.png

image.png

image.png

image.png

真机测试效果,感觉不错哦

1762086345694987.png

2   设备协议API设计

接下来是设备API设计,我们让设备在Wi-Fi 链路上开启一个HTTP服务器,实现远程上报资源状态与汇总通知;这里借助了开源的`MicroPyServer`,并进行了一个额外的封装来适应我们之前的代码,实现了`/resources` 和`/notifications` 这两个接口,包含HTTP路由与Wi-FI AP 配置的代码部分如下:

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

可以通过‘curl’工具进行测试,这里随机设置了一些资源状况与通知内容。

image.png

1762087342143168.png

3   通知上位机

接下来我们着手编写上位机了,上位机同样使用Python编写,为了之后接入KDE Connect,我们采用DBus接口读取系统发送的通知,并定期通过`psutil` Python库读取系统CPU利用率以及内存使用情况,将每条通知与资源状况通过HTTP接口发往设备,设备就可以显示了。

image.png

image.png

image.png

image.png

image.png

4   设备互联

KDE Connect是一个开源的设备互联套件,可以兼容Windows/Linux/macOS/Android/iOS,我们只需要在手机和PC上安装KDE Connect,连接到同一网络(或者也可以手动输入IP)后就可开始互联,手机上的首页可以看到PC 设备的名称。

image.png

因为KDE Connect是端到端加密的,接下来需要进行配对,为了防止中间人攻击,我们要确认双方设备的PIN码一致。

image.png

1762087735831354.png

然后双方就配对成功了,可以执行各类操作。

5   效果展示

系统资源状况同步,运行了‘yes’命令用来增加CPU利用率以作比较;

1762088067122881.jpg

1762088166361457.jpg

微信通知同步,由于涉及到好友隐私故码去大部分信息;

1762088251514141.jpg

邮箱通知同步,具体的内容取决于邮箱app;

1762088380183705.jpg

iOS 设备也可以安装KDE Connect 达到类似的效果。

6   总结

基于M5Stack的这款Core S3套件,我们完成了一个好看又好用的交互小摆件,它能够根据手机通知时时刻刻提醒我们最近发生了什么,确保我们不会遗忘,同时也能方便地查看当前计算机的运行状况。

(本文来源于《EEPW》


关键词: 202510 M5CoreS3

评论


技术专区

关闭