花100多块钱做了个极空间NAS监控屏,固件已开源!
NAS、键盘、路由器······年轻就要多折腾。爱折腾的熊猫,今天又给大家分享最近折腾的内容了。关注是对我最大的支持,阿里嘎多~
怕错过熊猫的精彩分享?那就赶快关注下熊猫吧!
引言
起因是极空间的用户群大家都在想能不能做一个针对NAS的监控屏,毕竟现在AI非常好用,且什么开发板都比较便宜,既然现在各大NAS都流行搞个屏幕,极空间自己还没出,那么我们用户自己DIY一个呗。
渲染图上图为极空间用户群粉丝用AI做的渲染图,不得不说的确是挺好看的,不过熊猫没打算做这么小的,还是想做一个稍微大一点的,一方面屏幕大能显示的同屏信息更多,另一方面也为后续功能升级增加了可能性。当然,这都是我个人的审美和选择。
项目开发
首先需要计划如何来实现极空间信息的获取,不得不说极空间的用户还是挺厉害的,提供了非常多的想法。
网上也有项目有NAS系统状态的skill,这个可以自行在github搜索,或者自行抓信息,能提供的信息也非常多了,比如设备名、CPU、内存、存储空间、磁盘、网络以及风扇等等。

不过这种方法需要的权限比较高,再一个skill的方式并不适合开发板用来读取信息,加上后续的扩展性也不大,所以如果只是用于Agent,那么skill的确非常好用,但我们想要的是最方便的方法。
Docker方式再一个,为了能兼顾多设备,同时支持域名方式去轮询NAS的信息,于是熊猫最后还是采用了我最熟悉的Docker作为服务端的形式,ESP开发板仅作为前端去轮询Docker获取的json信息,然后显示到显示屏上。
项目信息为了让界面UI不显得拥挤,同时也好看一点,所以我做了多页分页显示,通过触摸屏进行滑动切换,同时也给项目做了web的后台,这样就能通过web来实现IP、域名以及端口设置,查看链接状态。
硬件选择上熊猫用了微雪的esp-s3,屏幕为5寸的LCD触控屏,至于外壳毕竟有详细的参数,直接3D打印就行了,板子价格差多150左右。
开发板同时为了能脱离供电线,熊猫后续还买了个1.25端子的600mAh的电池,不过实际用了之后就后悔了,因为5寸的屏幕配上600mAh的电池待机最高亮度下其实也就一小时左右,属于是聊胜于无了,如果想要增加电池容量,那也就意味着电池的厚度会增加,那外壳设计也要增加了,我是觉得没必要。
电池项目需要的固件熊猫已经开源在Github上了,有需要的可以自行去查看,其中至少80%代码都是由AI完成。项目地址为:https://github.com/Panda-995/NASflow,同时在agent文件夹下也提供了NAS端的Compose。
信息采集端首先说一下这个板子的大概参数,一共16MB的闪存,其中还有8MB的PSRAM,分辨率为1024x600,支持的接口非常多,这里直接上微雪官方的图,后续你可以接入的外部设备也很丰富,例如摄像头、麦克风、喇叭、马达等等。
扩展性通过C口连接电脑,将固件刷入ESP中就行,这时候直接启动会显示等待NAS数据,之后则是提示NAS离线等待数据,不过ESP会启动后台,通过设置界面中的信息可以看到它的IP,通过IP就能访问后台。
界面后台中可以设置NAS的主机地址以及端口,同时可以设置数据的刷新间隔以及测试连接状态。
后台这时候我们需要在极空间的NAS中去启动Docker的服务端来获取NAS的信息,在极空间Docker中选择Compose,随后输入以下代码,如果端口有冲突,记得修改端口。 `
services:`
`nasflow:`
`image: ghcr.milu.moe/panda-995/nasflow:latest`
`container_name: nasflow`
`restart: unless-stopped`
`network_mode: host`
`pid: host`
`privileged: true`
`environment:`
`NAS_AGENT_BIND_HOST: "0.0.0.0"`
`NAS_AGENT_PORT: "8088"`
`NAS_AGENT_ENABLE_SMART: "true"`
`NAS_AGENT_ENABLE_NVME: "true"`
`NAS_AGENT_ENABLE_DOCKER: "true"`
`NAS_AGENT_POLLING_INTERVAL_MS: "1000"`
`NAS_AGENT_SMART_INTERVAL_SEC: "120"`
`NAS_AGENT_NVME_INTERVAL_SEC: "30"`
`NAS_AGENT_DOCKER_INTERVAL_SEC: "10"`
`NAS_AGENT_STORAGE_INTERVAL_SEC: "15"`
`volumes:`
`- /var/run/docker.sock:/var/run/docker.sock:ro
容器构建
随后我们在esp的后台界面中填入极空间的IP以及我们docker项目的端口就行,如果你有DDNS,也支持域名的方式,测试已连接之后就能看到esp的监控端有信息显示了。
信息展示
总览会显示当前设备的大概一些情况,例如运行时间、温度、网络、CPU以及内存等情况,同时熊猫给网络做了动态的波动图,这样好看一点。
总览随后则是每个页面有自己专门的内容展示,例如性能界面会显示CPU负载,内存占用以及SWAP存储等等。
性能界面硬盘界面则能读取硬盘的温度、时长以及坏道情况,同时也能看到M.2盘的磨损情况,这些都是通过极空间给到的信息。
硬盘同时监控屏也支持Docker容器的查看,能看到当前有哪些容器在运行,不过因为esp只是作为显示设备,所以并不支持操作运行和停止,熊猫个人也觉得没这个必要。
容器写在最后
整体的效果目前熊猫还是蛮满意的,因为受限于esp本身的存储空间有限,没办法做太多的美化,如果愿意插tf卡,那么还可以加更多的动效进去,后续熊猫也会一直更新该固件,更新功能,感兴趣的可以自制一个放在桌面,还是蛮不错的。
以上便是本次分享的全部内容了。如果你觉得还算有趣或对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!
结束图作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

熊猫不是猫QAQ
校验提示文案
猫一的马甲
校验提示文案
路人甲就是我
校验提示文案
天空的城蛏
校验提示文案
长着青春痘的青蛙
校验提示文案
韡華
校验提示文案
边走边唱的走
校验提示文案
asct
校验提示文案
某灬昔
校验提示文案
asct
校验提示文案
路人甲就是我
校验提示文案
边走边唱的走
校验提示文案
韡華
校验提示文案
长着青春痘的青蛙
校验提示文案
天空的城蛏
校验提示文案
猫一的马甲
校验提示文案
某灬昔
校验提示文案
熊猫不是猫QAQ
校验提示文案