V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
villivateur
V2EX  ›  分享创造

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

  villivateur · 97 天前 · 9565 次点击
这是一个创建于 97 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

什么是 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/

第 1 条附言  ·  97 天前
统一回复一下,为什么用 LED 做得这么露骨?为什么不用显示屏?

1. 因为想要赛博朋克一点
2. 我要把成本控制在 20 元以内
123 条回复    2021-09-18 11:27:58 +08:00
1  2  
fox0001
    1
fox0001  
   97 天前 via Android   ❤️ 2
首先,点赞一个。其次,不愿意放在办公桌…
HannibaI
    2
HannibaI  
   97 天前
挺有意思的
ThinkMan
    3
ThinkMan  
   97 天前 via iPhone
也赞一个
tulongtou
    4
tulongtou  
   97 天前 via iPhone   ❤️ 1
挺好的,不过二极管看起来有点刺眼,如果换上液晶屏幕就更好了
ddzzhen
    5
ddzzhen  
   97 天前 via Android
这年头玩 esp 的都是未来的潜力股,这玩意可以接管手机通知提醒吗
arthurire
    6
arthurire  
   97 天前
我觉得创意挺好的,界面可能要打磨一下,有些太简陋了...
szxczyc
    7
szxczyc  
   97 天前 via iPhone
胖友,做个屏幕的吧🌝🌝这也太刺眼了
JoJoJoJ
    8
JoJoJoJ  
   97 天前 via iPhone
太丑了,好歹那些没用的丝印就不要印上去了
wensonsmith
    9
wensonsmith  
   97 天前
曾经也想过,不过弄个液晶屏是不是美丽些

这个够硬核,但放桌子上像是开发版。。不像是摆件
tonzeng
    10
tonzeng  
   97 天前   ❤️ 2
有个问题。。我不止一台服务器怎么办。。。

抬了一下头,对面墙壁感觉不够放

要是放了,感觉每天会被闪瞎哈哈哈哈哈哈哈哈哈


(你要不要在开个窗口,可以选择服务器的,或者轮流播放。)
nicebird
    11
nicebird  
   97 天前   ❤️ 1
不愿意- -,有监控报警就行了
ihipop
    12
ihipop  
   97 天前 via Android
感觉液晶的会更好,应变力更墙。
yolee599
    13
yolee599  
   97 天前 via Android
夜晚太亮了,刺眼
mlhorizon
    14
mlhorizon  
   97 天前
创意不错,样子差了点。

裸的 LED,特别是蓝色和绿色,都很晃眼,用个磨砂的塑料片挡一下会好很多。
数码管颜色没问题,但凸起来有点违和,在 PCB 上开孔嵌进去,压低会好看一些。
综合来说,就是打平所有发光的地方,加个外壳,再做个蒙皮挡一挡光会更好看一些。

另外就是这么一个东西摆桌上,只能监控一台服务器,还只能看 top 信息,功能太单一了点。
所以楼上有同学建议上屏幕。屏幕比 LED 和数码管,是没那么极客了,但信息多了,变化也多了。

最后,不管怎么样,给楼主这动手能力点个赞!
missdeer
    15
missdeer  
   97 天前
只能监控一个机器?
villivateur
    16
villivateur  
OP
   97 天前
@tulongtou
@arthurire
@wensonsmith
@ihipop
@mlhorizon

感谢回复,液晶屏的话就没那味了,都用液晶屏了为啥不直接在手机上查看?而且液晶屏的成本跟现在比不是一个数量级的。
villivateur
    17
villivateur  
OP
   97 天前
@missdeer
@tonzeng
也许可以改下软件,在多个服务器之间切换显示
wellsc
    18
wellsc  
   97 天前
问题是我有几百台服务器,要怎么展示
bing0
    19
bing0  
   97 天前
我靠!好酷!我特斯拉的屏幕可以改成这样嘛?
GM
    20
GM  
   97 天前
挺酷的,不过我选择使用二手 iPad+PWA 应用,又稳定又好看,完美解决。
shylockhg
    21
shylockhg  
   97 天前
感觉比不过网页啊
iprime
    22
iprime  
   97 天前
很有创意,但是完全不需要。

这种产品,我觉得做服务器监测比较好。
dingdangnao
    23
dingdangnao  
   97 天前
可以弄一个小的 LCD 显示机器名字或者别的什么信息 然后弄一个按钮 可以切换机器?
总感觉这种板子像控制室那种 摆在控制台上的[捂脸]
放办公桌 可能。。。。不太可能😂😂😂
falcon05
    24
falcon05  
   97 天前 via iPhone
不愿意…
saviourdog
    25
saviourdog  
   97 天前
这样子不会的,不好看,要有足够的科技感设计应该会,可以装逼
nielinjie
    26
nielinjie  
   97 天前   ❤️ 1
