цифровая электроника
вычислительная техника
встраиваемые системы

 

Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Автор: Mike(admin) от 5-06-2019, 07:35

Arduino представляет собой замечательную платформу для домашней автоматизации. В совокупности со сторонними программными средствами можно сделать на основе Arduino очень полезную и эффективную экосистему мониторинга состояния чего-либо в доме.


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

В этом проекте мы используем Arduino, мессенджер Facebook и сервис IFTTT, чтобы следить за состоянием двери (открыта или закрыта).


Общий принцип работы такой системы автоматизации можно выразить в виде следующего изображения.


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Здесь Arduino с помощью Wi-Fi-шилда PHPoC отправляет в интернет информацию о состоянии датчика двери, подключенного к линии A0 платы Arduino. Посредством сервиса IFTTT информация о состоянии двери в конечном итоге доходит до пользователя в виде сообщения в мессенджере Facebook. Подключение выглядит просто:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Немного сложнее будет разобраться и настроить IFTTT. Сначала нужно создать апплет.


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Далее установим триггер:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Найдем "Webhooks" и нажмем на Webhooks:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Выберем «Receive a web request»:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Установим Event Name в «door_open» и нажмем кнопку Create trigger:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Далее нажмем кнопку «+that», чтобы создать действие:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Найдем Facebook Messenger и нажмем на него:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Выберем действие «Send message»:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Создадим содержание сообщения и нажмем кнопку «Add ingredient»:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Выберем «OccurredAt». Это время открытия двери:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Нажмем на кнопку «Create action»:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Нажмем на кнопку «Finish»:


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Теперь апплет создан. Время получить ключ Webhooks. Перейдите по этой ссылке https://ifttt.com/maker_webhooks. Нажмите «Documentation», чтобы увидеть ключ Webhooks.


Arduino, IFTTT и мессенджер Facebook: проверяем состояние двери

Скопируйте этот ключ и поместите его в код Arduino. Запрограммируйте Arduino следующим кодом, и все будет работать.



#include <Phpoc.h>

String IFTTT_WEBHOOKS_KEY = "xxxxxxxxxxxxxxxxxxxxxx"; // вставьте ваш ключ
char server_name[] = "maker.ifttt.com";

PhpocClient client;

void sendNotification()
{
	// подключиться к веб-серверу через порт 443:
	if(client.connectSSL(server_name, 443)) {
		// если подключен:
		Serial.println("Connected to server");

		// сделать запрос HTTP:
		client.println("GET /trigger/door_open/with/key/" + IFTTT_WEBHOOKS_KEY + " HTTP/1.1");
		client.println("Host: maker.ifttt.com");
		client.println("Connection: close");
		client.println();
	}

	while(client.connected()) {
		if(client.available()) {
			char c = client.read();
			Serial.write(c);
		}
	}

	Serial.println();
	Serial.println("disconnecting from server.");
	client.stop();
}

void setup() {
	Serial.begin(9600);

	// инициализировать PHPoC (WiFi) шилд:
	Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);

	pinMode(A0, INPUT_PULLUP);
}

int previous_status = 1;

void loop() {
	int current_status = digitalRead(A0);

	if(previous_status == 0 && current_status == 1) { // если дверь открыта...
		Serial.println("door is opened");
		sendNotification();
		delay(100);
	} else if(previous_status == 1 && current_status == 0) { // если дверь закрыта...
		Serial.println("door is closed");
	}

	previous_status = current_status;
}



© digitrode.ru


Теги: Arduino, IFTTT



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий
Цитата
  • Sergey

  • 5 июня 2019 10:41
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
А можно все тоже самое только на ESP 8266