見出し画像

TWSNMP開発日誌:キーボードの不調に悩まされたが、RTL-SDRの自由研究でGO言語のプログラムを使ってNACK5が聞けた

涼しくなってぐっすり眠れるので今朝も6時から開発開始です。
機能の夕方にモバイル版のBUG修正でもしようと思いました。しかし、キー入力がまったくできない状態になってしまいました。11ヶ月前にキーボードが故障して交換しましたが、また壊れたようです。

今回は一部のキーが入力できない状態ではなくキーボードをまったく認識しない状態になっていました。仕方ないのでアマゾンで注文しました。
今朝、試してみると認識して入力もできるようになっていました。
失敗したかなと思って使っていると、また認識しなくなりました。
ケーブルをつなぎ変えると復活したので、もしかするとUSBの切り替えSWの問題かもしれません。キーボードは消耗品だと思って新しいのも併用しようと思います。

夏休みの自由研究のRTL-SDRの実験ですが、いろいろ本を読んでなんとなくやりたいことが見えてきました。
参考になったのが

のRTL-SDRでできることのリストです。面白そうなものが沢山でてきます。
なかでも

の周波数毎の使用状況を調べる機能や

の気象衛星の画像を受信する機能、

の飛行機の位置情報を調べる機能などです。
周波数の使用状況は、rtl_powerというコマンドで調べられることがわかりました。

ソフトウェアデザインの今月号の記事

にもRTL-SDRで電波の使用状況を調べるためにrtl_powerコマンドを利用したグラフがでていました。
このコマンドのソースコードも

などのありました。C言語で書いてあります。GO言語に移植できそうです。
最初のTWSNMPシリーズのセンサーは、この機能にしようと思っています。
定期的にスキャンして受信できる電波の周波数のレポートをログでTWSNMP FCにsyslog送信するようなプログラムです。

本題のプログラムを作る前に、途中だったGO言語のRTL-SDR対応パッケージ

の動作確認をしました。
サンプルプログラムで、FM放送を受信するものがありますが、受信して音がでるところまで確認できてませんでした。Mac OSだと音を出すプログラムがないのでsoxというプログラムをbrewでインストールしました。

 % go run main.go | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

のように実行するとNACK5が聞けました。

航空機の位置情報も、rtl_adsbというコマンドのソースコード

を参考にできそうです。我が家の近くに飛行機が来たらsyslogに送信するようなセンサーが作れそうです。

5000円のRTL-SDRでかなり楽しめそうです。

明日に続く


開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。