arduinoソースコード クリックで展開
                
            
// ライブラリの読み込み
#include <ESP8266WiFi.h>
#include <time.h>
//日本時間
#define JST     3600*9
// 転送レート
#define SERIAL_SPEED  115200
// Wi-Fi SSID
#define WLAN_SSID         "親機のSSID"
// Wi-Fi パスワード
#define WLAN_PASS         "親機の認証キー"
// IFTTTのイベント名
#define IFTTT_EVENT_NAME  "alarm"
// IFTTTのホスト名
#define IFTTT_HOST_NAME   "maker.ifttt.com"
// IFTTTのシークレットキー
#define IFTTT_KEY         "IFTTTから取得したキー"
// ポート番号
#define PORT_NUMBER       80
// 焦電センサーを接続するピン
const int sensorPin = 12;
// ledを接続するピン
const int ledPin = 14;
time_t t;
struct tm *tm;
static const char *wd[7] = {"Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"};
void setup(void) {
  // デジタル2番ピンを入力用として設定
  pinMode(sensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  // パソコンとのシリアル通信のポートを開ける
  Serial.begin(SERIAL_SPEED);
  // Wi-Fi設定
  setupWiFi();
  configTime( JST, 0, "ntp.nict.jp", "ntp.jst.mfeed.ad.jp");
  t = time(NULL);
  tm = localtime(&t);
  Serial.printf(" %04d/%02d/%02d(%s) %02d:%02d:%02d\n",
                tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
                wd[tm->tm_wday],
                tm->tm_hour, tm->tm_min, tm->tm_sec);
}
/*
  Wi-Fiを設定します
*/
void setupWiFi() {
  Serial.print("Connecting to ");
  Serial.println(WLAN_SSID);
  // シリアルポートの指定
  WiFi.begin(WLAN_SSID, WLAN_PASS);
  while (WiFi.status() != WL_CONNECTED) {
    delay(3000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  delay(3000);
}
void loop(void) {
  delay(2000);
  t = time(NULL);
  tm = localtime(&t);
  Serial.printf(" %04d/%02d/%02d(%s) %02d:%02d:%02d\n",
                tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
                wd[tm->tm_wday],
                tm->tm_hour, tm->tm_min, tm->tm_sec);
  
  digitalWrite(ledPin, LOW);
  WiFiClient client;
  const int httpPort = 80;
  // const char * host = "192.168.1.1"; // ip or dns
  Serial.print("connecting to ");
  Serial.println(IFTTT_HOST_NAME);
  // Use WiFiClient class to create TCP connections
  if (!client.connect(IFTTT_HOST_NAME, httpPort)) {
    Serial.println("connection failed");
    Serial.println("wait 5 sec...");
    delay(5000);
    return;
  }
  // 焦電センサーの状態を取得
  int sensorState = digitalRead(sensorPin);
  // 動きを検知したら
  if (sensorState == HIGH) {
    Serial.println("Send Data");
    // IFTTTへ送信するデータ
    char sendData[256] = "";
    sprintf(sendData, "GET http://maker.ifttt.com/trigger/%s/with/key/%s HTTP/1.1\r\nHost:maker.ifttt.com\r\nConnection: close\r\n\r\n", IFTTT_EVENT_NAME, IFTTT_KEY);
    Serial.println(sendData);
    // IFTTTへデータを送信
    //夜中だったら待つ
    if (7 <= tm->tm_hour and tm->tm_hour < 23 ) {
      client.print(sendData);
      Serial.printf(" %02d時\n", tm->tm_hour);
    }
    for ( int i = 0 ; i < 5 ; i++) {
      digitalWrite(ledPin, HIGH);
      delay(100);
      digitalWrite(ledPin, LOW);
      delay(100);
    }
        delay(180000);
    //delay(1000);
  }
}