Slide 1

Slide 1 text

れごん 2021/03/30 @SORACOM UG Online #4 S+ Camera Basicと 似た環境をラズパイから 構築してみる

Slide 2

Slide 2 text

Who am I? • れごん(@regonn_haizine) • 2018年に島根県にIターンで移住 • 機械学習系のPodcast ”Regonn&Curry.fm” やってます • 機械学習のなかでも衛星データ系を触る機会が多い • Tellus(衛星データプラットフォーム)のUGを Discordで立ち上げ • 最近はSORACOM UGもくもく会に参加してます

Slide 3

Slide 3 text

最近あった仕事の仕様 • 定期的に定点画像を取得したい • Wi-Fiは無いけど電源ならあるよ • 文字を読取る必要もでてくる S+ Camera Basic 使えそう!!

Slide 4

Slide 4 text

進めていくにつれ変更・追加される仕様 • 定期的に定点画像を取得したい • Wi-Fiは無いけど電源ならあるよ • 電源は蓄電池に変更するよ • 交流制御難しいから直流USBで • ※S+ Camera BasicもUSB給電は可能 • 文字を読取る必要もでてくる • Firebase利用するからGCP(Google Cloud)に統一したい • 蓄電池だからエッジ処理じゃなくてクラウドでね

Slide 5

Slide 5 text

ラズパイでGCPに画像を送信していく 定期的にcurlでGCSへPOST 画像POSTをトリガーにCloud Functionsで処理 Cloud Vision APIで文字読み取り(OCR) GCP内のインフラ構築はTerraformで管理 3G USBドングル AK-020 SORACOMスターターキット

Slide 6

Slide 6 text

ラズパイ側の設定 • IoTで手軽な監視カメラシステム https://soracom.jp/recipes_index/2956/ のレシピ記事を参考にラズパイとSORACOM AirのSIM設定をしてPOSTする先 を ‘harvest-files.soracom.io’ からGCSのバケットへ変更する • curl POSTはcronを使って定期実行

Slide 7

Slide 7 text

Terraform(GCP)側の設定 • コードでインフラ構成を定義 • GUIで操作せずに実行 • 構成の変更なども修正漏れが少なくなる • Cloud Functionsで使うメインの処理 (Pythonファイル)などもzip化してデプロ イすることで、一緒に管理できる

Slide 8

Slide 8 text

無事に動いてくれてる Cloud Storageにアップロードした画像 アップロード後にログを確認

Slide 9

Slide 9 text

所感や今後(もくもく会等で取り組みたいこと) • ラズパイとSORACOM Airの連携は記事等が充実していて、あまり詰まらず 進められた。 • 殆どの処理がGCP側に移ったので、あまりS+ Camera Basicと似た環境の 構築にはなっていないかも。 • S+ Camera Basicを買ったので、TensorFlowモデルのデプロイなども両方 の環境でやってみて違いを確認していきたい • 参考:エッジAIカメラ「S+ Camera Basic」でソラコムサンタを検知する https://qiita.com/ma2shita/items/42ad9527b37495887449

Slide 10

Slide 10 text

今回のコード(Terraform)はGithubで公開しています https://github.com/regonn/gcp-cloud-function-ocr-terraform