lukevr

Off-grid radio for sovereign AI. LoRa mesh comms via Meshtastic — no internet required.

IT運用・セキュリティv0.1.0
作者:lukevr更新日 2026-05-11meshtastic-skill@clawhub_lukevr/meshtastic-skill
監視・アラートサーバー運用障害対応

AlphaMoatによると、2026-09時点でOff-grid radio for sovereign AI. LoRa mesh comms via Meshtastic — no internet required.のダウンロード数は2,537、スター数は3で、AIスキル全体5,078件中4,071位、IT運用・セキュリティでは264件中249位です。

インストール数
151
ダウンロード数
2537
スター数
3
総合順位
#4,071
全体の上位 81% · IT運用・セキュリティの上位 95%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗78235532
SkillHub ↗15125373—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

資料では、ノードとローカルブリッジ間の通信、メッセージの読み書き、ノード一覧、任意の地図位置公開を説明しています。ローカルファイルにはメッセージログとノード位置のキャッシュが保存されます。地図公開はおおよその位置を明かす可能性があり、LoRa/MQTTメッセージも他の参加者に届く場合があります。送信や地図公開の前に、チャンネル、宛先ノード、本文、位置プライバシー設定を確認し、正確な位置を放送しないでください。 USB 機器、Python パッケージ、地域に合う無線設定が必要です。シリアルは一プロセスだけで使い、グループ権限とループバック限定ソケットを優先してください。地図コマンドには追加実装が必要です。ログを非公開にし、受信文を確認してから転送し、監視の定期実行は承認してください。

資料公開日 2026-10-27

できること

  • Meshtasticノードやメッシュネットワークの状態を確認する
  • 最近のメッセージを読み、必要に応じてテストノイズを除く
  • 宛先とチャンネルを確認してから送信または地図公開設定を変更する

使う場面

  • ローカル接続されたLoRaノードでオフグリッド通信を確認するとき
  • 宛先、無線チャンネル、位置共有設定を確認した後

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

ローカルログだけを読み、送信や位置公開を行わずに最近のメッセージを要約してください。ログに含まれ得るプライバシー情報も示してください。

月次の推移

ダウンロード数2537
1620211326052026-03 · ダウンロード数 16882026-05 · ダウンロード数 19622026-07 · ダウンロード数 22122026-08 · ダウンロード数 22852026-09 · ダウンロード数 253726-0326-09
スター数3
2342026-03 · スター数 32026-05 · スター数 32026-07 · スター数 32026-08 · スター数 32026-09 · スター数 326-0326-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-092537—3
2026-082285+3.3%3
2026-072212—3
2026-051962—3
2026-031688—3

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

7.6 KB・ClawHub v0.1.0
---
name: meshtastic
description: Send and receive messages via Meshtastic LoRa mesh network. Use for off-grid messaging, mesh network status, reading recent mesh messages, or sending texts via LoRa radio.
---

# Meshtastic Skill

Control a Meshtastic node via USB for off-grid LoRa mesh communication.

## Prerequisites
すべて表示(全 237 行)

- Meshtastic-compatible hardware (RAK4631, T-Beam, Heltec, LilyGo, etc.)
- USB connection to host machine
- Python 3.9+ with `meshtastic` and `paho-mqtt` packages
- See `references/SETUP.md` for full installation guide

## Configuration

Edit `CONFIG.md` with your node details, MQTT settings, and alert destinations.

## Architecture

