Вот пример в как это работает ARDUINO TO IFTTT
Код: Выделить всё
#include "ESP8266.h" // для работы с esp8266
#include <SoftwareSerial.h> // чтобы добавить больше пинов UART
#include <math.h> // чтобы высчитать логарифм
#define SSID "Arduino" // имя вашего wi-fi
#define PASSWORD "12345678" // пароль вашего wi-fi
#define LIGHT_PIN A0 // пин подключения фоторезистора
SoftwareSerial mySerial(4, 5); // пины подключения по UART
ESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UART
int reading = 9; // пин, который считывает значение с кнопки `
boolean currentButton = 0 ; // настоящее значение кнопки
boolean but = 0; // прошлое значение кнопки
String maker_ID = "kYVzddd-4SGWuUGQzhxtAPwwBbcssddZ8lJfaYss8ffaAnib7mIk4eGX8Z"; // ваш ключ от сайта dweet.io
void setup() {
Serial.begin(9600); // открываем serial соединение
if (wifi.joinAP(SSID, PASSWORD)) { // если мы подключились к нашей сети
Serial.println("Press the button"); //пишем в мониторе порта, чтобы нажали на кнопку
} else {
Serial.println("Wi-Fi connection error"); //в случае, если мы не подключимся к сети, нам выдадут ошибку
}
}
float Light () // функция, которая возвращает значение света в люксах
{
float r_light = 10.0/(1023.0/analogRead(LIGHT_PIN) - 1.0);
float light = 10.0*pow(14.0/r_light, 1.6);
return (light);
}
boolean Button( boolean got ) // функция, которая принимает предыдущее значение нажатия кнопки и отправляет текущие значение
{
boolean current = digitalRead(reading);
if( !got == current)
{
delay(10);
current = digitalRead(reading);
}
return(current);
}
void loop() {
currentButton = Button(but);// находм состояние кнопки
if (currentButton == 1 && but ==0) // если кнопка была нажата и отжата
{
String value1 = String(Light ());// создаем строковую переменную нашего света
sendTwitter (value1);// отправляем ее
Serial.println("Data sent"); //пишим. что данные отправлены
}
but = currentButton; //запоминаем текущее состояние кнопки
}
void sendTwitter( String value1)
{
if (wifi.createTCP("maker.ifttt.com", 80)) { // если нам удалось создать TCP соединение
String request = "GET /trigger/Message/with/key/" + maker_ID +
"?value1=" + value1 + " HTTP/1.1\r\n"; // создаем переменную request в виде строки (заполняем GET-запрос)
request += "Host: maker.ifttt.com\r\n\r\n"; // закрываем GET-запрос в строке
wifi.send(request.c_str(), request.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов
wifi.releaseTCP(); // закрываем TCP соеденение
}
else
{
Serial.println("create tcp error"); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку
}
}