linux嵌入式设备测试wifi信号强度方法

首先我们要清楚设备具体链接在哪个wifi热点上

执行:nmcli dev wifi list

复制代码
root@ubuntu:/home/ubuntu# nmcli dev wifi list 
IN-USE  BSSID              SSID          MODE   CHAN  RATE        SIGNAL  BARS >
*       14:EB:08:51:7D:20  wifi22222_5G  Infra  40    270 Mbit/s  46      ▂▄__ >
        64:6E:97:51:25:21  slave         Infra  11    270 Mbit/s  37      ▂▄__ >
        64:6E:97:51:25:23  slave         Infra  40    270 Mbit/s  29      ▂___ >
        64:6E:97:51:24:F0  TP-LINK_rd    Infra  157   270 Mbit/s  20      ▂___ >
        64:6E:97:21:24:EE  TP-LINK_rd    Infra  6     270 Mbit/s  17      ▂___ >
        A8:FF:BA:24:43:F4  wifi33333     Infra  11    130 Mbit/s  17      ▂___ >
        14:EB:08:21:7D:3C  wifi33333     Infra  1     130 Mbit/s  12      ▂___ >
        A8:FF:BA:24:43:F8  wifi33333333  Infra  40    270 Mbit/s  12      ▂___ >
        78:44:FS:15:3A:00  TP-LINK_3A22  Infra  11    405 Mbit/s  10      ▂___ >

如上带*号的就是我们所连接的wifi热点,信道mac为14:EB:08:51:7D:20

此时执行:iw dev wlp3s0 scan | grep -A 20 "14:eb:08:51:7d:20"| grep "signal"

复制代码
root@ubuntu:/home/ubuntu# iw dev wlp3s0  scan | grep -A 20  "14:eb:08:51:7d:20"| grep "signal"
        signal: -73.00 dBm

如上我们可以看到有信号值输出。执行多次会发现信号值有浮动,单次测试并不能说明什么,所以我们需要引入一个脚本来不断监测信号值:wifi-signal-test.sh

复制代码
#!/bin/bash

while [ true ]; do iw dev wlp3s0  scan | grep -A 20  "14:eb:08:51:7d:20"| grep "signal" | tee -a /home/kylin/signal-log; sleep 5; done &

如上,执行wifi-signal-test.sh在一段时间内获取到的信号值写入/home/kylin/signal-log

我们将log数据贴入excel表格即可生成信号曲线如下

这样我们就能粗略了解到wifi信号的强度。

WFI信号强度划分通常使用的是RSSl(Received Signal Strength Indicator),它是一种无线信号接收强度的测量值,以dBm(分贝毫瓦)为单位。根据通用的划分标准,大致可以将RSSI划分为以下几个等级:

-30 dBm~-50 dBm:信号极好,可以获得最高的速率、最高的可靠性和最佳的稳定性。

-50 dBm~-70 dBm:信号良好,可以获得较高的速率、较高的可靠性和较佳的稳定性,

-70 dBm~ -80 dBm:信号一般,可以获得基本的数据服务,但可能会受到某些干扰。

-80 dBm~-90dBm:信号较差,数据服务可能不太可靠,可能会出现断线或者连接缓慢等问题,

-90 dBm~-120 dBm:信号极差,建议不要使用该信号进行数据传输。

相关推荐
倔强的石头10621 小时前
【Linux指南】Makefile入门:从概念到基础语法
linux·运维·服务器
风_峰21 小时前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
ajassi200021 小时前
linux C 语言开发 (七) 文件 IO 和标准 IO
linux·运维·服务器
程序猿编码21 小时前
基于 Linux 内核模块的字符设备 FIFO 驱动设计与实现解析(C/C++代码实现)
linux·c语言·c++·内核模块·fifo·字符设备
一只游鱼21 小时前
Zookeeper介绍与部署(Linux)
linux·运维·服务器·zookeeper
liulilittle1 天前
光纤入户技术:原理、策略与市场博弈
网络·信息与通信·通信·宽带·移动·联通·电信
板鸭〈小号〉1 天前
UDP-Server(3)chat聊天室
网络·网络协议·udp
lllsure1 天前
【Docker】存储卷
运维·docker·容器
wheeldown1 天前
【Linux】 存储分级的秘密
linux·运维·服务器
不做菜鸟的网工1 天前
Headscale 的部署方法和使用教程
运维