半年以上前の話になるのですが、この前の実家への帰省の際に地元のTVやラジオをいつでも視聴できるよう設置してきました。
(上の写真はその時参加したサイクリング大会のやつです)
構成
- Pocket WiFi LTE GL06P
- インターネットへ接続するルーター
- ヤフオクで買ったやつ
- 電源はコンセントから常時供給しておく
- OCNモバイルONE
- ルーターに入れる格安SIM
- この価格帯でグローバルIPが振られるSIMはこれしかなさそうだった
- Intel DC3217BY
- TVやラジオ視聴を処理するNUC
- 地デジ録画(SKNet Monster TV HDUSを接続)
- FMラジオ受信(RTL2832Uチップ搭載のUSBワンセグチューナーを接続)
- リモートから電源を入れられる対応を実施済み
- Raspberry Pi 1 Model B
- 初期型(256MB)のやつ
- USB WiFiドングルで無線LAN化
- 外部からはここにSSH接続
- ネットワークカメラの画像をFTPサーバーに定期送信
- ルーターのグローバルIPをお名前.comのDNSに自動記録
- 温度/気圧センサーを接続済み
- TENVIS JPT3815W
- ネットワークカメラ
- 両親の様子を、、じゃなくて単純に外の風景を撮影
- DDNS更新をONにしてRasPiがDNS更新に失敗した時のバックアップも
帰省前の準備
普段使いのサーバーとかであれば自分で赴いてメンテナンスできるのですが、実家に設置となると気軽にそういう事はできませんので、いろいろな対策を考える必要がありました。
- 問題が起こった際の復帰手段と予防策
- SSH -R(autossh)などで、こちらから接続できない場合の別ルートの確保
- 定期的な死活監視と週次での自動再起動
- 両親のPCリテラシーは高くないので、細かい操作は期待できない
- 電話口で機器の様子を見てもらったり、電源入れ直してもらったりする程度
- 実家に負担がかからないようにする
- 通信費→帯域やレイテンシー的に固定回線を引きたいけど格安SIMで代替
- 電気代→サーバーは常時起動ではなく必要な時のみ電源を入れる/落とせる
これらのうち、事前にプログラミングや工作が必要だったものは自宅で行い、最終的な動作テストののち帰省数日前に梱包して送付しました。気分的には火星探査機を開発している気分です(笑)
設置後のトラブル
準備段階で気をつけていたつもりだったのですが、やはり完璧とはいかずさまざまなトラブルに見舞われました。
- 無線LANの設定が自宅の設定のままになっている
- 実家を出る数時間前に発覚
- 急いで近くの家電量販店にキーボードとHDMIケーブルを買いに行って修正
- 最近のTVはPCモニター代わりになって便利
- ネットワークカメラの設置場所が不安定
- 窓を開ける取っ手が邪魔、高さが足りず撮影できない
- ホームセンターで板切れを買って棚を作り対応
- ルーターの電源が落ちる
- 自宅に戻って設定をいじってたら突然接続断
- 仕方ないので実家に電話して見てもらったら”充電中”になってた
- 通信し続けると充電を中断してバッテリー駆動になる?
一番致命的なのは最後のルーター周りで、録画データは一括送信できないのでsplitコマンドで50MBくらいに分割し、cronで間欠的に送信するようにしました。おかげで1時間番組を録画してもこっちで視聴できるまでに3日ぐらいかかります。。
また、レイテンシーの遅さも予想以上で、通信の少なそうな深夜帯でも500msくらいかかるので、リアルタイムに視聴する系はほぼ諦めてます。。
あとトラブルというわけではないのですが、実家の両親に火事の心配をされました。確かに機器は常時電源接続されており、特にルーターはリチウムイオン電池も入っているのでその辺の配慮が足りなかったのは反省点です。
おわりに
いろいろ問題はありましたが、なんとか最低限の目標は達成できました。ネットワークカメラも当初は固定で一場面の撮影のみでしたが、パンチルトを操作するAPIを使って二場面を撮影できるようにし、温度/湿度センサーの値を画像に合成するようにしました。
(「なんかカメラが定期的に首振るんだけど!」と実家から電話がかかってきましたがw)
来年の帰省の際は、グローバルIPを諦めてもっと安いSIMに乗り換える(IIJ系SIMはIPv6が使えるらしいけど。。)、RasPi側に録画視聴を集約する(RasPi2化する)あたりを検討中です。最近IoTが話題ですが、それらを考えるきっかけとしてもオススメです。