太陽光発電モニタ + SDR

実家近辺ローカル局とロールコールを週1でやっていますが、ウチのロケーションとアンテナでは受信が非常に厳しく、DXならともかく、ラグチューはつらい状況。なんとかならないかと思い、ふと先日買った SDR ドングルを実家に設置し、それで受信を行い、データはインターネット経由で受信することを思いつきました。問題は実家にはインターネットが無い(!)ということ。インターネットがあれば親の生存監視など色々できるのですが、無いものは無い。しかし、インターネット接続がある場所がありました。それは太陽光発電所のモニタ装置。これにはSIM をドングルに付けた Raspberry Pi で発電量を取得してサーバーに5分ごとに送信しているので、これに SDR をくっつければそのまま使える! が、問題がひとつ。Raspberry Pi が初期型なのでかなり非力であること。家に同じ初期型 RP があったので spyserver を入れて試したところ、起動もせずエラーになってしまいました。そろそろ発電モニタも2,3年たつので新しい RP で作り直すしかない、と思い、ちびちび作業をはじめました。使う RP は Pi 3B でこれなら spyserver も問題なく動作。
残る問題はトラフィック量。1GB の SIM で果たして通信量は足りるのか? SDR Sharp での再生にどの程度通信量を必要とするのかが問題。SDR Sharp で SSB を受信中のデータ量 38kB/s と表示されているので、
1時間 38x60x60kB/hour = 136.8MB/hour
1ヶ月に4回1時間使用するとすると 136.8 x 4 = 547MB/month
SDR とは別に発電量データが 2.3MB/day なので 69MB/month
合計で 616MB/month なので1GBあれば足りる。これは上りデータなのでもしかしてもっと使える? RP4 での実測結果では1時間で 130MB
ぐらいだったのでほぼ計算値と合致している。
SIMは今使っているのは Excite Mobile であるが、もっと安いSIMを求め SORACOM AIR を検討した。基本料金が1ヶ月 300 円で、0.2円/MB なので値段は安いが、グローバルIPが使えないので却下。以前 autossh を使ったこともあったが安定して使えない。Aeon SIM Type2
は今でもグローバルIPとのことなのでこれを申し込んだ。1GB 500円/月でここ数年は値段は下がっていない。この値段が世の中的には下限なのだろう。
電力測定デバイスである Panasonic KW2G との RS485 接続については現在のモニタでは LTC485 with 555 の回路で 485 を 3.3V シリアルに変換して RP のシリアルポートに入力している。同じ回路を組むのも面倒なので、自宅電力モニタで使っている betemcu.cn の変換器を使いたい。
1個なら Free shipping だが2個以上だと送料がかかるので、安いからといってたくさん買おうとしないほうがいい。Amazonで同じのを 449
円で売っているが、6日~10日かかる、となっているのでこれも中国から発送と思われる。同じ中国から発送なら Aliexpress の方が安いのでこれを購入したほうがいいが、Aliexpress ではカード払いか WebMoney しか使えない。以前は PayPal も使えたように思うが無い。カード番号を入れるのはちょっといやなので結局 Amazon に注文した。
TTL / RS485二重機能への485モジュールFT232チップUSBへの1pcs二重保護USB
しかし、これは中国から発送のようで、6月過ぎに到着予定とはなっているが、コロナ渦の現在、いつ着くかわからない。しびれを切らしてこっちを追加で注文してしまった。
USB to RS485コンバーター アップグレード保護 RS-485コネクタボードモジュール
betemcu は ft232 チップ、下のは ch340 チップなのでどちらかは動作するであろう。ソフトウエア的問題は USB 入力をちゃんとシリアルに変換できるかだが、FT232 なので秋月のシリアル-USB変換器が使えれば大丈夫だろう。
P1080058.JPG
遠隔地で動作する RP に対しては、ハングして動作しなくなったときのための Watchdog として Arduino による監視装置をいつも付けている。写真の右の穴あき基板上の Arudino Pro Mini がそれ。コレ自体は Auction で 500円程度なので安心料としては安いもの。RP に供給する電源をリレー経由で GPIO から直接供給して、ハングした場合は、リレーを1分程度ONにして強制再起動する。RP の生存確認はいまのところ ping をあるサーバー宛に一定時間ごとに送り応答があれば GPIO にパルス出力している。Arduino ではそのパルスが来なくなったらリレーを操作するという仕組み。制作した当初は RP が3日に一度ぐらいハングすることがあったが最近は安定していて数ヶ月に一回程度となった。これがなかったら親に頼まなければならないので大変。
実際の設置場所は太陽光パネルの下のボックスになり、夏は温度は40度を超えるため、CPUの放熱対策が必要となる。ヒートシンクを直接付けるスペースが無いため、ヒートパイプもどきでケース外のヒートシンクまでIV線3本をひっぱってみた。大方の熱はヒートシンクに行くまでに途中で放熱されてしまい、ケース内部があったまるだけのような気もするが、一応気休めになる。
P1080051.JPG
早速取り付けたいのだが今、車の運転ができないのでもうしばらく先になるだろう。