TTS Mapper - A TTN Mapper Alternative

ユーザマニュアル

TTS Mapper は、The Things Stack (TTS) / The Things Network (TTN) のゲートウェイ位置情報を地図上に表示するマッピングサービスです。

概要は、こちらからでもご覧いただけます。


目次

  1. はじめに
  2. 画面構成
  3. 基本操作
  4. ユーザー登録・ログイン
  5. MQTT接続設定

はじめに

TTS Mapper は以下の機能を提供します:

  • ゲートウェイマップ: 日本国内のLoRaWANゲートウェイをリアルタイムで表示
  • フィルタリング: オンライン/オフライン、Net ID、テナントで絞り込み
  • デバイストラッキング: MQTT経由で自身のデバイス位置を投稿・表示
  • ダーク/ライトモード: システム連動または手動でテーマ切り替え

ゲートウェイマップの閲覧は登録不要です。デバイストラッキング機能を利用するにはユーザー登録が必要です。


画面構成

メイン画面

メイン画面

ダークモード

メイン画面(ライトモード)

ライトモード - システム設定に連動して自動切り替え

画面要素

要素 説明
サイドバートグル(✕ボタン) サイドバーの表示/非表示を切り替え
ユーザーセクション ログイン/ログアウト操作
MQTT接続 MQTT設定の管理(ログイン時のみ)
統計情報 ゲートウェイ数、オンライン数など
地域切り替え 日本/全世界の切り替え
フィルター 表示するマーカーの絞り込み
ゲートウェイ一覧 現在表示中のゲートウェイリスト
マップ ゲートウェイ・デバイスの位置を表示
マップコントロール ズーム、現在地、リセット

サイドバー非表示時

サイドバー非表示

☰ボタンをクリックするとサイドバーを再表示できます。


基本操作

地図の操作

操作 マウス タッチ
移動 ドラッグ スワイプ
ズームイン スクロールアップ / 「+」ボタン ピンチアウト
ズームアウト スクロールダウン / 「−」ボタン ピンチイン
現在地へ移動 📍 ボタン 📍 ボタン
初期位置へリセット 🗺️ ボタン 🗺️ ボタン

ゲートウェイの表示

  1. ページを開くと自動的にゲートウェイデータが読み込まれます
  2. 手動で更新する場合は「🔄 データ取得」ボタンをクリック

データ取得ボタン

マーカーの種類

マーカー 説明
オンラインGW 現在稼働中のゲートウェイ
オフラインGW グレー 停止中のゲートウェイ
デバイス RSSI値による ユーザーのデバイス位置(下記参照)

クラスタリング

ズームアウト時、近接するマーカーは自動的にクラスター(円内に数字)で表示されます。

対象 クラスター色 動作
ゲートウェイ 青〜緑系 クリックで展開
デバイス オレンジ〜紫系 ズームレベル18以上で個別表示

ゲートウェイとデバイスは別々のクラスターグループで管理され、混在しません。

RSSI凡例

画面右上にRSSI値による色分けの凡例が常時表示されます。デバイスマーカーの色はこの凡例に従います。

フィルタリング

ステータスフィルター

フィルターオプション

フィルター 説明 デフォルト
オンライン オンラインのゲートウェイを表示/非表示 ON
オフライン オフラインのゲートウェイを表示/非表示 OFF
デバイス 自分のデバイスを表示/非表示 ON

チェックボックスをクリックして切り替えます。

Net ID / テナントフィルター

Net ID フィルター

  • Net ID フィルタ: 特定のNet IDのゲートウェイのみ表示
  • テナントフィルタ: 特定のテナント(例: ttn)のゲートウェイのみ表示

地域フィルター

  • 🇯🇵 日本: 日本国内のゲートウェイのみ表示(デフォルト)
  • 🌍 全世界: 全世界のゲートウェイを表示

ユーザー登録・ログイン

ユーザー登録は招待制です。管理者から招待メールを受け取る必要があります。

