United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Raspberry Pi による移動型見守りカメラ

ネットワーク越しに自宅の子供やペットの様子を確認できる、見守りカメラ (ペットカメラ) と呼ばれる IoT デバイスが存在します。この類のデバイスは、カメラの位置が固定であるため、配置した場所とは異なる部屋の様子が確認できないという問題があります。また、料理などで手が離せない親が別の部屋の子供の様子を確認するとき、手を使わないとカメラが操作できないという不便さも抱えています。
 
そこで私たちは、遠隔で操作できるカメラ付き移動デバイスを開発しました。以下の動画をご覧ください。1 つ目の動画が移動するデバイス本体、2 つ目の動画がアプリの動作例を示しています。
 
 
このデバイスはスマホからネットワーク経由で、前後移動および左右旋回を制御でき、カメラが捉えた映像をリアルタイムで確認することができます。デバイスはキャタピラによる高い機動性を持ち、ある程度の段差や障害物を乗り越えることができます。また音声コマンドによる操作にも対応し、手が使えない状況での利用を可能としています。
 

設計

本システムは、Raspberry Pi により進行方向を制御するデバイス本体と、制御サーバ、カメラ配信サーバ、Android アプリの 3 つのプログラムから構成されます。制御サーバは Raspberry Pi 上で動作し、ネットワーク越しに進行方向を示すコマンドを受け取って、対応する GPIO ピンに信号を出力します。カメラ配信サーバは同じく Raspberry Pi 上で動作し、カメラで捉えた画像を公開し、リアルタイムで遠隔から確認可能にします。

実装

ハードウェア

ハードウェアは以下で構成されます。

  1. 土台
  2. モータ (x2)
  3. 単三電池 (x3 x2)
  4. Raspberry Pi
  5. カメラモジュール
  6. モータドライバ TA7291P (x2)
  7. モバイルバッテリー

ハードウェア

回路設計

Raspberry Pi でモータを制御する回路は、参考文献 [1] を元に設計しました。GPIO ピンは 27 と 22 を使用し、10 kΩ の抵抗を使用しています。モータを正転させるときは、27 ピンに HIGH、22 ピンに LOW を出力します。逆転させるときは、27 ピンに LOW、22 ピンに HIGH を出力します。本システムは 2 つのモータを使用するため、GPIO ピンの 17 と 18 を使用して同様の回路をもう 1 つ構成します。

制御サーバ

制御サーバは Python で記述しました。GET リクエストを受け付けて、URL クエリを解析し、対応する GPIO ピンに信号を出力します。

カメラ配信サーバ

Motion [2] という既存のプログラムを用いました。Motion とは、コンピュータに接続されたカメラの画像を配信する機能を提供するプログラムです。本システムでは Motion を使用し、カメラの画像を HTML として公開するよう設定しました。

Android アプリ

ボタンの入力に応じて制御サーバに GET リクエストを投げます。カメラ画像の表示には WebView を使用しました。また音声認識には標準ライブラリの SpeechRecognizer [3] を使用しました。

まとめ

Raspberry Pi を用いた移動する見守りカメラを制作しました。アプリからボタン操作や音声操作でデバイスを遠隔制御でき、カメラが捉えた映像をリアルタイムで確認できました。

Parched8969 さんはまだ自己紹介を入力されていません...