V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
villivateur
1.57D

Topuino - 你愿意在办公桌上放一个监控服务器的小摆件吗?

  villivateur · Sep 1, 2021 · 14490 views
This topic created in 1711 days ago, the information mentioned may be changed or developed.

我做了一个用来监控服务器的桌面小摆件

什么是 Topuino

Topuino 是我 DIY 的一个桌面小摆件,可以实现通用服务器或计算机的数据监控,包括 CPU 占用、RAM 占用、两个硬盘的可用空间、硬盘读写速度、网络 IO 速率。

为什么叫 Topuino

在 Linux 系列服务器上,我们通常使用 top 命令查看 CPU 内存占用,我最初的设想也是将 top 命令实物化,这就是 Topuino 中 Top 的由来。

在选型的时候,为了兼顾开发效率和成本,我选用了大名鼎鼎的 ESP8266 单片机,配合了 Arduino 开发框架,Arduino 则是 Topuino 中 uino 的由来。

Topuino 有哪些亮点

先看图解:

  1. 我觉得它挺好看,哑光黑的 PCB 底板富有科技感,红绿蓝三色 LED 层次分明,指示性强;
  2. 显示的参数满足大部分的需求,刷新率为 1 秒,CPU 、内存、磁盘占用以百分比表示在柱状图上,磁盘、网络 IO 各以四位数码管显示,配合 KB 、MB 单位显示,可以表示 0KB - 9999MB /s 的速率;
  3. 配置、操作方便。在需要监控的服务器上只需要跑一个 python 脚本即可; Topuino 首次上电后支持用手机或任何支持 Wi-Fi 的设备连接,并通过浏览器配置。若需要重新配置,通过按键即可恢复;
  4. 使用了通用的 USB-TypeC 接口(后期会做带电池版本);
  5. 成本不高,谁都可以承担。

Topuino 的工作原理

  • 服务器部分很简单,主站使用了 Flask,维护一个数据库,保存着从站(被监控服务器) UUID 与运行参数的映射关系(实际上现在是用 python 的字典简单实现的)。主站接收从站的运行数据,并向 Topuino 回传数据;
  • 服务器从站采用 python 的 psutil 库,获取所有的运行数据;
  • Topuino 硬件部分使用了 ESP-12F 作为 MCU,显示采用 LED 整列和数码管,显示驱动是 TM1638 芯片。

附上原理图:

PCB 打样交给专门的厂家,回来自己焊。

结语

你愿意在办公桌上放一个监控服务器的小摆件吗?至少,我做出来之后,很喜欢,就像看着一只猫一样。

另:ESP8266 的代码初步开源在 https://github.com/Villivateur/Topuino ,供大家参考。服务器端代码因为太简单且写得太丑,以后再说吧~~

全文转载自: https://blog.vvzero.com/2021/08/31/Topuino-the-wonderful-Knickknack-for-server-monitoring/

Supplement 1  ·  Sep 1, 2021
统一回复一下,为什么用 LED 做得这么露骨?为什么不用显示屏?

1. 因为想要赛博朋克一点
2. 我要把成本控制在 20 元以内
125 replies    2022-06-20 09:22:58 +08:00
1  2  
mosliu
    101
mosliu  
   Sep 2, 2021
有 pcb 文件么 可以打板看看
cclin
    102
cclin  
   Sep 2, 2021 via Android
挺喜欢这个风格的,不过服务器太多了,而且没有位置放它
NoirStrike
    103
NoirStrike  
   Sep 2, 2021
觉得这个更适合看自己的电脑状态, 233
tysb777
    104
tysb777  
   Sep 2, 2021
太酷了把
villivateur
    105
villivateur  
OP
   Sep 2, 2021 via Android
@mosliu dmlsbGl2YXRldXJAdnZ6ZXJvLmNvbQ== 联系我把 Gerber 发你
vcode
    106
vcode  
   Sep 2, 2021
太秀了吧
MrTwisted
    107
MrTwisted  
   Sep 2, 2021
酷!
darknoll
    108
darknoll  
   Sep 3, 2021 via Android
太伤眼睛了
macy
    109
macy  
   Sep 3, 2021
可以接在树莓派上么?
villivateur
    110
villivateur  
OP
   Sep 3, 2021 via Android
@macy 可以的
0lobster0
    111
0lobster0  
   Sep 4, 2021
为什么不选择 lcd 屏,或者水墨屏,spi 接口的。水墨屏可以电池供电,动态唤醒刷新。。。
villivateur
    112
villivateur  
OP
   Sep 4, 2021 via Android
@0lobster0 看下附言
PixelCode
    113
PixelCode  
   Sep 6, 2021
真棒,楼主能写连接 socket 服务器的硬件吗?
wwwcg
    114
wwwcg  
   Sep 7, 2021 via iPhone
有点赛博朋克的感觉了,作为一个玩具很 666
zsxzy
    115
zsxzy  
   Sep 8, 2021
很赛博朋克
psterman
    116
psterman  
   Sep 10, 2021
我选择 aida64
suxin1995
    117
suxin1995  
   Sep 10, 2021
很秀
rosees
    118
rosees  
   Sep 13, 2021
插电 不好看
充电 时不时充电很烦
浏览器放个标签就能解决的事情,就不弄得那么复杂了
devzhi
    119
devzhi  
   Sep 13, 2021
感觉放办公桌上这个灯会很刺眼
villivateur
    120
villivateur  
OP
   Sep 13, 2021
@y0bcn 其实实际上不亮,拍照曝光问题
guxin0123
    121
guxin0123  
   Sep 16, 2021
这个突出的 wifi 天线。。。
sakuraSou
    122
sakuraSou  
   Sep 17, 2021
巧了,楼主,咱两想法一样,我也是用 esp8266 做了一个,用的 128x64 黑白屏幕,服务端用的 nodejs
https://github.com/sakura-he/OLEDMonitorClient/blob/master/README.md
clf
    123
clf  
   Sep 18, 2021
换个彩色的 LCD 屏幕我会更喜欢。目前的风格过于硬核
CSGO
    124
CSGO  
   Jun 20, 2022
思路可以,但是面板太丑了,可以设计一下
villivateur
    125
villivateur  
OP
   Jun 20, 2022
@CSGO 新款的设计可见 https://iot.vvzero.com/
1  2  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2966 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 129ms · UTC 14:58 · PVG 22:58 · LAX 07:58 · JFK 10:58
♥ Do have faith in what you're doing.