grasys blog

マイコン(ESP32)から GCS へファイルをアップロードする

こんにちは。福島です。

Google Cloud だけでなく、低レイヤも触れていきます。
今回扱うボードは、ESP32-WROVER ボードです!

練習

社用PC とUSB 接続するのはよろしくないので、私用のPCでやります。
チュートリアルの内容をデプロイして練習します。

Lチカ

Lチカしてみた

VideoCam + Web サーバ

やや粗いですが、大きめの文字は見えますね。

Google Cloud Storageへアップロード

本題です。

1. Google Cloud Storageの準備

事前にバケットやサービスアカウントを作成します。
サービスアカウントのロールは、Storage オブジェクト管理者を割り当てます。

2. gcloud storage sign-url を使って署名付きURLを生成

gcloud storage sign-url gs://<YOUR_FILE> --duration 2h --impersonate-service-account=<YOUR_SERVICE_ACCOUNT> --region=<YOUR_REGION> --headers=content-type=text/plain --http-verb=PUT
---
expiration: '2025-09-16 05:38:55'
http_verb: PUT
resource: gs://<YOUR_FILE>
signed_url: https://storage.googleapis.com/XXXXX

PUTなので事前に空ファイルをアップロードします。

3. コード作成

マイコン上で「aaa」という内容のa.txt を作成し、
署名付きURL を使ってGoogle Cloud Storage へアップロードします。
私が作成したコードを置いときます。
https://github.com/owlsdevelop/gcp-esp32/blob/main/src/main.cpp

4. デプロイ

内容が「aaa」の3バイトでアップロードされていました。
成功です!

最後に

大規模システムやPoCでボトルネックやレイテンシにお困りの方、ぜひご連絡ください。
全力で問題解決します!


採用情報
お問い合わせ