LoginSignup
14

More than 3 years have passed since last update.

M5Stack を Google Cloud IoT Core (MQTT) に接続してみる

Last updated at Posted at 2019-06-25

M5Stack を Google Cloud IoT Core (MQTT) に接続してみたくて調べてみたメモです。

M5Stack

M5Stack
液晶付きマイコン で Wi-Fi や BLE や バッテリーが付いていて、Arduino環境で気軽に開発する事ができます。
千石電商 や スイッチサイエンス で購入できます。

Google Cloud IoT Core (MQTT)

フルマネージド IoT サービス

Visual Studio Code + PlatformIO IDE

Arduiono 開発環境はこの構成がおすすめです。自動補完や書き込み、シリアルコンソールの統合された環境で効率的に開発できます。
参考 M5Stackの開発環境を整える - PlatformIO IDE編


Google Cloud IoT Core (MQTT) 環境を整える

  1. Google Cloud Platform で プロジェクトを作って IoT Core を有効にする
  2. Cloud SDK を参考にインストールする。
  3. gcloud init を実行して 1 で作ったプロジェクトを指定する。
  4. gcloud ツールで Pub/Sub を行う を参考に topics と subscriptions を登録してみる。
  5. Cloud コンソール で 登録されているか確認する。
  6. トピック (topic_1) の削除 / サブスクリプション (subscription_1) の削除 をしてみる。

ここまでの操作で gcloud ツール と Cloud コンソール で 一通りの MQTT動作確認ができた筈。

Google Cloud IoT Core 設定

Google Cloud IoT JWT を参考
- レジストリの作成
- デバイス登録

M5Stack を Google Cloud IoT Core に接続する

  1. M5Stackの開発環境を整える - PlatformIO IDE編 を参考に環境を整える
  2. PlatformIO HOME 画面から 新規プロジェクトを作り lib フォルダに Google Cloud IoT JWT を配置する。
  3. examples/Esp32-lwmqtt を参考にしてコードを書いてみる
Esp32-lwmqtt.ino
#include "esp32-mqtt.h"
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  setupCloudIoT();
}
void loop() {
...
}
ciotc_config.h
const char *ssid = "SSID";
const char *password = "PASSWORD";

// Cloud iot details.
const char *project_id = "project-id";
const char *location = "us-central1";
const char *registry_id = "my-registry";
const char *device_id = "my-esp32-device";
...
const char *private_key_str = 
...
const char *root_cert =
...

ciotc_config.h に トピック や サブスクリプションの設定、 証明書の設定を行えば、接続できる筈です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14