簡易ビデオストリーミングサーバーを設置する | 55歳過ぎてもアメリカでIT企業のエンジニア・PMとして挑戦します

55歳過ぎてもアメリカでIT企業のエンジニア・PMとして挑戦します

一昔前なら定年を意識する年齢ですが、家族で夢をかなえるために2019年4月に渡米、現地のIT企業のソフトウェア開発部門のエンジニア・PM(プログラムマネージャー)として挑戦しています。

うちの庭にナッツなどを食べにやってくる動物の様子を、どの部屋にいるときでも確認したいと常々思っていました。

リビングルームのテーブルに座っているときは、そこから庭が見えるので問題ないのですが、別の部屋にいるときは見られません。

最近はねずみと格闘中ということもあり、例えば夜中でも寝室からでも庭の様子をチェックしたい時があります。

先日、ラズパイ+カメラモジュールで1分に1枚静止画を撮影し、8時間継続するという方法を実践しましたが、それではリアルタイムモニタリングはちょっと難しいと思います。

そこで、もう少し発展させて、ラズパイをビデオストリーミングサーバーとして活用するようにし、Web経由で庭の様子をライブ中継して、どこからでも見られるようにしようと思いました。

また、先日使ったラズパイはラズパイ3(現行モデルはラズパイ4です)なのでそこそこ性能も高く、消費電力も初代ラズパイなどに比べれば高めです。(といってもスマホなどよりは低いと思いますが)
ビデオストリーミングサーバー専用機として固定してしまうのはもったいないと思います。

そこで、ちょうど一年前にコンピューターミュージアムで購入したラズパイ ZERO W をビデオストリーミングサーバー専用機にすることにしました。
ラズパイ ZERO Wを購入したころの記事はこちら

ちなみにラズパイ ZERO W は本体だけなら15ドル以下、1500円以下で売られていると思うので、こういうちょっとした用途に特化して使うにはもってこいだと思います。WiFiもついているのでケーブルの取り回しも非常に少なくて済みます。

そこで、ラズパイ用カメラモジュールをそのままラズパイ ZERO Wに接続しようとしたところ、フラットケーブルの太さが合わず、接続できないという問題が。。


しかし幸い、ラズパイ ZERO W購入時に付属していたパーツ類の中に、専用のフラットケーブルが入っており、以下の通り接続することができました。



これを付属のケースに取り付けれればハード側は完成です。


ソフト側ですが、基本的にはこちらの記事を参考にさせていただいて、ほぼそのままソースコードをGithubからクローンし、ビルドして実行したところ簡単に動作しました。

カメラ+ラズパイのケースを以下のような感じでテーブルに括り付けてカメラが庭に向くようにし、



家の中のローカルネットワークでhttp://192.168.1.XXX:8080 (XXXは変動)にアクセスするだけで、スマホからでもPCからでも以下のような感じでカメラに写っている映像がリアルタイムで見られるようになりました。



これにより今まで以上に庭にナッツを食べにやってくる動物の様子を観察しやすくなったと思います。


<追記>
ラズパイのIPアドレスを固定するために、/etc/dhcpcd.conf の最後の行に以下を追記しました。ルーター側の設定は変更していません。

interface wlan0
static ip_address=192.168.XXX.XXX/24
static routers=192.168.YYY.YYY
static domain_name_servers=192.168.YYY.YYY

※wlan0 とは接続名。ラズパイの(LINUXの)コマンドで ifconfigで確認可能
※XXX.XXX はラズパイのIPアドレスの下2桁、/24はサブネットマスクが255.255.255.0の場合
※YYY.YYY はWindows PC上でipconfigコマンドで確認できるデフォルトゲートウェイのIP