ビーコンモニタ 2 を、ようやく公開できました

投稿者: | 2017年11月25日

Long time stagnant project ‘Beacon Monitor-2’ finally released a beta version software now!

ずっと停滞していた「ビーコンモニタ 2」のソフトウェアを、ようやく公開することができました。

いつもの前ふり

アマチュア無線で使われる短波(周波数が 3〜30メガヘルツの間の電波)通信では、上空数百キロメートルに存在する電離層の影響を受け、いつでも海外と通信できる訳ではありません。現在も活躍しているアマチュア無線家は、そのような短波帯の特性(電波伝搬状況)にチャレンジ精神を感じている訳ですが、やはり、「いまこの時間にどのような地域と交信できるか?」を容易に知りたい、という気持ちがあります。

そのために、国際的な枠組みで世界中に「短波ビーコン局」というものが設置され、スケジュールによってある周波数でどの時間に、香港から電波が送信されている、また、南アフリカから送信されている、というのが分かるようになっています。

基本的には、アマチュア無線家は耳でそれをモニタして電波伝搬状況を知る訳ですが、近年はパソコンや Raspberry Pi 等の安価なコンピュータを使って、一日中、自動的にビーコンの受信状況をチェックすることができるようになりました。有名なところでは、カナダの VE3NEA というアマチュア無線家(アマチュア無線家は、その所有するコールサインで呼ばれることが多いです)が開発した、Windows パソコン用の Faros というソフトウェアがありますが、これは Windows パソコンを 1台占有してしまうこと、結果として運用が高価であり電力消費も大きいということから、私は 2014年頃に、Raspberry Pi で動作するソフトウェアを自作して運用してきました。

正確に言うと、2010年に Celeron クラスの Linux パソコンで動くものを最初に作ったのですが、2011年の東日本震災で電力が貴重になった折に、運用を一次停止しました。その後 Raspberry Pi に移行したのです。

運用サイトはこちらです。

そして、こんな表示が得られます。

このソフトウェアは、お陰様で世界中のアマチュア無線家から問い合わせがあったのですが、なにぶん設計が複雑で、GNU Octave、シェルスクリプト、AWK、C 言語、Python 言語のまぜこぜで実装されていたこともあり、非常に「可搬性」が悪いものでした。具体的には、Octave や AWK、シェルのバージョンの微妙な違いで動作しなくなってしまうのです。そのため、ずっと公開できずにいました。

Monitor-2 プロジェクト

ようやく本題です。去年あたりから温めていたプランが、このソフトウェアを全て Python だけで動作するように修正する、というものでした。核となっていた GNU Octave(信号処理を簡易言語で高速に実現するもの)についても、Python のライブラリ NumPy、SciPy というものを使って代替できることが分かったため、計画はスムーズに進むと思ったのですが、ソフトウェアをどこから設計するかで悩み、1年半ほど停滞してしまったのです。

一つの問題は、私は団地住まいで、受信用のアンテナをいくつも用意できないことです。いままで動いていた「Monitor-1」を長期間停めることは自分としても許せなかったので、これを動かしながら新規開発したいと思ったのですが、これは難問でした。

今年の 10月になってから、ようやく一つのアイデアを思いつきました。それは、既存の Monitor-1 の最初段である信号受信部からの信号を 2経路に分岐して、それを使って開発を進めるというものです。このアイデアを元に、ようやくコーディングが捗ることとなりました。

ソースコードの公開

今回のプロジェクトの成果は、多くの方に使って頂けるようにするという目標から、いわゆる「オープンソース」といたしました。私はオープンソースという言葉よりも、昔の freeware という言葉のほうが好きなのですが、その意味から言いますと、今回の成果は BSD 2-Clause License という形で公開させて頂くことにしました。具体的には、

  • 商利用可
  • 変更可
  • 再配布可
  • 無保証
  • 著作権は保持

というものです。私自身も、世の中の様々な優れたソフトウェアを無償で利用させていることもあり、自由にお使い頂ければと思います。ただし、ソースコードは読みにくいと思います。ゴメンナサイ。(特に、ベイジアン推定コード周り)

結論が遅くなりました。

ソースコードは GitHub で公開させて頂きました。現状、いちおうベータバージョンと呼ばせて頂いています。本来は、もう少しコードを整理し、また、screen コマンドを使わずともバックグラウンドで起動する、いわゆる「ターンキーシステム」にできたら良いのですが、そこまでは手が回っていません。実は、多くの無線家からの問い合わせを長年待たせてしまっていたため、これ以上引き延ばすことが困難と考えられたこと、また、12月から仕事(本業)が忙しくなりそうだ、というのがその理由です。

また、最近の流行りに乗り、Facebook ページも用意させて頂きました。

なにぶん、私の受信環境(ロケーションやアンテナ)は良好なものではないので、日本国内のアマチュア無線家の皆様にも御利用頂けましたら幸いです。よろしくお願いいたします。

おしまい。