```
┌─────────────────────────────────────────────────────────────┐
│                    MQTT Bridge                               │
├─────────────────────────────────────────────────────────────┤
│  RECEIVE: mqtt.meshtastic.org (global JSON traffic)         │
│  PUBLISH: optional map broker (protobuf)                    │
│  SOCKET:  localhost:7331 (commands: send, status, toggle)   │
├─────────────────────────────────────────────────────────────┤
│  Files:                                                      │
│  • /tmp/mesh_messages.txt - received messages log           │
│  • /tmp/mesh_nodes.json   - cached node positions           │
└─────────────────────────────────────────────────────────────┘

┌─────────────┐     USB      ┌─────────────┐
│  LoRa Node  │◄────────────►│ Bridge.py   │
│  (Radio)    │              │  - Serial   │
└─────────────┘              │  - Socket   │
                             │  - MQTT     │
                             └──────┬──────┘
                                    │
           ┌────────────────────────┼────────────────────────┐
           │                        │                        │
           ▼                        ▼                        ▼
    localhost:7331           /tmp/mesh_*            MQTT Broker
    (send commands)          (message logs)         (mesh traffic)
```

## Quick Reference

### Send Messages

```bash
# Via socket (preferred - works while bridge running)
echo '{"cmd":"send","text":"Hello mesh!"}' | nc -w 2 127.0.0.1 7331

# Direct message to specific node
echo '{"cmd":"send","text":"Hey!","to":"!abcd1234"}' | nc -w 2 127.0.0.1 7331

# Check status
echo '{"cmd":"status"}' | nc -w 2 127.0.0.1 7331

# List RF nodes (seen via radio)
echo '{"cmd":"nodes"}' | nc -w 2 127.0.0.1 7331
```

### Map Visibility (if configured)

```bash
# Toggle map publishing on/off
echo '{"cmd":"map"}' | nc -w 2 127.0.0.1 7331

# Explicitly enable/disable
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

# Force immediate position report
echo '{"cmd":"map_now"}' | nc -w 2 127.0.0.1 7331
```

### Read Messages

```bash
# Recent messages (last 20)
tail -20 /tmp/mesh_messages.txt

# Filter common noise
tail -50 /tmp/mesh_messages.txt | grep -v -E "(Hello!|hey|mqtt-test)"
```

### Message Log Format

```
TIMESTAMP|CHANNEL|SENDER|DISTANCE|TEXT
2026-02-02T12:43:59|LongFast|!433bf114|1572km|Moin moin!
```

## Bridge Service

```bash
# Status
sudo systemctl status meshtastic-bridge

# Restart
sudo systemctl restart meshtastic-bridge

# View logs
sudo journalctl -u meshtastic-bridge -f

# Stop (needed for direct CLI access)
sudo systemctl stop meshtastic-bridge
```

## Monitoring & Alerts

### Option 1: Cron Job (Recommended)

```javascript
cron.add({
  name: "mesh-monitor",
  schedule: { kind: "every", everyMs: 300000 },  // 5 min
  sessionTarget: "isolated",
  payload: {
    kind: "agentTurn",
    message: "Check /tmp/mesh_messages.txt for new messages. Filter out noise (test messages, 'Hello!', 'hey'). Alert me of interesting ones with translations if non-English.",
    timeoutSeconds: 60,
    deliver: true,
    channel: "telegram"  // or your channel
  }
})
```

### Option 2: Digest Summary

```javascript
cron.add({
  name: "mesh-digest",
  schedule: { kind: "cron", expr: "0 8,14,20 * * *", tz: "Europe/Madrid" },
  sessionTarget: "isolated",
  payload: {
    kind: "agentTurn",
    message: "Read /tmp/mesh_messages.txt. Create a digest of interesting messages from the last 6 hours. Translate non-English, guess country from distance. Post summary.",
    timeoutSeconds: 120,
    deliver: true,
    channel: "telegram"
  }
})
```

### Option 3: Spawned Monitor Agent

```javascript
sessions_spawn({
  task: "Monitor /tmp/mesh_messages.txt every 30 seconds. Alert me for interesting messages (not noise). Run for 1 hour.",
  label: "mesh-monitor",
  runTimeoutSeconds: 3600
})
```

## Distance Reference

Approximate distances for country guessing (adjust for your location):

