ラズパイで画像配信webサーバを作る

 

こんにちは、のっくんです。

 

今日はラズパイとDjangoを使って、画像配信webアプリを作ってみたいと思います。

 

ラズパイで写真を撮って、ブラウザで表示する流れです。

 

ラズパイとDjangoは相性バツグンでして、ほとんどの処理をPythonで実装できます。

 

コードもシンプルなので1日でできました。

 

  • Raspberry Pi 3 model B+
  • Kuman カメラモジュール Raspberry Pi用

 

スポンサーリンク

 

作るもの

 

イメージとしては以下の通り。

 

 

ブラウザでアクセスすると、ラズパイのカメラで写真を撮りWebアプリ経由で撮影した画像を表示します。

 

webアプリにはフレームワークDjangoを使います。モデルやDBは使わず撮った画像をファイルとして保存し表示します。

 

ディレクトリ構成

 

以下のように、raspiappというプロジェクトを作成し、imgviewというアプリを作ります。

その中に、写真を格納するstaticディレクトリとテンプレートを格納するtemplatesディレクトリを作りました。

 

imgviewというアプリを作ったので、settings.pyにアプリを追加します。

 

ビューを作る

 

ビューでは、画像を撮影しstaticフォルダに保存します。

とてもシンプルな処理です。

ラズパイで取得した画像が上下反転しているので、cv2.flipで修正します。

 

テンプレートを作る

 

テンプレートもとてもシンプルです。staticフォルダに画像があるのでそれを表示するだけです。

 

実行してみる

 

サーバを立ち上げて、ブラウザでアクセスしてみます。

 

 

 

コップを変えて、再度アクセス。

その場で撮影した画像を配信してくれています。

 

おわり。

ABOUTこの記事をかいた人

のっくん

理系院卒で大企業の研究所に就職。 趣味はプログラミング、レアジョブ英会話、筋トレ、旅行。 Twitter:@yamagablog