Wi-Fi热力图绘制工具whm使用指南
项目简介
whm(全称wifi-heat-mapper)是一款基于Python开发的Wi-Fi网络性能评估工具库,能够通过生成直观的热力图帮助网络工程师、管理员和家庭实验室爱好者分析接入点和路由器的性能表现。该工具虽然不能提供全面的诊断功能,但能够为用户提供Wi-Fi性能的整体概览。
系统要求
支持平台
- 操作系统:64位Linux系统
环境依赖
必需依赖
- Python版本:3.7-3.9(需包含Tkinter)
- iperf3 >= 0.1.11
- matplotlib >= 3.4.0
- tqdm >= 4.55.0
- Pillow >= 8.2.0
- scipy >= 1.6.0
- numpy >= 1.20.0
- PySimpleGUI >= 4.34.0
可选依赖
- Ookla Speedtest CLI >= 1.0.0.2(推荐)
- Sivel Speedtest CLI >= 2.1.3(不推荐,不支持抖动测试)
- Librespeed CLI >= 1.0.9(强烈推荐)
Tkinter安装指南 不同Linux发行版的安装命令:
Arch Linux和Manjaro:
pacman -S tk
Fedora、CentOS、RHEL和RockyLinux:
dnf install python3-tkinter
Debian和Ubuntu:
apt install python3-tk
openSUSE和SUSE Linux Enterprise:
zypper install python3-tk
安装方法
通过pip安装
pip install whm
源码编译安装
git clone https://gitcode.com/gh_mirrors/wi/wifi-heat-mapper
cd wifi-heat-mapper
python3 setup.py install
使用流程
服务端配置
whm需要连接到一个运行在服务器模式的iperf3实例。在局域网中可用的机器上运行iperf3 -s来在前台启动iperf3服务器模式。强烈建议在有线计算机或虚拟机实例上运行iperf3实例。
默认情况下,iperf3将使用TCP和UDP端口5201。
客户端配置
配置引导 首先需要引导配置,指定要查看的图表类型、重复基准测试的次数、用于性能分析的无线接口以及配置的SSID。如果使用librespeed-cli,系统会询问是否偏好它而不是speedtest,并可选择提供自定义的libre服务器列表路径。
whm bootstrap
完成过程后,将在执行命令的目录中生成一个名为config.json的文件。
要指定保存路径和文件名,请使用--config选项,包括用于存储配置详细信息的路径和文件名。
例如:
whm bootstrap --config /home/example/whm/test.json
基准测试 生成配置文件后,可以开始基准测试。
whm benchmark -m examples/sample_floor_map.jpg -s 192.168.1.100 -c config.json
命令行选项说明:
-m或--map:楼层地图的路径-s或--server:iperf3服务器的IP地址(:端口)。可以使用IPADDRESS:PORT指定端口,如192.168.1.100:5123。如果未指定端口,则使用默认端口5201-c或--config:之前引导的配置文件的路径
指定适当的选项后,将打开一个GUI窗口。
界面功能说明:
- 退出:退出基准测试
- 保存结果:保存到目前为止捕获的结果。结果存储在之前使用的同一配置文件中
- 绘图:绘制已捕获的结果
- 全部清除:清除画布,删除所有捕获的指标
数据收集步骤
- 在画布上大致在要捕获指标的位置左键单击。此时应出现一个带有蓝色轮廓的灰色圆圈。
- 右键单击圆圈。将出现一个包含3个选项的下拉菜单。
- 基准测试:whm将开始在此位置捕获指标
- 删除:whm将删除此点的点和指标(如果有)
- 标记/取消标记为基站:whm将标记此点为基站。如果想显示一个或多个基站位置的热力图,这很有用。仍需要在此点进行基准测试。边框颜色将从黑色变为红色,表示基站点。
- 选择
Benchmark并等待几秒钟(或几分钟),具体取决于请求的图表和基准测试重复的次数。基准测试完成后,圆圈的填充颜色从灰色变为浅蓝色。- 基准测试结果在成功完成后自动保存
- 或者,如果想重新运行基准测试,只需使用光标选择任何点;黑色边框变为蓝色。现在可以右键单击并选择
Benchmark以重新捕获指标。
-
现在移动到要基准测试的新位置,并在画布中选择大致位置
-
whm需要至少4个点来生成绘图。强烈建议分析尽可能多的点以提高热力图的准确性
-
完成后单击
Save Results将指标保存到文件。然后可以按Plot绘制指标。
从之前状态恢复
要从之前的基准测试状态恢复,只需重复最初用于运行基准测试的命令。所有结果都存储在用户最初指定的配置文件中。
绘图功能
whm在绘图时还为用户提供额外的命令行参数。
要使用自定义标志生成绘图,可以使用whm plot命令指定它们。
whm plot -m ./examples/sample_floor_map.jpg -c config.json -l 100 -d 300 -f png
命令行选项说明:
-m或--map:楼层地图的路径-c或--config:之前引导的配置文件的路径-l或--levels(可选):等高线/区域的数量和位置。默认(100)-d或--dpi(可选):图形的分辨率(每英寸点数)。默认(300)-f或--format(可选):用于指定生成绘图的导出文件格式。默认(png)。支持选项包括(png、pdf、ps、eps、svg)
用户运行命令的目录将包含在引导期间请求的图表。
示例展示
示例配置包括基准测试结果和生成的绘图,可在examples文件夹中找到相关示例。
通用连接性指标
- 信号质量热力图
- 信号质量百分比热力图
- 信号强度热力图
TCP性能指标
- 下载速度(比特/秒)
- 下载速度(字节/秒)
- 上传速度(比特/秒)
- 上传速度(字节/秒)
UDP性能指标
- 下载速度(比特/秒)
- 下载速度(字节/秒)
- 上传速度(比特/秒)
- 上传抖动
速度测试指标(Librespeed后端)
- 延迟热力图
- 抖动热力图
- 下载带宽(字节/秒)
- 上传带宽(字节/秒)
项目特点
whm工具具有以下显著特点:
- 支持多种速度测试工具,提供多维度的数据采集
- 图形界面操作简便,支持精准定位测试点
- 自定义程度高,可调节显示级别和输出格式
- 生成的热力图清晰直观,便于网络性能分析
通过使用whm工具,用户可以全面了解Wi-Fi网络的覆盖情况和性能表现,为网络优化提供有力的数据支持。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







