熊猫不是猫 不要心平气和,不要容你自我昏睡!趁你还年轻,强壮灵活,要永不疲倦地做好事。——契诃夫
博主

46分钟前在线

熊猫不是猫
一经打击就灰心泄气的人,永远是个失败者。——毛姆
歌曲封面 未知作品

萌ICP备20229950号 蜀ICP备2021028903号

网站已运行 6 年 15 天 15 小时 6 分

Powered by Typecho & Sunny

2 online · 40 ms

Title

花100多块钱做了个极空间NAS监控屏,固件已开源!

panda

·

NAS教程

·

Article

NAS、键盘、路由器······年轻就要多折腾。爱折腾的熊猫,今天又给大家分享最近折腾的内容了。关注是对我最大的支持,阿里嘎多~

怕错过熊猫的精彩分享?那就赶快关注下熊猫吧!

引言

起因是极空间的用户群大家都在想能不能做一个针对NAS的监控屏,毕竟现在AI非常好用,且什么开发板都比较便宜,既然现在各大NAS都流行搞个屏幕,极空间自己还没出,那么我们用户自己DIY一个呗。

渲染图

上图为极空间用户群粉丝用AI做的渲染图,不得不说的确是挺好看的,不过熊猫没打算做这么小的,还是想做一个稍微大一点的,一方面屏幕大能显示的同屏信息更多,另一方面也为后续功能升级增加了可能性。当然,这都是我个人的审美和选择。

项目开发

首先需要计划如何来实现极空间信息的获取,不得不说极空间的用户还是挺厉害的,提供了非常多的想法。

其中Media Saber项目有NAS系统状态的skill,这个可以在Media Saber的WIKI中查到,能提供的信息也非常多了,比如设备名、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,随后输入以下代码,如果端口有冲突,记得修改端口。
`

♾️ text 代码:
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卡,那么还可以加更多的动效进去,后续熊猫也会一直更新该固件,更新功能,感兴趣的可以自制一个放在桌面,还是蛮不错的。

以上便是本次分享的全部内容了。如果你觉得还算有趣或对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!

结束图
现在已有 44 次阅读,0 条评论,0 人点赞
Comment:共0条
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主 欢迎来到熊猫的小站,站点内容已全部恢复,不过之前的评论无法恢复,如有友链请在友链界面自行申请 不再显示
博主