アカウント有効化

  1. 管理者から招待メールを受信
  2. メール内の「アカウントを有効化」ボタンをクリック
  3. 有効化完了画面が表示されます

有効化画面

※上記は無効なトークンの場合のエラー画面です。有効なトークンの場合は成功メッセージが表示されます。

注意: 招待リンクは48時間有効です。期限切れの場合は管理者に再送信を依頼してください。

ログイン方法

TTS Mapper はパスワードレス認証(PINコード認証)を採用しています。

Step 1: メールアドレス入力

ログインStep1

  1. 登録済みのメールアドレスを入力
  2. 「送信」ボタンをクリック
  3. 6桁のPINコードがメールで届きます

Step 2: PINコード入力

  1. メールに届いた6桁のPINコードを入力
  2. 「認証」ボタンをクリック

注意: PINコードは10分間有効です。

ログイン後

ログイン後は以下が表示されます:

  • ユーザー名
  • ログアウトボタン
  • MQTT接続セクション

MQTT接続設定

MQTT接続の追加

  1. ログイン後、「🔌 MQTT接続」セクションの「+ 追加」ボタンをクリック

  2. MQTT設定ダイアログに必要事項を入力

項目 説明
接続名 任意の名前(識別用) My TTN App
MQTTホスト TTSのMQTTサーバー nam1.cloud.thethings.network
ユーザー名 アプリID@テナントID 形式 my-app@ttn
API Key TTSコンソールで生成したキー NNSXS.xxx...

TTNコミュニティの場合

  • ホスト: nam1.cloud.thethings.network(リージョンによる)
  • ユーザー名: アプリケーションID@ttn
  • API Key: TTNコンソール → アプリケーション → API Keys で生成

The Things Stack (自前サーバー)の場合

  • ホスト: 自分のTTSサーバーのアドレス
  • ユーザー名: アプリケーションID@テナントID
  • API Key: TTSコンソールで生成
  1. 「保存」ボタンをクリック

注意: 新規作成した接続はデフォルトで「停止」状態です。▶ボタンをクリックして接続を開始してください。

接続状態の確認

状態 インジケータ 説明
接続済み 緑(点灯) MQTTブローカーに接続成功
接続中 オレンジ(点滅) 接続試行中
停止 グレー 接続が無効化されている
エラー 接続失敗

MQTT接続の操作

各MQTT接続には以下の操作ボタンがあります:

ボタン 説明
▶(再生) 停止中の接続を開始
⏸(一時停止) 接続中の接続を停止
🧹(クリア) デバイスデータのみを削除(設定は残る)
🗑️(削除) 設定と関連するデバイスデータを全て削除
  • 接続状態の永続化: ブラウザを閉じても、有効/無効状態は維持されます

デバイス位置の表示

MQTT接続が成功し、デバイスが位置情報を送信すると、マップ上にマーカーで表示されます。

マーカーの色(RSSI値による)

RSSI値 信号強度
-70 dBm以上 非常に良好
-85 dBm以上 黄緑 良好
-100 dBm以上 黄色 普通
-110 dBm以上 オレンジ 弱い
-110 dBm未満 非常に弱い
データなし グレー -

マーカーのサイズ(受信ゲートウェイ数による)

受信GW数 サイズ
1 小 (20px)
2-3 中 (26px)
4-5 大 (32px)
6以上 特大 (38px)

マーカーが大きいほど、多くのゲートウェイで受信されたことを示し、カバレッジが良好なエリアであることが分かります。

マーカーをクリックすると、デバイス情報が表示されます:

  • デバイスID
  • 緯度・経度
  • RSSI(受信信号強度)と評価
  • SNR(信号対雑音比)
  • 受信ゲートウェイ数
  • 最終更新時刻

デバイスデータの履歴

デバイスから送信された位置情報は履歴として保持され、マップ上に複数のポイントとして表示されます。

設定
最大保持件数 100件/デバイス
最大保持期間 12時間

