据 AlphaMoat 统计,截至 2026-09,Off-grid radio for sovereign AI. LoRa mesh comms via Meshtastic — no internet required. 累计下载 2,537 次、获 3 个星标,在全部 5,078 个 AI 技能中排名第 4,071 位,在「运维安全」分类(264 个)中排名第 249 位。
| 平台 | 累计安装 | 累计下载 | 星标 | 评论 |
|---|---|---|---|---|
| ClawHub ↗ | 78 | 2,355 | 3 | 2 |
| SkillHub ↗ | 151 | 2,537 | 3 | — |
各平台的计数口径不同,统计时间不一致。
主文描述了节点与本地 bridge 的通信、消息读取/发送、节点查询,以及可选的地图位置发布;本地文件会保存消息和节点位置缓存。地图发布可能暴露大致位置,LoRa/MQTT 消息也可能被其他参与者接收。发送或启用地图前应核对频道、收件节点、内容和位置隐私设置,避免广播精确位置。 需 USB 硬件、Python 包和匹配地区的无线设置;串口仅一个进程可占用,优先组权限与仅回环监听 socket。地图命令需额外 bridge 实现。日志放私有目录,接收文本审阅后再转发,监控排程需授权。
资料发布于 2026-10-27
以下是根据技能文档生成的示例,不代表实际运行结果。
2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。
| 月份 | 累计下载 | 环比 | 星标 |
|---|---|---|---|
| 2026-09 | 2,537 | — | 3 |
| 2026-08 | 2,285 | +3.3% | 3 |
| 2026-07 | 2,212 | — | 3 |
| 2026-05 | 1,962 | — | 3 |
| 2026-03 | 1,688 | — | 3 |
以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。
--- 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
- 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/)
在使用技能包之前做安全扫描,并按结论决定放行或拦截的技能。
管理OpenClaw的OpenRouter免费AI模型,自动按质量排名模型,配置速率限制备用方案,并更新opencla...
备份与恢复 OpenClaw 配置、凭据与工作区的技能。
配置并使用 1Password CLI 处理密钥。
一款被描述为可检测提示注入与危险命令的 OpenClaw 安全插件。
远程控制 tmux 会话,向交互式命令行发送按键并抓取输出。
以应用安全工程师视角做代码与架构的安全审计。
管理腾讯云对象存储与数据万象的技能。
数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。