2026年11月10日火曜日

APRSパケットAFSKデコーダと地図表示アプリ

APRSパケットを無線機で受信、スピーカーから出力し、スマホの内蔵マイクからその音を取り込んでデコード、地図に表示するPWAを作ってみました。

PWA(Progressive Web Apps / プログレッシブ・ウェブ・アプリ)とは、Webサイトをスマートフォンやパソコンの「アプリ」のように使えるようにする技術や仕組みのことです。ブラウザ(ChromeやSafariなど)で開いたWebサイトを、あたかもApp StoreやGoogle Playからダウンロードした「ネイティブアプリ」であるかのように操作できます。

添付動画は、ハンディートランシーバーでAPRSパケットを受信し、Macbookの内蔵マイクでその音を取り込み、Chromeブラウザでデコード、地図表示している様子を示したものです。

ブラウザで動作しますので、Windows、macOS、アンドロイドスマホ、iPhone, iPadで動作します。


2026年10月20日火曜日

Tracker3 (OT3m)の制御で、ハマった話

PCからTracker3 OT3mを制御しようとしたのですが、うまくいかず、解決まで半日かかりました。結論から言うと原因は、コマンドを速く送りすぎたからの模様です。

Agent Systemsが提供しているOTWINCFGという設定ツールを使うと、いろいろな設定が問題なくできます。しかし、自作のPythonプログラムから設定しようとすると、うまく動作するコマンドもあれば、動作しないコマンドもある。。。。。特に、今回、使用するUSBKISSコマンドが動かない。試しに、TeratermからUSBKISS ONとマニュアルタイプすると動作する。。。

ネットで有用な情報がないか、いろいろ見ていたら、ボーレートが速すぎるとマイコンが処理しきれないという書き込みがあり(Tracker3とは全然関係ないマイコンの話)、コマンドを送り込むスピードの問題なのか、、、そこで、一文字送るごとに、若干のWaitを入れてみたところ、動作するようになりました。


"""Writes data to the serial port one byte at a time with a delay."""
def writeSlow(self, data, delay=0.01):
    for byte in data:
        self.ser.write(bytes([byte]))
        self.ser.flush()  # Ensure the byte is sent immediately
        time.sleep(delay)



APRS I-Gate、APRS-IS -> RF Feed

APRS-IFからRFへパケットをゲートしてみたいと思い、Windows上で動くソフトウェアを調べました。ググると、APRSIS32、YAAC、Pinpoint APRS、DireWolf、UI-VIEW32がヒット。そういえば、昔は、UI-VIEW32を使っていたなぁと思い出したのですが、流石に古く、今回は違うソフトウェアを使ってみることにしました。

APRSIS32:インストールはスムーズにできました。しかし、あれこれ設定をいじったのですが、APRS-IS → RFにフィードすることができず断念。説明には、できると書いてあったので、私の設定が良くないのだと思います。

YAAC:JAVAなので、自分の古いPCではちょっと動作が遅い。これも、あれこれ設定を試したのですが、APRS-IS → RFにフィードできず。難しい。

Pinpoint APRS:そもそもAPRS-IS → RFには対応していない模様。

DireWolf:ソフトウェアモデムが中心?

UI-VIEW32:流石に古いか

丸一日費やしたのですが、結局うまくいかず、どうしたものかと。。。。

結局、APRS-ISから流れてくるパケットをRFに流すのであれば、それほど難しくないだろうということで、自作することにしました。開発環境はVSCODE、言語はPython。ハードウェア構成は下図のようにしました。ノートパソコンのUSBからAgent SystemsのTrakcer3、無線機は往年のTM -D710。アンテナは無し(ダミーロード)です。


机上はこんな感じ。



ハンディ機で動作を確認しています。



2026年9月29日火曜日

WSJT-Xの開発を垣間見る

WSJT-Xの開発に参加されている方々の精力的な活動に、いつも感謝しています。多くの時間と労力を注いで開発や改善を続けてくださるおかげで、私たちは素晴らしいソフトウェアを使うことができています。

その開発の過程が、GitHubを通して垣間見ることができます。例えば、ワークフローを見ると、ほぼ毎週、多い時は1日に数回プログラムやドキュメントの更新が行われていることがわかります。バージョン3.0から3.2に至るまでの細かい過程はChangesを見るともっと詳しくわかります。2026年7月頃から、AI (Claude code)を導入した様子が見て取れます。

ベータバージョン3.2では、2025年末から開発の始まったJTTYモードが搭載されているようですね、正式リリースが楽しみです。