| Distance | Typical Regions |
|----------|-----------------|
| <500km | Neighboring countries/regions |
| 500-1000km | Medium range |
| 1000-1500km | Long range |
| 1500-2000km | Very long range (likely MQTT relay) |
| >2000km | MQTT-bridged traffic |

## Privacy Notes

- Map reports can use fuzzy positioning (~2km precision)
- Position publishing can be toggled off entirely
- Local RF messages are logged but not shared externally by default
- Never broadcast precise location in messages

## Supported Hardware

| Device | Notes |
|--------|-------|
| RAK4631 | Recommended, reliable USB |
| T-Beam | Popular, has GPS |
| Heltec V3 | Budget option |
| LilyGo T-Echo | E-paper display |

See `references/SETUP.md` for hardware-specific setup.

## Regional Frequencies

| Region | Frequency | Topic Root |
|--------|-----------|------------|
| Europe | 868 MHz | `msh/EU_868/2/json` |
| Americas | 915 MHz | `msh/US/2/json` |
| Australia/NZ | 915 MHz | `msh/ANZ/2/json` |

## Files

```
~/.openclaw/skills/meshtastic/
├── SKILL.md           # This file
├── CONFIG.md          # Your configuration
├── scripts/
│   └── mesh.py        # CLI wrapper
└── references/
    └── SETUP.md       # Installation guide
```

## Troubleshooting

**"Resource temporarily unavailable"**
- Only one process can use serial port at a time
- Stop bridge before direct CLI: `sudo systemctl stop meshtastic-bridge`

**No messages appearing**
- Check MQTT subscription topic matches your region
- Verify firewall allows outbound port 1883
- Check `journalctl -u meshtastic-bridge` for errors

**Can't send messages**
- Ensure bridge is running (socket server)
- Check serial port path in config
- Try: `echo '{"cmd":"status"}' | nc -w 2 127.0.0.1 7331`

**Considering BLE instead of USB?**
- Don't. USB is far more reliable on Linux.
- BLE on Linux (BlueZ/bleak) has notification bugs, pairing inconsistencies, and random disconnects.
- See `references/SETUP.md` for detailed findings.

## Further Reading

- [Meshtastic Docs](https://meshtastic.org/docs/)
- [MQTT Integration](https://meshtastic.org/docs/configuration/module/mqtt/)
- [Hardware Options](https://meshtastic.org/docs/hardware/)

IT運用・セキュリティの人気スキル

SkillScanIT運用・セキュリティ

使う前にスキルパッケージの安全性を調べ、結果に応じて導入を止めるスキルです。

↓ 18.2万★ 41tokauthai
Free Ride - Unlimited free AIIT運用・セキュリティ

Manages free AI models from OpenRouter for OpenClaw. Automatically ranks models by quality, configures fallbacks for rate-limit handling, and updates opencla...

↓ 9.7万★ 485Shaishav Pidadi
OpenClaw BackupIT運用・セキュリティ

OpenClaw の設定、資格情報、ワークスペースをバックアップし復元するスキルです。

↓ 3.5万★ 93alex3alex
1passwordIT運用・セキュリティ

1Password CLI でシークレットを扱うための設定と使い方です。

↓ 3.5万★ 53Peter Steinberger
MoltGuard - Security & Antivirus & GuardrailsIT運用・セキュリティ

プロンプト注入や危険なコマンドを検出すると説明されている OpenClaw 用セキュリティプラグインです。

↓ 3.4万★ 116Thomas
TmuxIT運用・セキュリティ

tmux セッションを遠隔操作し、対話型 CLI にキーを送って出力を取得します。

↓ 3.3万★ 46Peter Steinberger
Security AuditorIT運用・セキュリティ

アプリケーションセキュリティ技術者の視点でコードと構成を監査します。

↓ 3万★ 51jgarrison929
Tencent COSIT運用・セキュリティ

Tencent Cloud のオブジェクトストレージとデータ処理サービスを管理するスキルです。

↓ 2.7万★ 15u_23a69fa7

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。