Skip to main content

用于生成具有各种参数的 WiFi 热图的 Python 应用程序

项目描述

什么

whm 又名 wifi 热映射器

whm 也称为wifi-heat-mapperPython 库,用于对 Wi-Fi 网络进行基准测试并收集有用的指标,这些指标可以转换为有意义的易于理解的热图。该工具旨在帮助网络工程师、管理员和家庭实验室人员确定其接入点和路由器的性能。虽然此工具可能有助于大致了解您的 WiFi 性能,但该工具并不全面。

这个工具深受Jason Antman的python-wifi-survey-heatmap的启发。

支持的平台

  • 操作系统
    • Linux x86_64(64 位)

依赖项

必需的

  • Python 版本:3.7 - 3.9(使用 Tkinter)
  • iperf3 >= 0.1.11
  • matplotlib >= 3.4.0
  • tqdm >= 4.55.0
  • 枕头 >= 8.2.0
  • scipy >= 1.6.0
  • numpy >= 1.20.0
  • PySimpleGUI >= 4.34.0

可选的

Tkinter 依赖

默认情况下,Tkinter 没有随 Python 一起安装。要求用户使用各自的包管理器安装 Tkinter。

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

琴图

官方 Wiki 说明

安装

安装 whm 的最简单方法是通过pip

$ pip install whm

或者,您可以克隆存储库并编译它。

$ git clone https://github.com/Nischay-Pro/wifi-heat-mapper.git
$ cd wifi-heat-mapper
$ python3 setup.py install

用法

服务器配置

whm 需要连接到iperf3在服务器模式下运行的实例。在 LAN 中可用的机器上运行iperf3 -s以在前台以服务器模式启动 iperf3。我强烈建议在有线计算机或虚拟机实例上运行 iperf3 实例。

默认情况下,iperf3 将使用 TCP 和 UDP 端口 5201。

客户端配置

配置引导

最初,您需要引导您的配置,指定您想要查看的图表、您想要重复基准测试的次数、您将用于配置的无线接口以及配置的 SSID。如果您正在使用,系统librespeed-cli会询问您是否更喜欢它,speedtest并可选择提供自定义 libre 服务器列表的路径。

whm 支持多个图表,允许用户选择一个、多个或所有图表。该工具将自动收集适当的指标以生成图表。

$ whm bootstrap

注意:要从 Ookla speedtest 分析指标,用户需要确保他们已经安装了 Ookla 提供的二进制文件并且可以从$PATH环境变量中访问。

完成该过程后,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 地址(:port)。您可以使用 指定端口IPADDRESS:PORT,例如192.168.1.100:5123。如果未指定端口5201,则使用默认端口。
  • -c或者--config是您之前引导的配置文件的路径。

指定适当的选项后,将打开一个 GUI 窗口。

您将看到一个加载了您的平面图的画布。

GUI-1

  • 退出:退出基准测试
  • 保存结果:保存您到目前为止捕获的结果。结果存储在您之前使用的相同配置文件中。
  • 绘图:绘制您捕获的结果。
  • 全部清除:清除画布,删除所有捕获的指标。

收集指标

  1. 首先在画布上大致在您从中捕获指标的位置单击鼠标左键。现在应该出现一个带有蓝色轮廓的灰色圆圈。

GUI-2

  1. 现在右键单击圆圈。您将看到一个包含 3 个选项的下拉菜单。
    • 基准测试:whm 将在此位置开始捕获指标。
    • 删除:此时 whm 将删除点和指标(如果有)。
    • 标记/取消标记为站:whm 将此点标记为基站。如果您想要显示一个或多个基站位置的热图,这很有用。此时您仍然需要进行基准测试。边框颜色将从黑色变为红色,表示一个基站点。

GUI-3

  1. 根据您请求的图表和重复基准测试的次数,选择Benchmark并等待几秒钟(或几分钟)。基准测试完成后,圆圈的填充颜色会从灰色变为浅蓝色。
    • 基准测试结果在成功完成后会自动保存。
    • 或者,如果您想重新运行基准测试,只需使用光标选择任意点;黑色边框变为蓝色。您现在可以右键单击并选择Benchmark重新捕获指标。

GUI-4

  1. 现在移动到您要作为基准的新位置,然后在画布中选择粗略的位置。

  2. whm 需要至少 4 个点来生成绘图。我强烈建议分析尽可能多的点以提高热图的准确性。

  3. 完成后单击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)

用户运行命令的目录将包含用户在引导期间请求的图形。

例子

示例文件夹中提供了示例配置,包括基准测试结果和生成的图。

贡献

欢迎请求请求。对于重大更改,请先打开一个问题讨论您想要更改的内容。

请确保适当地运行测试。

执照

GPLv3

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

whm-0.2.5-py3.10.egg (46.8 kB 查看哈希

已上传 0 2 5