项目简介
本项目是为Heltec WiFi LoRa 32 V2开发板设计的多功能工具。它能够测量WiFi信号强度,借助MQTT协议把信号强度数据发送至指定的MQTT服务器,还能选择关闭MQTT功能。同时,通过开发板内置的OLED显示屏直观展示WiFi信号质量,适用于评估和监控不同位置无线网络性能,或用于需要可靠WiFi连接的物联网应用。
项目的主要特性和功能
- 测量WiFi信号强度(RSSI)。
- 在OLED显示屏上显示WiFi信号强度和SSID。
- 将WiFi信号强度数据发送到MQTT服务器。
- 可自定义MQTT主题和服务器设置。
安装使用步骤
配置环境
- 确保拥有Heltec WiFi LoRa 32 V2开发板。
- 安装PlatformIO CLI或PlatformIO IDE用于构建和上传固件。
- (可选)安装Nix包管理器以设置可重现的开发环境。
配置文件
- 在项目的
./data
目录下,根据config.json-template
文件创建config.json
文件。 - 配置
config.json
文件:system.interval
:设置测量和发送WiFi信号强度到MQTT服务器的时间间隔(毫秒)。wifi.ssid
:要连接的WiFi网络的SSID。wifi.password
:上述WiFi网络的密码。mqtt.enabled
:布尔值,1为启用MQTT功能,0为禁用。mqtt.host
:MQTT服务器的主机名或IP地址。mqtt.port
:MQTT服务器监听的端口号(默认1883)。mqtt.user
:用于认证MQTT服务器的用户名。mqtt.password
:用于认证MQTT服务器的密码。mqtt.topic
:发布WiFi信号强度数据的MQTT主题。
烧录开发板
使用Nix Shell
- 确保系统已安装Nix,可参考NixOS下载页面进行安装。
- 进入项目根目录。
- 运行
make shell
命令进入Nix shell,设置环境。
使用发布版二进制文件烧录
- 安装
esptool
:pip install esptool
。 - 根据实际情况调整
--port
参数,运行以下命令烧录文件:esptool.py --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin
esptool.py --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x290000 littlefs.bin
使用Makefile从源码烧录
- 构建项目:
make build
。 - 烧录固件:确保开发板通过USB连接到计算机,运行
make flash
,可根据需要调整Makefile中的UPLOAD_PORT
。 - 监控串口输出:运行
make monitor
,若开发板使用不同波特率,可调整Makefile中的UPLOAD_SPEED
。
上传文件系统镜像(Littlefs)
- 创建Littlefs镜像:
make fs
。 - 上传Littlefs镜像:
make uploadfs
。
完整工作流命令
- 一次性构建并烧录所有内容:
make start
。 - 重新上传Littlefs并重启监控:
make reupload
。 - 烧录固件并启动监控,不触及Littlefs:
make reload
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】