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

Уведомления об открытии двери на Gmail через Arduino Uno: руководство для начинающих

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

Компонент Количество Примечание
Arduino Uno 1 Основная плата
PHPoC Shield для Arduino 1 Ethernet/WiFi + SSL для отправки почты
Магнитный датчик (реедик) 1 Два элемента: датчик + магнит
Провода-перемычки 1 набор Для подключения
LAN-кабель или USB WiFi-адаптер 1 Для подключения PHPoC Shield к интернету

О проекте

Проект для начинающих: обнаружение открытия двери магнитным датчиком и отправка уведомления на Gmail. Используется PHPoC Shield, который берет на себя всю сложность работы с SSL/TLS и SMTP-протоколом.

Принцип работы магнитного датчика

Датчик состоит из двух частей: геркон (сенсор) и магнит. Когда они рядом — контакт замкнут (HIGH), при разъединении — разомкнут (LOW). Монтируем одну часть на створке, вторую — на косяке.

Обработка события

При срабатывании (дверь открыта) Arduino через PHPoC Shield подключается к SMTP-серверу Gmail (smtp.gmail.com:587) и отправляет письмо. Для работы нужен аккаунт Google с включенным доступом «менее безопасных приложений» или пароль приложения.

Необходимые библиотеки

Установка PHPoC: официальный гайд | GitHub

Схема подключения

  1. Установите PHPoC Shield на Arduino Uno
  2. Подключите LAN-кабель или WiFi-адаптер к шилду
  3. Магнитный датчик:
    • VCC (красный) → 5V
    • Signal (черный) → A0
    • GND → GND (если есть отдельный провод)

Код проекта

#include <Phpoc.h>
#include <ezButton.h>

PhpocEmail email;
ezButton button(A0); // Датчик на пине A0

void setup() {
  Serial.begin(9600);
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
  // Phpoc.beginIP6(); // Раскомментируйте для IPv6
  button.setDebounceTime(100); // 100 мс дебаунс
}

void loop() {
  button.loop(); // Обязательный вызов

  if (button.isPressed()) { // Дверь открыта
    // Настройка email
    email.setOutgoingServer("smtp.gmail.com", 587);
    email.setOutgoingLogin("Ваш_Google_ID", "Пароль_приложения");
    email.setFrom("ваш@gmail.com", "Arduino Alert");
    email.setTo("получатель@email.com", "Хозяин");
    email.setSubject("Дверь открыта! [#905]");

    email.beginMessage();
    email.println("#905");
    email.println("");
    email.println("Дверь была открыта.");
    email.endMessage();

    if (email.send() > 0) {
      Serial.println("Письмо успешно отправлено");
    } else {
      Serial.println("Ошибка отправки");
    }
  } 
  else if (button.isReleased()) { // Дверь закрыта
    // Аналогично можно отправить уведомление о закрытии
  }
}

Важные замечания

Расширение функционала

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

  1. Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
  2. Цифровой стадиометр на Arduino: отслеживание роста лазерным датчиком VL53L0X
  3. Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
  4. Сенсорная башня на Arduino Cloud: Мониторинг температуры, движения и газа
  5. Умный водяной пистолет с датчиком движения на Arduino Nano
  6. Бесконтактный термометрический шлюз для быстрого и точного скрининга
  7. Arduino UNO + WiFi Shield: реальный график температуры в вебе через Serial
  8. Умная система мониторинга температуры для школ: точно, в реальном времени, безопасно
  9. Компактный радар на Arduino Nano с HC-SR04 и дисплеем 1.8"
  10. Сенсорный выключатель LED на Arduino UNO: простой DIY-проект