#include <Ambient.h> // Ambient.h をインクルード
#include <DHT.h> // DHT.h をインクルード
#include <WiFi.h> // WiFi.h をインクルード
#define DHTPIN 22 // DHT センサーアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 30 // delay の値を指定 (例:30 -> 30秒間間隔でデーターをAmbientに送信)
// DHTセンサーライブラリーを使うための設定(インスタンス生成)
DHT dht(DHTPIN, DHTTYPE); // WiFiClientを使うための設定(インスタンス生成)
WiFiClient client; // Ambientを使うための設定(インスタンス生成)
Ambient ambient;
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Ambient接続情報
unsigned int channelId = <YOUR_CHANNEL_ID>;
const char* writeKey = "<YOUR_WRITEKEY>";
void setup() {
115200); // シリアル通信の速度を指定
Serial.begin(
// Wi-Fiの初期化
WiFi.begin(ssid, password);"WiFi connecting");
Serial.print(
// Wi-Fiアクセスポイントへの接続待ち
while (WiFi.status() != WL_CONNECTED) {
".");
Serial.print(500);
delay(
}
" connected"); // Wi-Fi に接続したらコンソール画面に connected を表示
Serial.println(
// チャネルIDとライトキーを指定してAmbientの初期化
ambient.begin(channelId, writeKey, &client);
// DHT11の初期化
dht.begin();
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
"Failed to read from DHT sensor!");
Serial.println(return;
}
// シリアルモニターに表示
"温度: ");
Serial.print(
Serial.print(temperature);" *C\t ");
Serial.print("湿度: ");
Serial.print(
Serial.print(humidity);" %");
Serial.println(
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデータに温度を指定。
1, temperature);
ambient.set(
// 2番目のデータに湿度を指定。
2, humidity);
ambient.set(
// Ambientにデータを送信
ambient.send();
// 30秒間待つ
1000);
delay(PERIOD * }
以下の内容を全て削除します。
上記でコピーしたコードを張り付けます。
張り付けた結果、以下のようになっていることを確認します。
ファイル から 名前をつけて保存 をクリックします。
ファイル名 に temperature_humidity_ambient と入力します。保存 をクリックします。
保存しました。 と表示されることを確認します。
WiFi の ssid と password を入力します。
先ほどコピーした Ambient の チャネルID と ライトキー を貼り付けます。
検証(ビルド) をクリックし が表示される事を確認します。
ツール -> ボード で NodeMCU-32S が選択されていることを確認します。
ツール -> シリアルポート で COMx(xには1や2や3が入る) が選択されていることを確認します。
マイコンボードに書き込む をクリックし が表示される事を確認します。
シリアルモニタ をクリックします。
以下のように温度、湿度が表示される事を確認します。
Ambient を開いて、ログインする。
チャネルxxxxx をクリックします。
以下のようなグラフが表示されていたら成功です。