有意思,几个需求:
1. 数据要方便自定义,不是写死的。
2. led 的柱状图亮度低点,排列紧密点。
3. 硬件上支持拼上一块,显示更多的数据。
zzzmode
    27
zzzmode  
   97 天前   ❤️ 1
感觉会增加焦虑。。
InternetExplorer
    28
InternetExplorer  
   97 天前
啊这,也太露骨了,可以用一般的屏幕吗
la9998372
    29
la9998372  
   97 天前
创意不错,但是我更喜欢一个小屏幕,这种硬件的 LED 还有数码管灵活性太差了。
wpyfawkes
    30
wpyfawkes  
   97 天前
扩展性不高.不如拿废旧手机整一个.
lutla
    31
lutla  
   97 天前
还是改一个 oled 小体积的版本吧
villivateur
    32
villivateur  
OP
   97 天前 via Android
@nielinjie 好主意,感谢。

现在数据实际上是可以自定义的,毕竟是软件,只不过 pcb 丝印不好改
burby
    33
burby  
   97 天前
换个芯,上个墨水屏?
数码管实在是毫无观感...
不过换了之后主要工作量应该都在都在代码上了吧
kidult
    34
kidult  
   97 天前
搞个 ipad,装个八爷的 servercat
b1u2g3
    35
b1u2g3  
   97 天前
太丑,而且不灵活.
tonzeng
    36
tonzeng  
   97 天前
@villivateur

還有 時間,溫度,濕度,然後服務器硬件告警燈。

這些感覺還是很實用的。
Lemeng
    37
Lemeng  
   97 天前
路过,绑定一下
dapang1221
    38
dapang1221  
   96 天前   ❤️ 1
很好的创意,可以试试用 MQTT 去接入数据,而且这个板子有点大了,如果可以拆分出一个控制板和可级联的显示板,还能蹭一下嘉立创的打样更便宜。四个 LED 条有一种进度条的集成元件,换上后能省下贴片 SMT 焊接的麻烦
楼上说没用的完全不懂硬件的浪漫嘛,依我看贴片 LED 换成草帽灯才更 cool,楼主加油,我非常喜欢这个项目~
dapang1221
    39
dapang1221  
   96 天前
而且这个完全不用 Arduino,8266 能直接跑 python 的
netwjx
    40
netwjx  
   96 天前
不实用, 但还可以继续极客风格下去, 作为一种小众产品
AeroXi
    41
AeroXi  
   96 天前
@GM 请问你用的是什么 PWA 应用
Tink
    42
Tink  
   96 天前 via Android
能切换多台服务器吗
37Y37
    43
37Y37  
   96 天前
有点牛皮
villivateur
    44
villivateur  
OP
   96 天前 via Android
@Tink 软件上可以实现,但是还没做
GM
    45
GM  
   96 天前
@AeroXi 自己写
littlewing
    46
littlewing  
   96 天前
也就看看,实际查问题完全没用
lc1450
    47
lc1450  
   96 天前
像这样一块电路板印刷要多少钱啊?
villivateur
    48
villivateur  
OP
   96 天前
@lc1450 打样的话 5 片 50 元,批量生产平均一片会在 5 元左右
israinbow
    49
israinbow  
   96 天前
炫, 再搞个辉光管对外宣称我是造火箭的
Ansen
    50
Ansen  
   96 天前
我这 200 多台服务器,桌面放不下……
ytll21
    51
ytll21  
   96 天前
v2 应该多些这样的帖子
coldBethune
    52
coldBethune  
   96 天前
好贴好东西,特意留个名纪念下
johnsonqrr
    53
johnsonqrr  
   96 天前
有内味了
Lentin
    54
Lentin  
   96 天前 via iPhone
@Ansen 二百台就不用关注网速之类的了了,关注下运行状态 就行了,一块板子弄上个五十个灯岂不妙哉🤪
leloext
    55
leloext  
   96 天前
很炫,但放桌面很容易分心。
ligiggy
    56
ligiggy  
   96 天前
牛皮
thtznet
    57
thtznet  
   96 天前
用晶体管会不会更有味?
ztxcccc
    58
ztxcccc  
   96 天前
我想要个无背光屏的
neptuno
    59
neptuno  
   96 天前
led 靠近一点会不会好一点?说实话有点丑 hhhh,不过想法很不错
civet
    60
civet  
   96 天前 via iPhone
不用屏幕啊,加个遮光板吧,不贵
wy315700
    61
wy315700  
   96 天前
插个眼,等楼主把产品做出来
aino
    62
aino  
   96 天前
真极客 合我胃口 我要下单!
NeezerGu
    63
NeezerGu  
   96 天前
别搞屏幕,真男人的浪漫就应该是 LED 。
但上面简单盖一层东西(类似磨砂膜?),不要那么亮就好
palxie
    64
palxie  
   96 天前
很牛皮, 但是我也觉得显示屏好点
villivateur
    65
villivateur  
OP
   96 天前
@wy315700
@aino