2025年11月27日木曜日

mmtty, mmvari, mmsstv, 2025 build

Embarcadero® C++Builder 12 community editionでビルドできるように mmsstv, mmtty, mmvariを更新してみました。https://github.com/ja7ude

C++ Builder Community Editionは制限がありますが、無料で使うことができます。

2025年11月1日土曜日

AIコードアシスタントを使ってみた(2)

 xcodeを使ってiPhoneのアプリを作っているのですが、AIアシスタント(chatGPT-5)に助けてもらうことでコーディング効率が著しく高くなっています。新しい機能を追加したい時に、いちいちxcodeやSwiftUIの手引きを参照しなくても、かなりの精度で答えを教えてくれます。また、エラーの解決方法を教えてくれます。コードのエラーがあれば、そこをマウスでクリックして、"Generate Fix for issues"を選べばほとんどの場合、正しい解決策を提示してくれます。 頼めば、勝手にコードを修正してくれます。

問題解決だけではなく、コードを綺麗にして、と頼むと、プログラムの潜在的な問題や、こうした方がもっと効率がいいよ、など鋭い指摘をしてくれます。

あまりに、何度も何度も助けてもらっていると、1日の最大回数を超えて、明日までおあずけと言われてしまいますけど。



2025年10月26日日曜日

Pi-holeを導入してみた

いろいろなホームページを見ていると、どうしても広告が目障りになってきます。広告ブロッカーの一つであるPiーholeを導入してみました。

今回使った機材は、引き出しの中に眠っていたRaspberry-Piです。こちらのページを参考にセットアップしました。久しぶりにRaspberry-Piに触ったので、思い出さなければならないことが多く、時間がかかりましたが、OSのインストールから始めて1時間弱で完了しました。

FacebookやYouTubeの広告はブロックできないですが、よく見るサイトの広告が消え去って、なかなか快適です。

そういえば、このブログの広告も、もう表示しないようにしておきます。



2025年10月17日金曜日

WSJT-Xの日本語化モジュール

 WSJT-Xを日本語化するときに使うTSファイルをGitHubに置きました。

https://github.com/ja7ude/wsjtx-japanese-ts

註)これはWSJT-Xアプリ本体を日本語化するために用いられるQt translation fileです。ユーザガイドとは違います。このファイルを自分で変更して、WSJT-Xの実行ファイルと同じフォルダに置いても効果はありません。このファイルを使うためには、WSJT-Xを自分でコンパイル、ビルドする必要があります。

2025年10月13日月曜日

AIコードアシスタントを使ってみた

 

Xcode26にAIコードアシスタントが入ったということで、使ってみました。

手始めに、マイクロフォンで音を拾い、そのスペクトラムを表示するアプリを作ってくれとお願いしてみました。たった2、3回のやり取り、プラス、若干の手直しで、実物のiPhoneで走るアプリができてしまいました。

これは、やばいかもしれません。コーディングやOS、APIを知らなくてもアプリが作れる時代がもうすぐそこまでやってきていると実感しました。




2025年9月16日火曜日

WSJT-X 3.0.0-rc1 日本語画面

 一部、日本語化がされていないところもあるようですが、概ね良さそうです。



2025年9月13日土曜日

WSJT-X 3.0.0-rc1

 WSJT-XとWSJT-X improvedを統合したVersion 3.0.0-rc1は、2025年9月15日公開予定だそうです。

2025年9月8日月曜日

WSJT-X 3.0.0用日本語ファイル

WSJT-X 3.0.0用の日本語ファイルを作成しました。うまく取り込まれるといいのですが。

https://groups.io/g/wsjtx-l10n

2025年9月5日金曜日

WSJT-X3.0.0

 WSJT-XとWSJT-X improvedを統合したWSJT-X version 3.0.0が近く公開されるということで、日本語翻訳の依頼が来ました。取組中です。

2024年1月2日火曜日

WSJT-X 2.7.0-rc3 公開

 WSJT-X 2.7.0-rc3 リリースノート

2024年1月1日

