返回顶部
m

meshtastic-detectionMeshtastic检测

Receive DETECTION_SENSOR_APP alerts from Meshtastic LoRa devices via USB. When the remote sensor GPIO triggers (preset target detected), store the event and alert the user immediately.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.1
安全检测
已通过
269
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

meshtastic-detection

技能名称: meshtastic-detection
详细描述:

Meshtastic 检测技能

通过 LoRa 接收来自远程 Meshtastic 设备的检测传感器告警。当远程设备的 GPIO 引脚触发时(预设目标被检测到),事件将被本地存储,并需要通过飞书立即通知用户。

前提条件

  • - 通过 USB 连接的 Meshtastic 兼容硬件(RAK4631、T-Beam、Heltec 等)
  • Python 3.10+,并安装 meshtastic 和 pypubsub 包(虚拟环境位于 {baseDir}/venv)
  • usb_receiver.py 守护进程正在运行
  • 快速设置:cd {baseDir} && ./setup.sh
  • 详细指南:{baseDir}/references/SETUP.md

架构

┌──────────────────────────────────────────────────────────────┐
│ USB 接收器守护进程 │
├──────────────────────────────────────────────────────────────┤
│ 监听:仅 DETECTIONSENSORAPP(GPIO 触发事件) │
│ 存储:data/sensor_data.jsonl(每次检测追加写入) │
│ 最新:data/latest.json(最近一次检测) │
└──────────────────────────────────────────────────────────────┘

┌─────────────┐ USB ┌──────────────┐
│ LoRa 节点 │◄────────────►│ usb_receiver │
│ (无线电) │ │ 守护进程 │
└─────────────┘ └──────┬───────┘

┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
sensorcli.py eventmonitor.py OpenClaw 定时任务
(查询数据) (检查告警) (飞书告警)

快速参考

运行接收器

bash
cd {baseDir}
source venv/bin/activate
python scripts/usb_receiver.py --port /dev/cu.usbmodem1CDBD4A896441

检查新告警

bash
cd {baseDir}
./venv/bin/python scripts/event_monitor.py

每条 DETECTIONSENSORAPP 记录 = 高优先级告警。输出:

json
{
alerts: [{priority: high, sender: !1dd29c50, text: alert detected, receivedat: ..., channel: ch0, portnum: DETECTIONSENSOR_APP}],
summary: 🚨 从 3 条记录中发现 3 条新检测告警,
alert_count: 3,
new_records: 3
}

查询历史数据

bash
python scripts/sensor_cli.py latest
python scripts/sensor_cli.py stats --since 24h
python scripts/sensor_cli.py query --since 1h

数据格式

data/sensor_data.jsonl 中的每条记录:

json
{receivedat: 2026-03-04T11:07:06+00:00, sender: !1dd29c50, channel: ch0, portnum: DETECTIONSENSOR_APP, data: {type: detection, text: alert detected}}

仅捕获 DETECTIONSENSORAPP 消息。 此端口号表示远程传感器的 GPIO 引脚已被触发——已检测到预设目标。每次检测事件都需要立即向用户发出告警。

所有其他消息类型(TEXTMESSAGEAPP、遥测、位置等)均被忽略。

日志轮转

sensordata.jsonl 在达到 5 MB 时自动轮转(保留 2 个归档文件,总计最大约 15 MB)。轮转是透明的——eventmonitor 自动重置偏移量,sensor_cli 可跨归档文件读取。

监控与告警

定时任务(活跃)

定时任务每 60 秒运行一次 event_monitor.py,并将告警发送到飞书:

bash

检查状态


openclaw cron list

查看运行历史

openclaw cron runs --id

手动测试

openclaw cron run

编辑配置

openclaw cron edit --timeout-seconds 60 --to

定时消息模板(供参考):

运行此命令并报告输出:
cd {baseDir} && ./venv/bin/python scripts/event_monitor.py
— 如果 alert_count > 0,告诉我告警数量、最新发送者和时间。
如果 alert_count 为 0,回复:暂无新告警。

关键设置:

  • - timeoutSeconds: 60(代理需要约 20-40 秒)
  • channel: feishu
  • delivery.to: ou_16c6dc8bda8ac97abfd0194568edee59

告警行为

所有 DETECTIONSENSORAPP 事件均被视为 高优先级。无需配置规则——每次检测都会触发即时告警。告警消息包括:

  • - 发送者设备 ID
  • 检测文本(来自远程传感器配置)
  • 时间戳

配置

编辑 CONFIG.md 以自定义:

  • - 串口 — USB 设备路径
  • 通知渠道 — feishu(在 OpenClaw 中配置)

常见对话模式

用户询问最近的检测:

过去一小时内检测到了什么?

运行:cd {baseDir} && ./venv/bin/python scripts/sensor_cli.py query --since 1h

用户请求统计信息:

给我今天的检测摘要

运行:cd {baseDir} && ./venv/bin/python scripts/sensor_cli.py stats --since 24h

用户询问系统状态:

传感器还在工作吗?

运行:cd {baseDir} && ./venv/bin/python scripts/sensor_cli.py status

文件

{baseDir}/
├── SKILL.md # 本文件(代理指令 + 元数据)
├── CONFIG.md # 用户配置
├── setup.sh # 一键设置
├── scripts/
│ ├── usbreceiver.py # USB 串口守护进程(仅 DETECTIONSENSOR_APP)
│ ├── event_monitor.py # 增量告警监控器
│ └── sensor_cli.py # 查询命令行工具
├── data/
│ ├── sensor_data.jsonl # 检测记录(达到 5 MB 时自动轮转)
│ ├── latest.json # 最近一次检测
│ └── monitor_state.json # 监控字节偏移量 + 已见哈希值
└── references/
└── SETUP.md # 详细安装指南

故障排除

未找到记录

  • - 检查 usb_receiver.py 是否正在运行
  • 验证 USB 设备:ls /dev/cu.usb*

资源暂时不可用

  • - 只有一个进程可以使用串口。检查:lsof /dev/cu.usbmodem*

接收器已连接但无数据显示

  • - 接收器仅捕获 DETECTIONSENSORAPP 消息(其他类型被忽略)
  • 使用 --debug 运行以查看所有数据包:python scripts/usb_receiver.py --port ... --debug
  • 验证远程设备是否在同一信道和频率上
  • 确认远程设备已配置检测传感器设置(GPIO 引脚监控)

定时任务超时或投递失败

  • - 检查:openclaw cron runs --id
  • 修复超时:openclaw cron edit --timeout-seconds 60
  • 修复投递:openclaw cron edit --to

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 meshtastic-detection-1776206925 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 meshtastic-detection-1776206925 技能

通过命令行安装

skillhub install meshtastic-detection-1776206925

下载

⬇ 下载 meshtastic-detection v0.1.1(免费)

文件大小: 23.75 KB | 发布时间: 2026-4-15 11:49

v0.1.1 最新 2026-4-15 11:49
docs: add container cron JSON config section

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部