古いデータは自動的にクリーンアップされます。履歴を手動で削除したい場合は、MQTT接続の🧹ボタンを使用してください。

対応ペイロード形式

様々なGPSトラッカーやセンサーデバイスのペイロード形式に対応しています。

ペイロード例1: シンプルな形式

{
  "end_device_ids": {
    "device_id": "my-gps-tracker"
  },
  "uplink_message": {
    "decoded_payload": {
      "latitude": 36.3219,
      "longitude": 139.0032,
      "altitude": 108,
      "battery": 85
    },
    "rx_metadata": [
      {
        "gateway_ids": { "gateway_id": "eui-abc123" },
        "rssi": -85,
        "snr": 9.5
      },
      {
        "gateway_ids": { "gateway_id": "eui-def456" },
        "rssi": -102,
        "snr": 5.2
      }
    ]
  },
  "received_at": "2025-12-10T12:34:56.789Z"
}

ペイロード例2: ネストされた形式

{
  "end_device_ids": {
    "device_id": "lorawan-sensor-01"
  },
  "uplink_message": {
    "decoded_payload": {
      "gps": {
        "lat": 35.6812,
        "lng": 139.7671,
        "fix": true
      },
      "temperature": 23.5,
      "humidity": 65
    },
    "rx_metadata": [
      {
        "gateway_ids": { "gateway_id": "my-gateway" },
        "rssi": -95,
        "snr": 7.0
      }
    ]
  },
  "received_at": "2025-12-10T12:34:56.789Z"
}

対応する緯度フィールド名:
latitude, lat, gps_lat, Latitude, LAT, y

対応する経度フィールド名:
longitude, lng, lon, gps_lon, gps_lng, Longitude, LON, x

ネストされた構造にも対応:

  • decoded_payload.gps.latitude
  • decoded_payload.location.lat
  • decoded_payload.position.latitude
  • decoded_payload.gps_1.latitude

配列形式にも対応:

  • coordinates: [lng, lat] (GeoJSON形式)
  • latlon: [lat, lng]
  • latlng: [lat, lng]

SenseCAP等のmessages配列形式にも対応:

{
  "messages": [
    [
      { "type": "Latitude", "measurementValue": 36.329 },
      { "type": "Longitude", "measurementValue": 139.005 }
    ]
  ]
}

複数ゲートウェイ受信時の処理

デバイスからのアップリンクが複数のゲートウェイで受信された場合:

  1. 全ゲートウェイのRSSI値を比較
  2. 最良(最大)のRSSI値を持つゲートウェイのデータを採用
  3. 受信ゲートウェイ数も記録・表示

これにより、最も信号品質の良いゲートウェイのデータが使用されます。

MQTT接続の削除

  1. 削除したい接続の「🗑️」ボタンをクリック
  2. 確認ダイアログで「OK」をクリック

注意: MQTT接続を削除すると、関連するデバイスデータも全て削除されます。デバイスデータのみを削除したい場合は「🧹」ボタンを使用してください。


トラブルシューティング

ゲートウェイが表示されない

  1. 「🔄 データ取得」ボタンをクリックして再読み込み
  2. フィルター設定を確認(オンライン/オフラインが非表示になっていないか)
  3. 地域フィルターを確認(日本/全世界)

PINコードが届かない

  1. 迷惑メールフォルダを確認
  2. メールアドレスが正しいか確認
  3. 10分経過している場合は再度PINコードをリクエスト

MQTT接続が失敗する

  1. ホスト名が正しいか確認
  2. ユーザー名の形式(app-id@tenant-id)を確認
  3. API Keyの権限を確認(MQTT接続権限が必要)

デバイスがマップに表示されない

  1. MQTT接続状態が「接続済み」(緑)か確認
  2. デバイスが位置情報を送信しているか確認
  3. フィルターで「デバイス」が有効か確認

お問い合わせ

ご質問やご要望は以下からお問い合わせください:

ELSPINA VEINZ Inc.