2
Help us understand the problem. What are the problem?

posted at

M5 Timer Camera F から Amazon S3 へ定点観測写真をアップロードする

本記事について

M5 Timer Camera F にて撮影した写真を、Amazon S3 へ定期的にアップロードする方法を記載します。
とはいっても、実は M5の公式さんが、『 Timer Amazon S3 Folder Pusher 』という、まさにそれなファームウェアを公開してくれています。
ただし、このファームウェアを使うにあたって、つまづいたところがありましたので、本記事にメモとして残しておきます。
※ 公式さんの記事以外に「使ってみた」系の記事も見当たらず、トラブルシューティングに結構時間がかかりました。今後の方のお役に立てれば嬉しいです。

作業内容

Step1. S3 バケットの作成

最初に、写真のアップロード先の S3 バケットを作成します。
AWS のマネジメントコンソールにログイン後、S3 の管理画面に遷移し、「バケットを作成」ボタンを押下します。

「バケットを作成」画面にて、世界で一意なバケット名を入力します。(ここでは、bucket-name と設定したと仮定して進めます。)
また、AWS リージョンを指定しますが、ここがポイントで、必ず「バージニア北部(us-east-1)」を選択してください。
公式さんの記事には何も注釈がないのですが、「東京(ap-northeast-1)」などのリージョンでは動きません。 絶対にバージニア北部です。

なお、他の設定項目はデフォルトのままで構いません。

バケットを作成後に、写真を保存するフォルダを作っても良いでしょう。(ここでは、pic-folder を作成したと仮定して進めます。)
image.png

Step2. AWS アクセスキー と シークレットキー の発行

AWS CLI などを使っている方であれば見慣れたものかと思いますが、AWS アクセスキーとシークレットキーを発行してください。
セキュリティを意識するのであれば、既存の IAM User のものを使い回すよりも、今回のプロジェクト用に新しく発行した方が良いかと思います。
発行の仕方は、こちらのドキュメントなどを参考にしてください。

Step3. M5 Timer Camera に専用ファームウェアを焼く

基本的には、公式さんの記事の通りに進めます。
作業そのものは、他の M5 製品で UIFlow を焼く時と同様で、「M5 Burner」のアプリから「TimerS3FolderPusher」のファームウェアを選択し、「Burn」ボタンを押下します。
image.png

「Burn」ボタンを押下すると、設定画面が出てきます。
image.png
ここが、つまづきポイントの2つめで、URLは 『bucket-name.s3.amazonaws.com/pic-folder』 とします。
ARN(Amazon Resource Name)の形式ではなく、s3://bucket-name/pic-folder の形式や https:// などの形式でもありません。
また、バケットを東京リージョンなどで作った場合、URLは『bucket-name.s3.ap-northeast-1.amazonaws.com/pic-folder』となるはずですが、この値を設定しても、写真のアップロードに失敗します。(※ 著者が経験済み)
必ず、バージニア北部(us-east-1)でバケットを作り、上記のURLの形式にするようにしましょう。

WIFI SSID などの他の設定項目の入力が終わったら、「Burn」 ボタンを押してファームウェアを焼きます。

Step4. 動作確認

設定が正しければ、作成した S3 バケットに写真がアップロードされるはずです。
指定したフォルダを開き、「リロードボタン」を押すことで、写真が増えていることが分かると思います。

正常にアップロードできているみたいです!

Step5. トラブルシューティング

時間が経っても S3 バケットに写真が現れない場合は、「M5 Burner」の右上にある「COM Monitor」を押してみましょう。

正常であれば、「status_code: 200」の表記を確認できるはずです。
image.png

WiFi接続ができていなかったり、アクセスキーを間違えていたり、不適切なURLだと、何かしらのエラーのヒントがログに出てきますので、修正をしてファームウェアを焼き直します。
(例えば:Connection failed などの表記が確認できる。)

使ってみて分かったこと

M5 Timer Camera F を触ってみて、いくつか分かったことがあります。

  • 写真が上下反転される。
    • 以下のように、上下が反転された画像が保存されます。
  • 撮影から S3 のアップロードまで30秒近くかかる
    • M5 内部での処理に時間がかかっている模様。
    • リアルタイムな用途には不向き?
  • 画質は良くない
    • (1920x1080の設定の時)全体的に暗い、荒い、ボケている
    • ファイルのサイズは、大体 50~55KB くらい
  • 電源を切るボタンがない
    • M5 Timer Camera F の公式ページに書いてある通り、電源管理の方法が他のデバイスと異なっており、電源ボタンを押しても電源を切ることができない。
      • The low-power power management solution adopted by the Timer Camera series is different from the CORE and StickC devices. When in use, the PWR button is used as a power-on button(long press 2s). If you need to shut down the device, you need to use the software API or press the Reset button on the PCB. When using external power supply, the device will remain powered on.

      • DeepL翻訳:
        Timer Camera シリーズで採用されている低消費電力の電源管理ソリューションは、CORE や StickC デバイスとは異なります。使用時、PWRボタンはパワーオンボタンとして使用されます(2秒間の長押し)。デバイスをシャットダウンする必要がある場合は、ソフトウェアAPIを使用するか、PCB上のリセットボタンを押す必要があります。 外部電源を使用する場合、デバイスは電源が入ったままになります。

    • 私は、使い終わったら、「M5 Burner」の「Erase」で消すことにしています。

終わりに

ということで、M5 Timer Camera F にて Timer Amazon S3 Folder Pusher を使用する際のつまづきポイントを記載しました。
S3 へのアップロードができてしまえば、S3 PUT のイベントをトリガーに Lambda 関数を起動して~ っと、いろいろと面白いことができそうです。
画質などイマイチな部分もありそうですが、ホビー用途であればかなり使えそうです。これからも M5 シリーズを触ってみたいと思います。
では。 御覧いただきありがとうございました。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
2
Help us understand the problem. What are the problem?