『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 8819|回复: 3

[经验分享] 分享一个检测实时网速的传感器方案

[复制链接]

10

主题

182

帖子

2606

积分

金牌会员

Rank: 6Rank: 6

积分
2606
金钱
2419
HASS币
60
发表于 2020-6-13 17:34:03 | 显示全部楼层 |阅读模式
之前在网上搜到了这篇文章:这里
觉得里面写的检测实时网速的方法可以用到HA里面,于是就搬来用了。我是直接改写了他的脚本,放到了自己的服务器的/usr/bin/中:
/usr/bin/interface_tx_speedtest:
#!/bin/bash
ethn=$1

TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
sleep 10
TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')

TX=$(((${TX_next}-${TX_pre})/10))

TX=$(echo $TX | awk '{print $1/1024 }')

echo -e "$TX"
/usr/bin/interface_rx_speedtest:

#!/bin/bash

ethn=$1
RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
sleep 10
RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')

RX=$(((${RX_next}-${RX_pre})/10))

RX=$(echo $RX | awk '{print $1/1024 }')

echo -e "$RX"
这样就可以分别通过下面这两条命令来检测实时的网速了:
上传:
/usr/bin/interface_tx_speedtest enp4s0
下载:
/usr/bin/interface_rx_speedtest enp4s0
这里,我的网卡界面是enp4s0,个人的网卡界面不一样的,相应修改即可
那么,HA里面可以加入这样的传感器:
sensor:
# 网速
# 上传
- platform: command_line
  name: Network Upload Speed
  command: "/usr/bin/interface_tx_speedtest enp4s0"
  unit_of_measurement: "kB/s"
  scan_interval: 30
- platform: template
  sensors:
    network_upload_speed_mb:
    friendly_name: "Network Upload Speed (MB)"
    unit_of_measurement: 'MB/s'
    value_template: >
      {{ (states('sensor.network_upload_speed') | int()/1024) }}

# 下载
- platform: command_line
  name: Network Download Speed
  command: "/usr/bin/interface_rx_speedtest enp4s0"
  unit_of_measurement: "kB/s"
  scan_interval: 30
- platform: template
  sensors:
    network_download_speed_mb:
    friendly_name: "Network Download Speed (MB)"
    unit_of_measurement: 'MB/s'
    value_template: >
      {{ (states('sensor.network_download_speed') | int()/1024) }}
就可以用来监测实时网速了。我的机子运行着HA,也当下载机,所以有时在电脑上玩游戏卡顿时,可以看看服务器是不是在大量下载占用带宽。
微信截图_20200613173233.png











评分

参与人数 2金钱 +25 HASS币 +20 收起 理由
zmg + 5 感谢楼主分享!
+ 20 + 20 厉害了word楼主!

查看全部评分

大佬: 请勿咨询任何问题,所有问题都能 Google 到答案
回复

使用道具 举报

5

主题

66

帖子

330

积分

论坛分享达人

积分
330
金钱
264
HASS币
0
发表于 2020-6-16 08:18:38 | 显示全部楼层
很不错 ,感谢楼主分享
回复

使用道具 举报

3

主题

201

帖子

2186

积分

金牌会员

Rank: 6Rank: 6

积分
2186
金钱
1985
HASS币
0
发表于 2020-6-21 18:55:26 | 显示全部楼层
服务器是群晖??
回复

使用道具 举报

10

主题

182

帖子

2606

积分

金牌会员

Rank: 6Rank: 6

积分
2606
金钱
2419
HASS币
60
 楼主| 发表于 2020-6-22 17:37:53 | 显示全部楼层

J1900 CPU的组装机 Ubuntu系统
大佬: 请勿咨询任何问题,所有问题都能 Google 到答案
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-10 14:53 , Processed in 0.083996 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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