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でかなり楽しめそうです。
明日に続く