WSJT-X 2.7.0-rc3では、いくつかの新しい機能、たくさんの強化改善、バグの修正を行いました。

  • 「Hamlib更新」機能追加。Windows版では、WSJT-Xから直接Hamlibを更新することができるようになりました。ひとつ前のバージョンは自動的にバックアップされ、必要に応じてもとに戻すことができます。
  • リンクしているHamlibのバージョンを表示するようにしました。Linux版、MacOS版も同様。
  • FTラウンドアップメッセージプロトコルを強化。シリアルナンバーだけでなく、固定の4桁の番号を送ることもできるように変更しました。FT RUプロトコルを他のコンテストにも使えるようになります。
  • モード変更を即座にできるように改善。サブモードに加え、「Sh」「Fast」のオンオフ状態もモードごとに記憶されるようになりました。
  • マウス右クリック動作を改善。
    • Q65ボタンを右クリックすることで、パイルアップモードへ移行。左クリックで通常モードへ戻る。
    • JT65ボタンを右クリックで、JT9モードへ移行。
  • Q65ですべての受信メッセージを右側ウィンドウに表示。
  • メッセージアベレージ動作はVHF機能がオンのときのみ実行されるように変更。ラベルもメッセージアベレージ動作のオンオフによって、「Single Period Decodes」「Average Decodes」と変化します。
  • Hamlibトランシーバーモードの改善。リグスプリットの動作がより安定するようになりました。
  • WSJT-XとDXLabの間の冗長な通信を排除。
  • OpenSSLライブラリがなくてもLotWファイルをダウンロードできるように変更。
  • WSPRでもスポットカウンターが使えるように変更。
  • Foxモードで個々のコンテスト名を挿入しないように変更。
  • 「Include extra WAE entities」が選択されていない場合、WAEエンティティ―が正しくDXCCに対応するように改善。
  • ARRL EMEコンテストのため、wsjtx.logファイルをCabrilloフォーマットへ変換するツール「cablog」を追加。
  • Active Stationウィンドウの改善。
  • EchoモードのRx/Tx周波数を1500Hzに固定。
  • Linux版のインストールを若干修正改善。
  • CTY.DATファイルの更新。

2023年7月8日土曜日

WSJT-X 2.7.0-rc2公開

 WSJT-X 2.7.0-rc2が公開されました。以下、リリースノートの和訳です。

2023年7月7日

WSJT-X 2.7.0-rc2では、以下の改善と問題修正を行いました。

  • CTRL+SHIFT+F11/F12を押すと、従来は2000Hzダイヤル周波数を上下していましたが、1000Hzに変更しました。
  • 来る日食イオン圏科学研究プロジェクトのためにPSK Reporterへのスポット機能を強化。
  • ハンガリー語のユーザーインターフェースを追加。
  • Q65のサブモードDとEにおいて発生するデコード誤りを修正。
  • QSO開始時間が間違う問題を修正。DXコールが変わったときリセットされるように変更。
  • ARRLデジタルコンテストでログできない問題を修正。
  • Q65モードにおいて、モードボタンを右クリックすることによってパイルアップモードをON/OFFする機能をmacOSでもサポート。
  • macOS Venturaにおいて、コンパイルエラーが出る問題を修正。
  • WSPRとFST4Wでバンドホッピングが動作するように修正。
  • cty.datファイルを使用したとき、きちんとU.S.A.が表示されるように改善。
  • Active StationsウィンドウでFT8エントリーが2重に表示される問題を修正。

2023年6月26日月曜日

P2APRS - an APRS client on iPhone

iPhone上で走るAPRSクライアントアプリP2APRSを作ってみました。通常、iPhoneのアプリは、Macなどの上にXcodeという開発環境を導入し、Objective-CやSwiftという言語を使って作らなければなりません。一応、Macbook Airを持っているのですが、もう10年くらい前のモデルで、古すぎてXcodeが走らず使えません。

今回は、Pythonista3というアプリをiPadにインストールし、その上に自分のアプリを作っています。Pythonista3は、iOS上で走る有料のアプリで、1500円しましたが、控えめに言って、大バーゲン神アプリです。Pythonista3を使うと、Macがなくても、iPhoneやiPadでアプリが開発できます。ソースコードは最近AIなどで広く使われているPythonで書きます(Pythonはライブラリが充実しています)。Pythonista3にはエディタがついていますので、iPhone一台でプログラムを書き、走らせ、そしてデバッグができます。すごい。。。。。今回も、iPhoneを持って歩きながらAPRSアプリを走らせてテストし、問題があったら、その場ですぐにソースコードを修正、再びテスト、ということで、これ以上便利な開発環境はないかもしれません。



P2APRSはテスト中ですが、そのうち、公開したいと考えています。


2023年5月18日木曜日

Bardにアマチュア無線を讃える歌を作ってもらいました

 Bard:アマチュア無線を讃える歌を作って

(1節) アマチュア無線、それは趣味です、 世界中の人々とつながることができます。 それはやりがいのある趣味であり、 それはあなたに多くのことを教えることができます。

