PR

【M5Stack】環境データをクラウドで可視化!Ambientでスマホからグラフを見る方法

M5Stack
スポンサーリンク

「M5Stackで温湿度を測れるようになったけど、外出先からも確認したい!」 「1ヶ月分のデータの推移を、スマホやPCで綺麗にグラフで見たい!」

そんな願いを無料で叶えてくれるのが、国産のIoTデータ可視化サービス「Ambient(アンビエント)」です。今回は、M5Stackで取得したデータをAmbientに送信し、プロ並みのダッシュボードを爆速で作る方法を解説します。


1. 準備するもの

このプロジェクトに必要なのは、インターネットに繋がる環境と、以下の機材です。

  • M5Stack本体(Wi-Fi機能があるため、全てのモデルでOK)
  • ENV IV ユニット(またはお好みのセンサー)
  • Ambientのアカウント公式サイトから無料で登録可能)

2. Ambient側の準備(チャネルの作成)

  1. Ambientにログインし、「チャネル一覧」から「新しいチャネルを作る」をクリックします。
  2. 生成された 「チャネルID」「ライトキー(Write Key)」 をメモしておきます。これがM5Stackからデータを送るための「住所」と「鍵」になります。

3. M5Stackからデータを送信するコード(Arduino / C++)

Arduino IDEを使用します。あらかじめ以下のライブラリを「ライブラリマネージャー」でインストールしておいてください。

  1. M5Unified(M5Stackシリーズを統合して扱える最新ライブラリ)
  2. M5Unit-ENV(ENVユニット用)

以下をコピーして実行してください

#include <M5Unified.h>
#include <M5UnitENV.h>
#include <WiFi.h>
#include "Ambient.h"

// Wi-Fi設定
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

// Ambient設定
unsigned int channelId = 12345; // メモしたチャネルID
const char* writeKey = "YOUR_WRITE_KEY"; // メモしたライトキー

WiFiClient client;
Ambient ambient;
SHT4X sht4;

void setup() {
    auto cfg = M5.config();
    M5.begin(cfg);
    
    // センサー初期化
    if (!sht4.begin(&Wire, SHT4X_I2C_ADDR_44, 21, 22, 400000)) {
        M5.Display.println("Sensor error");
        while (1);
    }

    // Wi-Fi接続
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) { delay(500); M5.Display.print("."); }
    
    ambient.begin(channelId, writeKey, &client);
    M5.Display.println("\nWiFi Connected!");
}

void loop() {
    sht4.update();
    float temp = sht4.getTemperature();
    float humid = sht4.getHumidity();

    // Ambientにデータをセット
    ambient.set(1, temp);  // データ1に温度
    ambient.set(2, humid); // データ2に湿度
    
    // 送信
    if (ambient.send()) {
        M5.Display.printf("Sent: %.1f C, %.1f %%\n", temp, humid);
    }

    delay(300000); // 5分(300,000ミリ秒)ごとに送信(無料枠の推奨間隔)
}

4. スマホでグラフを確認する

データが送信されると、Ambientのチャネル画面に自動的にデータが蓄積されます。 「チャート設定」からグラフの種類(折れ線、棒グラフなど)を選べば、スマホのブラウザからいつでも部屋の状況を確認できる「自分専用の環境モニタリングシステム」の完成です!


5. ステップアップ:さらに便利なアイテムで機能UP

クラウド連携ができるようになると、さらに「自動化」したくなるのがエンジニアの性です。

  • スマートプラグと連携: 「温度が30度を超えたら、スマートプラグに繋いだサーキュレーターを回す」といったIFTTT連携も可能になります。
  • 安定した電源供給を: 24時間365日のモニタリングを行うなら、途中で電池が切れないように、高品質なACアダプターを用意しておきましょう。

TP-Link Kasa スマートプラグ(ラズパイ/M5Stack連携の定番)


まとめ:データは「貯める」と価値が出る

単に画面で数値を見るだけでなく、クラウドにデータを蓄積することで「自分の部屋は夜間にどれくらい冷え込むのか」「雨の日の湿度の変化」などが可視化され、生活改善のヒントになります。

Ambientなら無料で手軽に始められるので、ぜひあなたのM5Stackを「世界と繋がるセンサー」に進化させてみてください!

コメント

タイトルとURLをコピーしました