请选择 进入手机版 | 继续访问电脑版

矿渣社区

 找回密码
 立即注册
小程序
关闭
加载中...

图片加载失败,请点击刷新

搜索
热搜: 乐橙
图片加载失败

用微信扫码,即可通过手机逛社区

查看: 7804|回复: 161

[教程] x3p猫盘的led控制系统之让led灯显示网速

  [复制链接]
层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

21

主题

106

帖子

886

积分

中级渣柚V2

Rank: 4

积分
886
发表于 2019-10-6 12:23:16 | 显示全部楼层 |阅读模式
之前我们你已经说过了led管控机制
/ ?# i( C) Z/ K; l 聊一聊x3p的LED控制机制8 T1 J* f" M: T* E0 f6 R
和用led来显示硬盘温度! u1 P( `3 P% U' p) J7 A
让你的RGB灯来指示系统温度+ e8 W( u; v$ e$ l$ k
现在我们可以进一步让led来显示系统网速,且往下看
5 O) E/ J6 x& B' S需要用到一个python脚本来获取系统的联网状态以及各个io状态2 i* O# w( P5 m2 b
  1. import psutil
    0 M3 a4 L# {! U4 k8 V, C
  2. print(psutil.net_io_counters(pernic=True))
复制代码
输出结果是下面的
7 d- W5 R& y8 U# K# X7 L; j
  1. {
    ) x- V- b  H4 m8 ]2 p3 B5 ^$ A+ \" u
  2.         'bond0': snetio(bytes_sent = 0, bytes_recv = 0, packets_sent = 0, packets_recv = 0, errin = 0, errout = 0, dropin = 0, dropout = 0),+ a/ A# ]0 r7 V( J) A* u+ V0 j( [
  3.         'lo': snetio(bytes_sent = 371531983, bytes_recv = 371531983, packets_sent = 649842, packets_recv = 649842, errin = 0, errout = 0, dropin = 0, dropout = 0),
    1 ?1 }& T0 I+ [: W1 R- s
  4.         'tun0': snetio(bytes_sent = 300576, bytes_recv = 0, packets_sent = 9393, packets_recv = 0, errin = 0, errout = 0, dropin = 0, dropout = 0),
    " @$ s- O  i8 `  Z1 C
  5.         'sit0': snetio(bytes_sent = 0, bytes_recv = 0, packets_sent = 0, packets_recv = 0, errin = 0, errout = 0, dropin = 0, dropout = 0),# u8 v  @8 D0 o
  6.         'ip_vti0': snetio(bytes_sent = 0, bytes_recv = 0, packets_sent = 0, packets_recv = 0, errin = 0, errout = 0, dropin = 0, dropout = 0),
    0 [2 H0 {4 c+ z
  7.         'eth0': snetio(bytes_sent = 10911429402, bytes_recv = 387312110, packets_sent = 722569, packets_recv = 1194110, errin = 0, errout = 0, dropin = 5, dropout = 0)
    & G$ k' E6 |5 x# B# N% H! a2 D
  8. }
复制代码
有了数据就能够处理数据转化为网速了。, T2 z( G% H) ]0 s% t) q) u5 ^* }
批注 2019-10-06 120535.png
+ F8 d+ F$ i. ^4 A0 D因为网速差别实在太大,所以我用了分级显示的方案:/ `- @- x5 n/ y7 \, e: g( `
网速为B级别时显示红灯,网速越大,红灯越亮,不过放心,几乎看不到红灯
! z" K( j; w0 i: i9 R网速为K级别时显示绿灯,网速越快,绿灯越绿。这个比较常见,几乎上硬盘待机时就一直是绿灯, N/ F2 a2 M; I8 x
网速为M级别时显示蓝灯,网速越高,蓝灯越艳丽,当你下载东西或者往硬盘传文件时就是蓝灯了。+ V8 E& i/ m$ T5 L7 d
  1. net_led_dn() {- s* M3 Z5 t1 B2 H- u0 E) |
  2.     python /root/netspeed.py | sed -e "s/'/\n/g" -e 's/, /=/g' | grep } | awk -F '=' '{print $4}' >/root/new.rtx0 h/ n; k, ]. S
  3.     new_rtx=$(cat /root/new.rtx)
    6 _# V' m# b; C! S0 l
  4.     old_rtx=$(cat /root/rtx.log)% U3 M3 v9 T  ]" Q6 Z
  5.     rtx=$(expr $new_rtx - $old_rtx)% E1 D, A' r+ `) L; Q$ [9 V
  6.     echo $rtx
    + X& @0 z1 U* j0 p! P1 o) c
  7.     if [ $rtx -lt 1024 ]; then5 y1 l* D2 v3 v# g5 i" R
  8.                                                                                                                                                                                               : W2 r% @$ Z% w0 C  T1 J/ Z. O, R
  9.         rtx_led=$(expr $rtx / 4)0 N! U2 o4 G( E. L+ a$ X! R5 C1 h
  10.                                                                                                                                                                                              
    * _& K5 E( J( t0 V, s
  11.         set_led c1 $rtx_led 0
    4 L! [8 p+ b. B) X; Q
  12.         set_led c2 0 0
      p/ {+ G6 D  }6 F- _
  13.         set_led c3 0 0
    ( G5 _# Z2 n) G7 P% s% S
  14.                                                                                                                                                                                              
    ! e8 O% l) {2 o7 b
  15.     elif [ $rtx -lt 1048576 ]; then/ `4 d( i' \% u0 W# Y2 O
  16.         rtx_led=$(expr $rtx / 4096)# ~# k! @9 w& t6 |
  17.         set_led c1 0 0$ k) b( y9 P6 D% r  W+ M
  18.         set_led c2 $rtx_led 0
    % c9 V- q  A4 \7 K, |
  19.         set_led c3 0 09 Z/ \$ K# n- y& u: b
  20.     elif [ $rtx -lt 1073741824 ]; then! U; }$ }+ r0 e- r/ q
  21.         rtx_led=$(expr $rtx / 4194304)
    0 z/ o# O3 O8 \$ |; l! P  G
  22.         set_led c1 0 0
    2 L; p: h0 Y/ Q; f1 Q6 j8 N1 l
  23.         set_led c2 0 0
    2 M0 Q0 |) P% t) w/ ~! H
  24.         set_led c3 $rtx_led 06 B7 u; T; n5 Q8 B) H( d
  25.     fi
    - f/ U/ z0 _; t
  26.     echo $new_rtx >/root/rtx.log& T6 Q5 ?- o( `; ~' V/ U
  27. }
复制代码
这个只是显示下载网速的,如果想要显示上传网速也很简单,把第二行的$4改为$2就行了。
! E  _1 |! s! P5 d* S下面是完整脚本,看附件吧。
4 O* k# o( x) t& E% z. a$ N一共有五个文件
1 f% ~- F6 T& J% d
  1. ledstatus.sh                  #放在/opt/bin文件夹下替换
    6 ?  d# K( l! \7 d' u
  2. netspeed.py                 #放在root下 . Z5 F1 w' g% M9 q
  3. new.rt                         #放在root下
    , x7 N: _3 m* ^( Z% _
  4. mew.rtx                       #放在root下
    : R* M( V* C) J
  5. rtx                              #放在root下
复制代码
# M6 L+ H, B% `9 O' |
. l9 b) q# N, c9 o) _) p/ @
led_control.zip (1015 Bytes, 下载次数: 111)

评分

参与人数 3渣金 +35 经验值 +65 收起 理由
jakc + 10 + 15 很给力!
yzfdy + 10 + 10 很给力!
xxx + 15 + 40 很给力!

查看全部评分

回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

8

主题

58

帖子

320

积分

中级渣柚V1

Rank: 3Rank: 3

积分
320
发表于 2019-10-6 12:51:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

4

主题

750

帖子

1502

积分

中级渣柚V3

Rank: 6Rank: 6

积分
1502
发表于 2019-10-6 13:27:51 | 显示全部楼层
好教程,谢谢分享,
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

27

主题

161

帖子

405

积分

中级渣柚V1

Rank: 3Rank: 3

积分
405
发表于 2019-10-6 13:42:40 | 显示全部楼层
厉害了!!!!1
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

1

主题

6

帖子

51

积分

初级渣柚V2

Rank: 2

积分
51
发表于 2019-10-7 22:12:17 | 显示全部楼层
佩服超级厉害了
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

12

主题

169

帖子

468

积分

中级渣柚V1

Rank: 3Rank: 3

积分
468
发表于 2019-10-7 22:57:46 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

3

主题

76

帖子

663

积分

中级渣柚V2

Rank: 4

积分
663
发表于 2019-10-7 23:15:48 | 显示全部楼层
感谢分享。先收藏了
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

42

主题

432

帖子

1221

积分

中级渣柚V3

Rank: 6Rank: 6

积分
1221
发表于 2019-10-8 07:39:56 | 显示全部楼层
厉害了!
回复

使用道具 举报

层主小程序码
加载中...

用微信扫码,即可通过手机查看层主信息

4

主题

40

帖子

233

积分

中级渣柚V1

Rank: 3Rank: 3

积分
233
发表于 2019-10-8 08:23:32 来自手机 | 显示全部楼层
牛掰牛掰,厉害厉害
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1群| 2群推荐| 3群推荐| Archiver|手机版|小黑屋|矿渣社区 ( 蜀ICP备16031117号-2 )乐橙 乐橙V8 乐橙 自动 乐橙 自动 视频 乐橙 视频 锁 乐橙 智能门锁 乐橙 乐 橙 乐橙 乐橙

GMT+8, 2021-4-11 23:07 , Processed in 0.494955 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表