通过 Meshtastic LoRa 网格网络收发消息;适用于离线通信、网格状态查询、读取最近网格消息或发送 LoRa 短信。
网格外的LoRa网格通信, 控制一个网格外的网格节点是一项面向实际任务的技能,主要用于网格外的兼容硬件( RAK4631, T- Beam, Heltec, LilyGo等).;USB 连接到 ho。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过 USB 控制 Meshtastic 节点,实现离网 LoRa 网状通信。
meshtastic 和 paho-mqtt 包references/SETUP.md使用您的节点信息、MQTT 设置及告警目标编辑 CONFIG.md 文件。
┌─────────────────────────────────────────────────────────────┐
│ MQTT Bridge │
├─────────────────────────────────────────────────────────────┤
│ 接收:mqtt.meshtastic.org(全局 JSON 流量) │
│ 发布:可选地图代理(protobuf 格式) │
│ 套接字:localhost:7331(支持命令:send、status、toggle) │
├─────────────────────────────────────────────────────────────┤
│ 文件: │
│ • /tmp/mesh_messages.txt —— 接收消息日志 │
│ • /tmp/mesh_nodes.json —— 缓存的节点位置 │
└─────────────────────────────────────────────────────────────┘
┌─────────────┐ USB ┌─────────────┐
│ LoRa 节点 │◄────────────►│ Bridge.py │
│ (无线电) │ │ - 串口 │
└─────────────┘ │ - 套接字 │
│ - MQTT │
└──────┬──────┘
│
┌────────────────────────┼────────────────────────┐
│ │ │
▼ ▼ ▼
localhost:7331 /tmp/mesh_* MQTT Broker
(发送命令) (消息日志) (网状流量)
# 通过套接字(推荐方式 —— 桥接服务运行时即可使用)
echo '{"cmd":"send","text":"Hello mesh!"}' | nc -w 2 127.0.0.1 7331
# 向特定节点发送直连消息
echo '{"cmd":"send","text":"Hey!","to":"!abcd1234"}' | nc -w 2 127.0.0.1 7331
# 查询状态
echo '{"cmd":"status"}' | nc -w 2 127.0.0.1 7331
# 列出射频节点(通过无线电侦测到的节点)
echo '{"cmd":"nodes"}' | nc -w 2 127.0.0.1 7331
# 切换地图发布开关
echo '{"cmd":"map"}' | nc -w 2 127.0.0.1 7331
# 显式启用/禁用
echo '{"cmd":"map","enable":true}' | nc -w 2 127.0.0.1 7331
echo '{"cmd":"map","enable":false}' | nc -w 2 127.0.0.1 7331
# 强制立即上报位置
echo '{"cmd":"map_now"}' | nc -w 2 127.0.0.1 7331
# 最近 20 条消息 tail -20 /tmp/mesh_messages.txt # 过滤常见噪声(如测试消息、问候语等) tail -50 /tmp/mesh_messages.txt | grep -v -E "(Hello!|hey|mqtt-test)"
TIMESTAMP|CHANNEL|SENDER|DISTANCE|TEXT 2026-02-02T12:43:59|LongFast|!433bf114|1572km|Moin moin!
# 查看服务状态 sudo systemctl status meshtastic-bridge # 重启服务 sudo systemctl restart meshtastic-bridge # 实时查看日志 sudo journalctl -u meshtastic-bridge -f # 停止服务(需直接使用 CLI 时执行) sudo systemctl stop meshtastic-bridge
cron.add({
name: "mesh-monitor",
schedule: { kind: "every", everyMs: 300000 }, // 每 5 分钟
sessionTarget: "isolated",
payload: {
kind: "agentTurn",
message: "检查 /tmp/mesh_messages.txt 中的新消息。过滤噪声(测试消息、'Hello!'、'hey')。对其中有趣的消息发出告警,并在非英文时提供翻译。",
timeoutSeconds: 60,
deliver: true,
channel: "telegram" // 或您配置的其他通道
}
})
cron.add({
name: "mesh-digest",
schedule: { kind: "cron", expr: "0 8,14,20 * * *", tz: "Europe/Madrid" },
sessionTarget: "isolated",
payload: {
kind: "agentTurn",
message: "读取 /tmp/mesh_messages.txt。生成过去 6 小时内有趣消息的摘要。对非英文消息进行翻译,并根据距离推测来源国家。发布汇总报告。",
timeoutSeconds: 120,
deliver: true,
channel: "telegram"
}
})
sessions_spawn({
task: "每 30 秒监控一次 /tmp/mesh_messages.txt。发现有趣消息(非噪声)即告警。运行时长为 1 小时。",
label: "mesh-monitor",
runTimeoutSeconds: 3600
})
用于国家推测的近似距离(请根据您的实际地理位置调整):
| 距离 | 典型区域 |
|---|---|
| <500km | 邻国/邻近地区 |
| 500–1000km | 中距离 |
| 1000–1500km | 远距离 |
| 1500–2000km | 超远距离(很可能经 MQTT 中继) |
| >2000km | 经 MQTT 桥接的流量 |
| 设备 | 说明 |
|---|---|
| RAK4631 | 推荐型号,USB 连接稳定可靠 |
| T-Beam | 流行型号,集成 GPS |
| Heltec V3 | 经济型选择 |
| LilyGo T-Echo | 配备电子墨水屏 |
硬件专属配置请参阅 references/SETUP.md。
| 地区 | 频率 | 主题根路径 |
|---|---|---|
| 欧洲 | 868 MHz | msh/EU_868/2/json |
| 美洲 | 915 MHz | msh/US/2/json |
| 澳大利亚/新西兰 | 915 MHz | msh/ANZ/2/json |
~/.openclaw/skills/meshtastic/
├── SKILL.md # 本文件
├── CONFIG.md # 您的配置文件
├── scripts/
│ └── mesh.py # CLI 封装脚本
└── references/
└── SETUP.md # 安装指南
“资源暂时不可用”
sudo systemctl stop meshtastic-bridge无消息显示
journalctl -u meshtastic-bridge无法发送消息
echo '{"cmd":"status"}' | nc -w 2 127.0.0.1 7331考虑改用 BLE 替代 USB?
references/SETUP.md。相关专题
热门下载
相关下载
精品课程
共23课时 | 5.7万人学习
共5课时 | 1.5万人学习