Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino датчик двери: мгновенные уведомления в Facebook Messenger через IFTTT

Компоненты и материалы

Приложения и сервисы

Важное замечание

IFTTT прекратил поддержку Facebook Messenger из-за изменения политики Facebook. Этот проект больше не работает в описанном виде.

Альтернатива: автор сделал похожий, но дешевле и для промышленной среды проект на PHPoC без Arduino: PHPoC Monitoring Door Open via Facebook Messenger.

Для начинающих полезно изучить:

Архитектура системы (исторически)

Arduino + PHPoC Shield → WiFi → IFTTT Webhooks (событие door_open) → IFTTT Facebook Messenger → сообщение пользователю.

Подключение датчика

Создание Applet в IFTTT (12 шагов, для справки)

  1. Create Applet
  2. Set trigger: Webhooks → Receive a web request
  3. Event Name: door_open
  4. Create trigger
  5. +that → Action: Facebook Messenger → Send message
  6. Текст сообщения + Add ingredient → OccurredAt (время события)
  7. Create action → Finish

Получение Webhooks Key

Перейдите на ifttt.com/maker_webhooks → Documentation → скопируйте Key → вставьте в Arduino-код.

Используемые библиотеки

Код Arduino (MonotorDoorMessenger)

// Tutorial: https://forum.phpoc.com/articles/tutorials/1241-arduino-ssl-web-client
#include <Phpoc.h>
#include <ezButton.h>

String IFTTT_WEBHOOKS_KEY = "xxxxxxxxxxxxxxxxxxxxxx"; // ВСТАВЬТЕ СВОЙ KEY
char server_name[] = "maker.ifttt.com";
PhpocClient client;
ezButton button(A0); // Датчик на пине A0

void sendNotification() {
  if (client.connectSSL(server_name, 443)) {
    Serial.println("Connected to server");
    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.begin(PF_LOG_SPI | PF_LOG_NET); // Инициализация PHPoC Shield
  button.setDebounceTime(100); // 100 мс дебаунс
}

void loop() {
  button.loop(); // ОБЯЗАТЕЛЬНО вызывать в loop()
  if (button.isPressed()) {
    Serial.println("door is opened");
    sendNotification();
    delay(100);
  } else if (button.isReleased()) {
    Serial.println("door is closed");
  }
}

Схемы

Схема подключения (изображение в оригинале). PHPoC Shield надевается на Arduino UNO, датчик двери к A0 и GND.

Справочник функций (для обучения)

Производственный процесс

  1. Легкая прошивка микроконтроллеров Atmel AT89 с помощью Arduino Uno — пошаговое руководство
  2. Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
  3. Бесконтактный термометрический шлюз для быстрого и точного скрининга
  4. Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
  5. Система мониторинга лесных пожаров в реальном времени с SMS-уведомлениями
  6. Arduino UNO + WiFi Shield: реальный график температуры в вебе через Serial
  7. Умная система мониторинга температуры для школ: точно, в реальном времени, безопасно
  8. Система управления светом на Intel Curie (Arduino 101) с детекцией движений
  9. Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04
  10. WiFi-умный замок на Arduino и ESP8266 — открывание с телефона