「M5Stackで温湿度を測れるようになったけど、外出先からも確認したい!」 「1ヶ月分のデータの推移を、スマホやPCで綺麗にグラフで見たい!」
そんな願いを無料で叶えてくれるのが、国産のIoTデータ可視化サービス「Ambient(アンビエント)」です。今回は、M5Stackで取得したデータをAmbientに送信し、プロ並みのダッシュボードを爆速で作る方法を解説します。
1. 準備するもの
このプロジェクトに必要なのは、インターネットに繋がる環境と、以下の機材です。
- M5Stack本体(Wi-Fi機能があるため、全てのモデルでOK)
- ENV IV ユニット(またはお好みのセンサー)
- Ambientのアカウント(公式サイトから無料で登録可能)
リンク
リンク
2. Ambient側の準備(チャネルの作成)
- Ambientにログインし、「チャネル一覧」から「新しいチャネルを作る」をクリックします。
- 生成された 「チャネルID」 と 「ライトキー(Write Key)」 をメモしておきます。これがM5Stackからデータを送るための「住所」と「鍵」になります。
3. M5Stackからデータを送信するコード(Arduino / C++)
Arduino IDEを使用します。あらかじめ以下のライブラリを「ライブラリマネージャー」でインストールしておいてください。
- M5Unified(M5Stackシリーズを統合して扱える最新ライブラリ)
- 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を「世界と繋がるセンサー」に進化させてみてください!
コメント