📘 第5章 第22回 クラウド連携とログの自動化

クラウド連携とログの自動化

~ DMRの交信記録、手で書くのはもう卒業! ~


☁️ こんな悩み、ありませんか?

  • 「交信記録つけるの忘れてた…」
  • 「Excelの整理、面倒すぎる…」
  • 「他のデバイスでもログを見たい!」

🔑 そこで登場するのが「クラウド連携」。
あなたのDMR運用ログを、自動で記録&いつでも閲覧できるようにしてみましょう!


🛠 1. クラウド連携の代表例

方法特徴難易度
📄 Googleスプレッドシートブラウザで編集・共有OK。簡易DBにも◎★☆☆(かんたん)
🗄 MySQL / MariaDB本格的なデータベース連携★★★(中〜上級)
🔗 Webhook/API連携BrandMeister APIなどから自動取得も可★★☆(中級)

🧪 2. Googleスプレッドシート連携(入門編)

✅ 用意するもの

  • Google アカウント
  • Raspberry Pi またはPC
  • Python(スクリプトで連携)

💡 実現できること

  • DMRログ(例:受信コールサイン・時刻・TGなど)を自動記録
  • スマホ・タブレットでどこでも閲覧
  • 検索・フィルタ・グラフ化も可能!

🔧 手順ざっくり解説

  1. Google Cloud Consoleで「スプレッドシートAPI」を有効化
  2. サービスアカウントと認証ファイル(JSON)を作成
  3. Pythonでgspreadライブラリを使ってスプレッドシートにアクセス
  4. MMDVMHostやAnalog_Bridgeのログファイルを定期解析
  5. 新しいQSO情報を1行ずつ追記!
pythonコピーする編集するimport gspread
from oauth2client.service_account import ServiceAccountCredentials

# スプレッドシート認証
scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)
client = gspread.authorize(creds)

# シートを開く
sheet = client.open("DMR Logs").sheet1
sheet.append_row(["JJ2YYK", "TG3020", "2025-06-03 11:00", "438.71MHz"])

🗃 3. MySQLデータベース連携(中級編)

ログをしっかり管理したい場合はMySQL/MariaDBとの連携もおすすめ!

🔧 手順(ざっくり)

  1. MySQLをインストール(sudo apt install mariadb-serverなど)
  2. dmr_logsなどのDBとテーブルを作成
  3. Pythonなどでログを定期読み取り→SQLでINSERT
sqlコピーする編集するCREATE TABLE dmr_qso (
  id INT AUTO_INCREMENT PRIMARY KEY,
  callsign VARCHAR(20),
  tg VARCHAR(10),
  datetime DATETIME,
  frequency VARCHAR(20)
);

💡 応用例

  • Web画面で交信ログを検索・表示
  • PHP+WordPress連携で「リアルタイムログ表示」
  • Google Data Studio連携でグラフ化

📶 4. BrandMeister APIを使ってみよう(応用編)

BrandMeisterにはAPIがあります!
あなたのホットスポットやDMR IDに関する最新情報をJSON形式で取得可能。

🔗 できること

  • 自分の交信ログを自動取得
  • 通話相手・トークグループ・最終送信時刻などの取得
  • ダッシュボード化や通知Botの作成にも!

🎁 5. ログ自動化で得られるメリット

  • 手作業ゼロ! 毎日の運用が記録されていく安心感
  • 📱 どこでも見れる! スマホで確認・分析・共有も楽々
  • 📊 アワード対策にも◎ 交信回数・TG分布が一目でわかる!

🚀 まとめ

クラウドと連携すれば、DMRログはもっと便利に・もっと楽しくなります!
Googleスプレッドシートから始めて、ゆくゆくはWeb表示やAPI連携へとステップアップするのもおすすめ。

第5章 第22回 クラウド連携とログの自動化

2025年6月2日 jj2yyk


🛠 クラウド連携とログの自動化

~ DMRの交信記録、手書きはもう卒業! ~


☁️ こんな悩み、ありませんか?

DMR運用を楽しんでいるあなたも、もしかしたらこんな悩みを抱えていませんか?

  • 「あれ?今日の交信、記録つけ忘れてた…
  • 「Excelに手で入力するの、正直面倒すぎるな…」
  • 「自宅のPCにしかログがないから、外出先でログを確認できないのが不便…」