(コーラス) アマチュア無線、 それは素晴らしい趣味です。 世界中の人々とつながることができます、 そして、それはあなたに多くのことを教えることができます。

(2節) アマチュア無線、それはコミュニケーションの方法です。 それは緊急時に使用できます、 それはまた、友達や家族とつながるための方法です。

(コーラス) アマチュア無線、 それは素晴らしい趣味です。 世界中の人々とつながることができます、 そして、それはあなたに多くのことを教えることができます。

(ブリッジ) アマチュア無線、 それは世界をより小さくする方法です。 それはあなたに新しい友達を作る方法です、 そして、それはあなたに新しい視点を与えることができます。

(コーラス) アマチュア無線、 それは素晴らしい趣味です。 世界中の人々とつながることができます、 そして、それはあなたに多くのことを教えることができます。

(アウトロ) アマチュア無線に参加してみませんか? あなたはそれを後悔することはありません。



いかがでしょう?

2023年5月14日日曜日

WSJT-X 2.7.0-rc1 リリース

 WSJT-X 2.7.0-rc1 がリリースされました。以下リリースノートの日本語訳です。


 WSJT-X 2.7.0-rc1 2023年5月12日

 WSJT-X 2.7.0-rc1は新プログラムQMAPを搭載し、ほかにはたくさんの機能強化とバグ修正を行いました。

  • QMAPとQ65はEME通信でのパイルアップを効率的にさばくためのプログラムです。
    • QMAPは、2007年から主に2mバンド用に作られたMAP65の後継プログラムです。Q65の60秒サイクルサブモードにおける単一偏波受信機能を持ちます。WSJT-Xで通常のEME通信を行う傍ら、90kHzのサブバンド内すべての信号をモニタすることができます。
    • Q65パイルアップモードはWSJT-Xの新機能で、6mのEMEでよく経験されるような、たくさんの弱いQ65信号でパイルアップを受けたとき、DXオペレーションを補助します。
    • QMAPとQ65パイルアップモードの詳細については、以下のクイックスタートガイドを参照してください。https://wsjt.sourceforge.io/Quick_Start_WSJT-X_2.7_QMAP.pdf
  • PSKレポータへ、より効率よくスポットするように改善。冗長なスポットを排し、時間差をつけてポストするようにしました。ただし、一時的に、HamSCIの日食フェスティバルでは、より頻繁にポストするようにしています。
  • 一回の受信インターバルで100を超えるFT8メッセージをデコードできるように強化。
  • Foxモードの強化。
    • 2つの列をより便利に効率よくさばけるよう強化。
    • FoxのログウィンドウにQSOレートの統計情報を表示。
  • 運用中にロケータが変わった場合(ポータブル運用など)、自動的に新しいロケータをPSK Reporterへ送るよう変更。
  • cty.datファイルは Settings→Colorsタブにあるボタンを押すことで更新できるように変更。
  • 新しいLotWファイルをダウンロードしたとき、新しい状況を表示するよう変更。
  • MSHVのマルチストリームメッセージをWSJT-XのHoundモードで正しく処理できるよう修正。
  • FT8の遅れたデコードがオートシーケンスに悪影響を与えないよう修正。
  • コンテスト名が正しく記憶されないバグを修正。
  • 小さなバグの修正。
  • 新しいWSJTグループのホームページへのリンクをユーザーガイドに掲載。
  • macOS用ビルド方法の説明をわかりやすく修正。

2023年2月1日水曜日

chatGPTにアマチュア無線を讃える歌を作ってもらいました

問: アマチュア無線を讃える歌を日本語で作ってください

答:「アマチュア無線が好き」

山々を越え 雲の上を通り抜け 声が届く 空は広がる アマチュア無線が好き 世界中に友達を作って コミュニケーションをとって 私たちは繋がっている

電波は 空を越え 心を繋ぐ 私たちの想い アマチュア無線が好き 趣味となって 楽しんでいる 知識も増えて 能力も向上 私たちは成長している

アマチュア無線 ここにあり 私たちの友情 空を越えて アマチュア無線が好き 永遠に続く 私たちの想い コミュニケーションをとって 私たちは繋がっている


恐れ入りました


APRSパケットAFSKデコーダと地図表示アプリ

APRSパケットを無線機で受信、スピーカーから出力し、スマホの内蔵マイクからその音を取り込んでデコード、地図に表示するPWAを作ってみました。 PWA(Progressive Web Apps / プログレッシブ・ウェブ・アプリ)とは、 Webサイトをスマートフォンやパソコンの「...