Skip to content

TreorTang-sz/MeshDetector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeshTastic覆盖范围测定软件

一个用于测定MeshTastic网络覆盖范围的Web应用,支持多终端同时使用,提供直观的可视化界面。

功能特性

核心功能

  • 地图显示与选点:集成Leaflet地图库,支持交互式地图操作
  • 信号强度可视化:根据RSSI值使用不同颜色标记(绿色-强,黄色-中,红色-弱)
  • 节点管理:支持添加、查看和管理MeshTastic节点
  • 覆盖范围展示:显示节点的信号覆盖范围圆
  • 距离测定:测量两点之间的距离
  • Trace路径:记录和显示移动轨迹
  • Log上传:支持上传和解析trace log文件

坐标系统

  • 普通坐标:支持经纬度显示和输入
  • 梅登海德坐标:支持梅登海德坐标系统,双向转换
  • 实时显示:右上角实时显示当前位置的多种坐标格式

节点设置

  • 节点信息:ID、名称、位置、高度
  • 技术参数:发射功率、覆盖范围半径
  • 状态标记:未测定节点使用"未测定"汉字标记
  • 多种添加方式:手动输入坐标、使用地图中心、使用当前位置

界面设计

  • SwiftUI风格:现代化的卡片式布局,柔和阴影效果
  • 响应式设计:适配手机、平板和桌面设备
  • 流畅动画:平滑的过渡效果和交互反馈
  • 多终端支持:支持多设备同时访问和使用

快速开始

本地运行

  1. 克隆仓库
git clone https://github.com/TreorTang-sz/MeshDetector.git
cd MeshDetector
  1. 启动本地服务器

使用Python:

python -m http.server 8080

或使用Node.js:

npx http-server -p 8080

或使用PHP:

php -S localhost:8080
  1. 访问应用

在浏览器中打开 http://localhost:8080

手机访问

  1. 确保设备在同一网络:手机和电脑连接到同一Wi-Fi或热点

  2. 获取电脑IP地址

Windows:

ipconfig

Mac/Linux:

ifconfig
  1. 在手机浏览器中访问
http://[电脑IP地址]:8080

例如:http://192.168.43.123:8080

使用指南

1. 添加节点

  1. 点击"节点管理"中的"添加节点"
  2. 输入节点信息(ID、名称等)
  3. 设置节点位置:
    • 手动输入经纬度
    • 输入梅登海德坐标
    • 点击"使用地图中心"使用当前地图中心位置
    • 点击"使用当前位置"获取设备当前位置
  4. 设置节点参数:高度、发射功率、覆盖范围
  5. 点击"保存节点"

2. 上传信号数据

  1. 在"上传信号数据"表单中输入:
    • 信号强度(RSSI)
    • Hop数
    • 发射功率
    • Node ID
    • 备注(可选)
    • 测量类型
  2. 点击"获取当前位置"或使用地图中心
  3. 点击"保存数据"

3. 查看覆盖范围

  1. 在节点列表中点击要查看的节点
  2. 或在地图上点击节点标记
  3. 点击"显示覆盖范围"按钮
  4. 可在"覆盖范围"设置中调整显示参数

4. 距离测定

  1. 点击"标记起点"
  2. 在地图上点击起点位置
  3. 点击"标记终点"
  4. 在地图上点击终点位置
  5. 点击"计算距离"查看结果

5. Trace路径

  1. 点击"开始Trace"
  2. 移动设备或在地图上点击添加路径点
  3. 点击"停止Trace"结束记录
  4. 点击"清除Trace"清除当前路径

6. 上传Log

  1. 点击"选择文件"选择log文件
  2. 点击"上传"解析文件
  3. 查看解析结果和地图显示

技术栈

  • 前端框架:纯HTML/CSS/JavaScript
  • 地图库:Leaflet.js
  • 图标库:Font Awesome
  • 设计风格:SwiftUI风格
  • 数据存储:LocalStorage(本地存储)

项目结构

MeshDetector/
├── index.html          # 主页面
├── styles.css          # 样式文件
├── script.js           # 核心功能实现
├── .gitignore          # Git忽略配置
├── README.md           # 项目说明
└── LICENSE             # 许可证

浏览器兼容性

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+
  • 移动端浏览器

注意事项

  1. 位置权限:使用当前位置功能需要浏览器位置权限
  2. 网络连接:首次加载需要下载Leaflet地图库
  3. 数据存储:所有数据保存在浏览器本地,清除浏览器数据会丢失
  4. 跨设备同步:目前不支持跨设备数据同步,建议定期导出数据

数据导出

点击"数据管理"中的"导出数据"按钮,将所有数据导出为JSON文件。

贡献

欢迎提交Issue和Pull Request!

许可证

MIT License

联系方式

如有问题或建议,请通过以下方式联系:


Stay Onlne 📡🗺️

About

A lightweight tool for testing and analyzing the coverage range of Meshtastic nodes. It measures communication performance using metrics such as RSSI and SNR to evaluate real-world mesh network reliability.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors