FlashAirからAmazon AWSに接続する1(準備編)
このチュートリアルではFlashAirに保存されたデータを、インターネット経由で直接AWSに送信する方法を解説します。
概要
AWS(Amazon Web Services)は、Amazonが提供しているWebサービスです。従量課金制なので安価なコストですぐに始められ、最新のセキュリティ状態を保ち、豊富なサービスを提供している大規模なクラウドサービスです。
個人ユーザーだけではなく多くの企業ユーザーも利用しています。
このチュートリアルでは2回に分けて、動体検知カメラで人物を定点撮影しFlashAirに書き込み、Luaスクリプトを使用して直接AWSにアップロードする方法を説明します。また、応用として撮影した顔写真から年齢や性別などをAIにより判定し、BIツールで可視化する方法を説明します。
カメラやセンサー等からFlashAirに書き込んだデータに対して高度な処理を実施したい、セキュアな環境に保存し共有したい、またはAWSの新たな使い道を探していた方等、サンプルソースと具体例を参考にぜひお試しください。
FlashAirをAWSに接続して使うことのメリット
- エッジデバイス(FlashAir)からクラウド(AWS)へ直接データを送信するIoTシステムを実現することができます。
- FlashAir単体では難しい様々なコンピューティング処理をAWSで行うことができます。
- 既にAWSをお使いの場合は、既存のワークフローにFlashAirを組み合わせることができます。
準備するもの
FlashAir W-04 16G 参考価格:¥5,918
FW4.00.03以降を使用してください。
Raspberry Pi 3スターターキット Amazon参考価格:¥5,480
FlashAirへの電源供給、撮影間隔の処理、FlashAirの再読み込みに使用します。
ウェブカメラLOGICOOL C270 参考価格:¥2,551
撮影に使用します。
USBカードリーダー
SDカード対応の物を使用してください。Luaスクリプトの追加、修正に使用します。
クレジットカード
AWS契約時に必要です。
参考今回のチュートリアルで必要なAWSの費用(リージョン:アジアパシフィック(東京))は約233円/年です(2018年9月現在)。アカウント新規登録後最初の 12 か月間は無料利用枠を利用できます。
参考合計価格:¥13,949(2018年9月現在)
全体の流れ
-
Raspberry Pi 3 + ウェブカメラ
FlashAirへの電源供給、写真撮影、FlashAirの再読み込みのために使用します。Raspberry Piとウェブカメラを接続し、動体検知のためのアプリ「Motion」をインストールしす。Raspberry Piの初期設定、アプリのインストールを済ませておいてください。
今回はハードウェア費用を抑えるためにRaspberry Piとウェブカメラを使用していますが、常時FlashAirに電源が供給されるカメラであれば同様のことを行うことができます(その場合FlashAirの再読み込みは行われません) -
FlashAir + Luaスクリプト
撮影した画像を一旦FlashAirに保存し、Luaスクリプトを使ってAWSへ接続し、画像をアップロードします。 -
Amazon S3
Amazon S3(Amazon Simple Storage Service)はインターネット用のストレージサービスです。カメラで撮影した画像や解析結果をS3内のバケット(入れ物)に格納します。 -
AWS Lambda
AWS LambdaはS3等AWSのストレージのデータ変更に応じてコードを実行できるコンピューティングサービスです。あらかじめLambdaにアプリケーションコードを記述しておき、S3にファイルが追加されたことをLambdaが検知しRekognitionの顔認識処理を呼び出します。Rekognitionの解析処理を取得したらS3に解析結果を結果バケットに格納します。 -
Amazon Rekognition
Amazon Rekognitionは画像認識サービスです。撮影画像から年齢、性別を判定し解析結果をLambdaに返します。 -
Amazon QuickSight
Amazon QuickSightはファイルやAWSデータソース、外部のデータベースに対応しているビジネスインテリジェンスサービスです。S3内の解析結果を豊富なテンプレートから可視化、共有することが出来ます。
実行編では、実際にAWSアカウント作成からバケット作成、FlashAirから画像をアップロードするところまで実行してみましょう。実行編ではサンプルコードを入手することもできます。