手書きや手入力でのログ管理は、どうしても手間がかかり、記録の抜け漏れや、後からの確認・分析のしにくさといった課題があります。

🔑 そこで登場するのが**「クラウド連携」「ログの自動化」**です!

あなたのDMR運用ログを、自動で記録し、インターネット経由でいつでもどこからでも閲覧・管理できるようにしてみましょう!


🛠 1. クラウド連携の代表例

DMRのログをクラウドと連携させる方法はいくつかあります。それぞれの特徴と難易度を見ていきましょう。

方法特徴難易度
📄 GoogleスプレッドシートGoogleアカウントがあればすぐに始められ、ブラウザで簡単に編集・共有が可能です。簡易的なデータベースとしても機能し、共同運用している仲間とのログ共有にも便利です。★☆☆(かんたん)
🗄 MySQL / MariaDB本格的なリレーショナルデータベースとの連携です。大規模なデータ管理や複雑な検索・分析に適しています。ウェブサイトと連携してリアルタイムなログ表示を行うなど、高度なカスタマイズが可能です。★★★(中〜上級)
🔗 Webhook/API連携BrandMeister APIなど、DMRネットワークの提供するAPI(Application Programming Interface)を利用して、交信ログやホットスポットの情報を直接取得する方法です。よりリアルタイム性の高いデータ連携や、独自のアプリケーション開発に役立ちます。★★☆(中級)

Google スプレッドシートにエクスポート


🧪 2. Googleスプレッドシート連携(入門編)

最も手軽に始められるのが、Googleスプレッドシートとの連携です。プログラミングの基礎知識があれば、すぐに自動化を体験できます。

✅ 用意するもの

  • Google アカウント
  • Raspberry Pi(Pi-Starなどホットスポットを動かしているSBC)または、PC(ログファイルが保存される環境)
  • Python(スクリプトで連携処理を行います)

💡 実現できること

  • DMRの交信ログデータ(例:受信コールサイン・時刻・TGなど)を自動で記録できます。
  • 記録されたログはGoogleスプレッドシート上に保存されるため、スマホやタブレットでどこからでも閲覧可能です。
  • スプレッドシートの機能を使って、検索・フィルタリング・グラフ化なども簡単に行えます。

🔧 手順ざっくり解説

  1. Google Cloud Consoleで「Google Sheets API」を有効化: Google Developers Consoleにアクセスし、新規プロジェクトを作成して「Google Sheets API」と「Google Drive API」を有効にします。
  2. サービスアカウントと認証ファイル(JSON)を作成: スプレッドシートにアクセスするための「サービスアカウント」を作成し、認証用のJSONキーファイルをダウンロードします。このファイルはPi-Starなどからスプレッドシートにアクセスする際に必要になります。
  3. Pythonで「gspread」ライブラリをインストール: pip install gspread oauth2client コマンドで、PythonからGoogleスプレッドシートにアクセスするためのライブラリをインストールします。
  4. MMDVMHostやAnalog_Bridgeのログファイルを定期的に解析: ホットスポットのログファイル(例:/var/log/pi-star/MMDVM-YYYY-MM-DD.logなど)には、DMRの交信履歴が記録されています。Pythonスクリプトでこれらのログファイルを定期的に読み込み、新しいQSO情報を抽出します。
  5. 新しいQSO情報をスプレッドシートに追記!: 抽出したQSO情報を、gspreadライブラリを使ってスプレッドシートの最終行に1行ずつ追記していきます。

Python

import gspread
from oauth2client.service_account import ServiceAccountCredentials

# スプレッドシート認証情報
# ダウンロードしたJSONキーファイルのパスを指定
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('path/to/your-service-account-key.json', scope)
client = gspread.authorize(creds)

# シートを開く(スプレッドシート名を指定)
# スプレッドシートをサービスアカウントと共有設定にすることを忘れずに
sheet = client.open("DMR Logs").sheet1 

# 例として、交信情報を追加する
# 実際にはログファイルから読み込んだデータをここに渡す
qso_data = ["JJ2YYK", "TG3020", "2025-06-03 11:00:00 JST", "438.71MHz"]
sheet.append_row(qso_data)

