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

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

  villivateur · 2021-09-01 08:26:49 +08:00 · 12444 次点击
这是一个创建于 1179 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

什么是 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 条附言  ·  2021-09-01 11:17:58 +08:00
统一回复一下,为什么用 LED 做得这么露骨?为什么不用显示屏?

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

这个够硬核,但放桌子上像是开发版。。不像是摆件
tonzeng
    10
tonzeng  
   2021-09-01 09:07:07 +08:00   ❤️ 2
有个问题。。我不止一台服务器怎么办。。。

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

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


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

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

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

最后,不管怎么样,给楼主这动手能力点个赞!
missdeer
    15
missdeer  
   2021-09-01 09:18:48 +08:00
只能监控一个机器?
villivateur
    16
villivateur  
OP
   2021-09-01 09:20:05 +08:00
@tulongtou
@arthurire
@wensonsmith
@ihipop
@mlhorizon

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

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

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

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

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

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

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

我 Zabbix 、Grafana 不比这方便的多?
chengxiao
    99
chengxiao  
   2021-09-02 08:59:02 +08:00   ❤️ 1

哈哈 不错 我最近也在搞类似的东西玩
不过我选择的是用废旧手机 + 用 flutter 包一个 APP
hwlhwlxyz
    100
hwlhwlxyz  
   2021-09-02 09:01:22 +08:00
我觉得挺好玩的,这个不难看吧。有意思的作品。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   913 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 22:08 · PVG 06:08 · LAX 14:08 · JFK 17:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.