哈哈,已经做出来了啊,只不过想要量产还要点时间
dodogod
    66
dodogod  
   96 天前
想要一个,怎么买?
wvuu
    67
wvuu  
   96 天前
下单 +1
greenskinmonster
    68
greenskinmonster  
   96 天前
加个重启键,紧急情况一键重启服务器
villivateur
    69
villivateur  
OP
   96 天前 via Android
villivateur
    70
villivateur  
OP
   96 天前 via Android
@wvuu
@dodogod
目前还没能力量产,过段时间想好方案再在 v 站发一贴
twor2
    71
twor2  
   96 天前
当 geek 装饰品挺好
amwyyyy
    72
amwyyyy  
   96 天前
我们都是搞个大屏给客户看的,还是告警实用。
u21t20o15
    73
u21t20o15  
   96 天前
额,不愿意
不过我之前倒有个想法,
买个流水线的那个红绿黄灯,然后根据生产告警级别进行亮灯和凤鸣😂
ypzhou
    74
ypzhou  
   96 天前
不愿意 一般服务器都不会出问题 出问题了也有云服务商微信 短信邮件通知
est
    75
est  
   96 天前
点赞。但是不愿意。因为服务器有好几十台。
TerranceL
    76
TerranceL  
   96 天前
8266 花式玩法+1
RuifuSu
    77
RuifuSu  
   96 天前
点赞。感觉有有趣。
NeoChen
    78
NeoChen  
   96 天前
新型桌面光污染 666
zhengfan2016
    79
zhengfan2016  
   96 天前
只能是少数人的玩具。感觉最好成本能控制在 50 以内,越低越好,毕竟 100 元可以买个 4 寸的小爱同学,安卓系统,还能触摸交互,可玩性高多了
SixPi
    80
SixPi  
   96 天前   ❤️ 1
pcb 可以开窗,led 反贴,就能降低亮度了
esp8266 好像有 touch 的功能, 可以选择去掉按键, 配合休眠, 就不会亮瞎自己(:doge)
ltruntu
    81
ltruntu  
   96 天前   ❤️ 1
1.要液晶屏
2.我是运维,要多台服务器监控
3.可以收到告警那种
gBurnX
    82
gBurnX  
   96 天前
如果不小心撒了点水上去,会发生什么?
villivateur
    83
villivateur  
OP
   96 天前 via Android
@zhengfan2016 成本控制在 20 以内
villivateur
    84
villivateur  
OP
   96 天前 via Android
@gBurnX 理论上不泡在水里,不会有太大影响
cxsz
    85
cxsz  
   96 天前   ❤️ 4
放几张图供楼主参考,也是 8266 的,点阵屏加光栅和暗色塑料板后效果会好很多

https://ibb.co/937LX04
https://ibb.co/wYLBfgq
https://ibb.co/C9v6kLW
https://ibb.co/tx7tZqN
luckyrayyy
    86
luckyrayyy  
   96 天前
创意很好,太丑了实在是.....
dolphintwo
    87
dolphintwo  
   96 天前
我选择 prometheus
Maboroshii
    88
Maboroshii  
   96 天前
可以当个摆件还挺不错的,真用这个监控肯定是不够的。 我觉得可以用来显示自己电脑的 top 信息
lonenol
    89
lonenol  
   96 天前
何苦为难自己。。
zthxxx
    90
zthxxx  
   96 天前 via iPhone
这类摆件上个 OLED 更酷一点
ERAzor
    91
ERAzor  
   96 天前
感觉更适合摆在自己家里书桌上,监控一下个人服务器
加一个框和给 LED 柔光的板子我觉得会更好,再加个时间显示,这样我到挺愿意弄一个当摆件
xuanbg
    92
xuanbg  
   96 天前
用指针式的仪表才够赛博朋克啊
loading
    93
loading  
   96 天前
刺眼
感谢分享,不会摆。
zoikhemlab
    94
zoikhemlab  
   96 天前
确实不太好看
shiny
    95
shiny  
   96 天前
会被当成恐怖分子
ex2vkf
    96
ex2vkf  
   96 天前
挺好看,拿来做矿机监控面板应该不错
ytmsdy
    97
ytmsdy  
   96 天前
有点丑,是不是可以直接搞一个液晶屏!
neilyoone
    98
neilyoone  
   96 天前
这能覆盖多少机器???

我 Zabbix 、Grafana 不比这方便的多?
chengxiao
    99
chengxiao  
   96 天前   ❤️ 1

哈哈 不错 我最近也在搞类似的东西玩
不过我选择的是用废旧手机 + 用 flutter 包一个 APP
hwlhwlxyz
    100
hwlhwlxyz  
   96 天前
我觉得挺好玩的,这个不难看吧。有意思的作品。
1  2  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4029 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 03:25 · PVG 11:25 · LAX 19:25 · JFK 22:25
♥ Do have faith in what you're doing.