Raspberry Pi x Flutter x Firebaseでホームカメラを製作(準備編)
はじめに
子どもの様子を見に行くための部屋の移動が面倒だったので、移動しなくてもいいように、余っていたラズパイとUSBカメラを使ってホームカメラを製作しました。 今回の内容はホームカメラ製作の準備編です。
システム概要
Raspberry PiでPythonを実行し、USBカメラで画像を撮影します。 撮影された画像をadmin権限でCloud Storage for Firebaseにアップします。 アップされた画像をFlutterアプリで受け取ります。
環境
今回、各ツールのインストールは紹介しません。
項目 | 内容 |
---|---|
Raspberry Pi | 3 Model B+ |
USBカメラ | Buffalo BSWHD06MBK |
macbook air | m1 |
Python | 3.9.1 |
Flutter | 3.0.4 |
Raspberry Piの初期設定
OSはRaspberry Pi OSが推奨されています。
Raspberry Pi 3 以降は64bitのCPUなので、64bit版のOSを選択します。 なお、Raspberry Pi OSのwith desktopはGUI付のOSイメージ、LiteはCLIのみのOSイメージです。
今回はフォーマットもできる公式imagerを使用してインストールします。
imagerをインストールした後、まずは既存のsdカードをフォーマットします。
完了したら、64bit版のRaspberry Pi OS with desktopをインストールします。
完了しました。
問題ないか実機で確認します。
ここでは、ssh接続やリモートデスクトップ接続(VNC Viewer)の導入についての説明は省略します。
USBカメラの動作確認
lsusb
コマンドでUSBカメラが認識されているか確認します。
問題なければ、Rasberry Pi OSに標準で同梱されているVLC Playerを使ってカメラデバイスの映像を画面に映します。 使用したUSBカメラはBuffaloのBSWHD06MBKです。
VLCを起動し、メディア > キャプチャデバイスを開き、デバイス設定します。
映像が出たら確認完了です。
Firebaseの初期設定
今回はFirebaseを使用するので、Firebaseの設定をします。 ここではアカウントの作成がすでに終了している状態から設定開始します。
まず、Firebaseコンソールから新しくプロジェクトを作成します。
プロジェクトの設定 > サービスアカウントからAdmin SDKの新しい秘密鍵を生成。
ダウンロードした鍵を任意の場所に設置します。 このとき、鍵ファイルは公開リポジトリにアップしてはいけません。
次に、firebase_admin
をインストール。
pip install firebase_admin
「構成スニペット」通りにpythonスクリプトに記述します。
import firebase_admin from firebase_admin import credentials cred = credentials.Certificate("serviceAccountKey.json") firebase_admin.initialize_app(cred)
完了後、動作チェックし、エラーが出なければOKです。
続きは実践編にて紹介します。