Meshtak — Meshtastic から TAK へのゲートウェイ

Tool

概要

Meshtak は Meshtastic の位置情報を TAK(Team Awareness Kit)で扱える形式に変換して中継する小型サービスです。Meshtastic ノードと TCP で接続して pubsub イベントを購読し、受信した位置パケットを Cursor-on-Target(CoT)イベントに変換して UDP で TAK サーバへ転送します。systemd ユニットとして動作し、setup.sh による APT/DNF 対応インストールで簡単に導入できます。軽量設計で現場のメッシュネットワークを指揮統制システムと連携させる用途に向きます。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 5
  • ファイル数: 4
  • メインの言語: Python

主な特徴

  • Meshtastic の pubsub イベントを購読して位置パケットを取得
  • パケットを Cursor-on-Target(CoT)イベントに変換
  • CoT を UDP で TAK サーバへ送信(TAK と連携)
  • systemd ユニット/インストールスクリプトでサーバ常駐を容易化

技術的なポイント

Meshtak のコアは Python 製の軽量ブリッジで、Meshtastic ノードへ TCP 接続して pubsub を購読することでリアルタイムなメッシュ位置データを受け取ります。受信した Meshtastic パケットを解析し、TAK が理解する Cursor-on-Target(CoT)フォーマットへ変換する点が主な役割です。CoT は一般に XML ベースのイベント表現を用いるため、Meshtak は位置情報(経度・緯度・高度、タイムスタンプ、ノード識別子など)を適切な CoT 要素へマッピングして XML を生成します。その後、生成した CoT イベントは UDP ソケット経由で指定した TAK サーバへ送信されます。サービスは systemd ユニット(meshtak.service)として提供され、常時起動および自動再起動、ログ管理が可能です。セットアップ用の setup.sh は APT/DNF ベースのディストリビューションに対応し、依存関係のインストールやユニットの配置を自動化します。実装面では軽量さを重視しており、低リソース環境でも動作しやすい構成が想定されます。一方で UDP による送信は暗号化や信頼性の保証が標準ではないため、運用時にはネットワークの信頼性や必要に応じたトンネル/VPN、ログ監視、認証周りの補強を検討する必要があります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • meshtak.py: file
  • meshtak.service: file
  • setup.sh: file

(ファイルの役割)

  • meshtak.py: Meshtastic からの購読、パケット解析、CoT 生成、TAK への UDP 送信を行うメインスクリプト。
  • meshtak.service: systemd ユニット定義。サービスとして常駐させるための設定。
  • setup.sh: APT/DNF に対応したインストール・セットアップスクリプト。依存関係の導入や systemd ユニットの配置を自動化。
  • README.md: プロジェクト説明と導入手順の抜粋や概要。

まとめ

Meshtastic と TAK を簡潔に接続する軽量なブリッジで、現場の位置情報共有を迅速に統合できる。

リポジトリ情報:

READMEの抜粋:

Meshtak

Meshtastic → TAK Gateway

Meshtak is a lightweight Python service that bridges Meshtastic mesh position data to TAK (Team Awareness Kit) by converting Meshtastic packets into Cursor-on-Target (CoT) events and forwarding them to a TAK server over UDP.

It runs as a systemd service and supports both APT-based and DNF-based Linux distributions.


What Meshtak Does

  • Connects to a Meshtastic node via TCP
  • Subscribes to Meshtastic pubsub events
  • Tracks …