print("DMRログがスプレッドシートに追記されました。")
  • 注: credentials.json のパスは、実際にダウンロードしたファイルの場所に合わせてください。また、スプレッドシートをサービスアカウントのメールアドレスと共有設定にする必要があります。

🗃 3. MySQLデータベース連携(中級編)

より堅牢なログ管理や高度なデータ連携を目指す場合は、MySQLやMariaDBなどのリレーショナルデータベースとの連携がおすすめです。

🔧 手順(ざっくり)

  1. MySQL/MariaDBをインストール: Raspberry PiやLinuxサーバーにsudo apt install mariadb-serverなどのコマンドでデータベースサーバーをインストールします。
  2. データベースとテーブルを作成: dmr_logsのようなデータベースと、dmr_qsoといったテーブルを作成し、交信ログを格納するスキーマを定義します。

SQL

CREATE DATABASE dmr_logs;

USE dmr_logs;

CREATE TABLE dmr_qso (
  id INT AUTO_INCREMENT PRIMARY KEY,
  my_callsign VARCHAR(20) NOT NULL,
  their_callsign VARCHAR(20) NOT NULL,
  talk_group VARCHAR(10),
  qso_datetime DATETIME,
  frequency VARCHAR(20),
  mode VARCHAR(10),
  rst_sent VARCHAR(5),
  rst_recv VARCHAR(5),
  qth VARCHAR(50),
  remarks TEXT
);
  1. Pythonなどでログを定期読み取り→SQLでINSERT: スプレッドシート連携と同様に、Pythonスクリプトでログファイルを解析し、抽出したQSO情報をSQLのINSERT文でデータベースに書き込みます。

💡 応用例

MySQL/MariaDBでログを管理すると、様々な高度な応用が可能になります。

  • Web画面で交信ログを検索・表示: PHPやPython (Flask/Django)などでウェブアプリケーションを開発し、自分のDMRログをブラウザから簡単に検索・表示できる独自のダッシュボードを作成できます。
  • PHP+WordPress連携で「リアルタイムログ表示」: WordPressサイトにプラグインを組み込むことで、最新の交信ログをリアルタイムでウェブサイトに表示することも可能です。
  • Google Data Studio (Looker Studio)連携でグラフ化: データベースのデータをGoogle Data Studioに接続し、交信回数の推移、TG利用分布、DXCCカントリー別の交信実績など、視覚的に分かりやすいグラフやレポートを作成できます。

📶 4. BrandMeister APIを使ってみよう(応用編)

BrandMeisterネットワークには**公開されているAPI(Application Programming Interface)**があります。これを活用することで、あなたのホットスポットやDMR IDに関する最新情報をJSON形式で直接取得し、独自のアプリケーションに組み込むことができます。

🔗 できること

  • 自分の交信ログを自動取得: BrandMeisterサーバーに記録されている自身の交信履歴をプログラムから自動的に取得できます。
  • 通話相手・トークグループ・最終送信時刻などの取得: 特定のDMR IDやトークグループの現在の活動状況をリアルタイムに近い形で把握できます。
  • ダッシュボード化や通知Botの作成: 取得したデータを使って、オリジナルのDMRダッシュボードを構築したり、特定のTGで交信があった際にスマートフォンに通知を送るBotを作成したりするなど、活用の幅が広がります。

🎁 5. ログ自動化で得られるメリット

DMRログの自動化は、あなたの無線ライフを劇的に快適にします。

  • ✨ 手作業ゼロ! 毎日の運用が自動で記録されていく安心感は格別です。記録忘れの心配もなくなります。
  • 📱 どこでも見れる! クラウドに保存されるため、PC、スマホ、タブレットなど、インターネットに繋がるどのデバイスからでも手軽に確認・分析・共有が可能です。
  • 📊 アワード対策にも◎! 交信回数、TGの利用分布、DXCCカントリー別の実績などが一目でわかるようになり、アワード申請のためのデータ集計も格段に楽になります。

🚀 まとめ

DMR運用において、クラウドと連携してログを自動化することは、利便性を高め、DMRをより深く、もっと楽しくしてくれる強力なツールです!

まずは手軽に始められるGoogleスプレッドシートとの連携から挑戦し、プログラミングやデータベースの知識が深まってきたら、ゆくゆくは独自のWeb表示やBrandMeister API連携へとステップアップしていくのがおすすめです。