Оглавление:

Получайте оповещения по электронной почте из вашей домашней системы безопасности с помощью Arduino: 3 шага
Получайте оповещения по электронной почте из вашей домашней системы безопасности с помощью Arduino: 3 шага

Видео: Получайте оповещения по электронной почте из вашей домашней системы безопасности с помощью Arduino: 3 шага

Видео: Получайте оповещения по электронной почте из вашей домашней системы безопасности с помощью Arduino: 3 шага
Видео: Интернет вещей Bluetooth с низким энергопотреблением ti Bluetooth 4.0 Смартфоны KoolThings безопасность IoT 2024, Ноябрь
Anonim
Получайте оповещения по электронной почте из вашей домашней системы безопасности с помощью Arduino
Получайте оповещения по электронной почте из вашей домашней системы безопасности с помощью Arduino

Используя Arduino, мы легко можем модернизировать базовые функции электронной почты практически в любой существующей системе безопасности. Это особенно подходит для старых систем, которые, скорее всего, давно отключены от службы мониторинга и в противном случае имели бы ограниченную полезность. Это НЕ замена службы мониторинга.

Существуют коммерчески доступные продукты, такие как envisalink, которые добавляют дополнительные функции связи и управления, но они не являются недорогими.

Этот проект можно завершить менее чем за 10 долларов.

Что вам нужно:

  • Arduino - желательно Uno или Mega
  • W5100 Ethernet-экран
  • Система безопасности - здесь используется DSC Power 832 PC5010, но можно использовать практически любую модель с программируемым выводом (или любым выводом, который имеет измеримое изменение состояния).
  • Руководство по установке и рабочие листы программирования - вам также понадобится код установщика, чтобы внести необходимые изменения.
  • Длина одножильного провода, подходящего для подключения к контактам разъема Arduino.
  • Резистор 10 кОм для заземления входного контакта Arduino.
  • Резистор 1,5 кОм для ограничения тока, идущего на светодиодную сторону оптопары. Значение основано на входном напряжении и максимальном токе оптопары.
  • Оптопара - я использовал FOD817, но это очень простая схема с широкими требованиями, поэтому есть буквально сотни других, которые будут работать с отдаленно похожими характеристиками.
  • Сетевой кабель.

Шаг 1. Запрограммируйте систему безопасности

Запрограммируйте систему безопасности
Запрограммируйте систему безопасности

Предупреждение:

  • Доступ к панели безопасности или внесение изменений в конфигурацию установки может активировать предупреждение о несанкционированном доступе, если вы в настоящее время подписаны на службу мониторинга.
  • Также не забудьте отслеживать каждое вносимое вами изменение, чтобы при необходимости можно было отменить его позже.

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

То, как его программировать, различается в зависимости от модели, но основная концепция одинакова - подробности см. В руководстве по установке вашей системы. В системе DSC я использую:

  • Я установил вывод PGM1 на активацию при срабатывании сигнализации. Секция [009], опция [01].
  • В этой системе вы также устанавливаете атрибуты того, как и при каких условиях работают контакты - Раздел [141]:

    • Установите для атрибута 3 значение ON, чтобы контакт был нормально разомкнутым и переключался на землю при срабатывании сигнализации. Всегда будьте осторожны, чтобы входные контакты Arduino не получали больше 5 В (некоторые из них допускают только 3,3 В).
    • Все остальные атрибуты отключены.

Большинство систем безопасности имеют встроенный модем, предназначенный в первую очередь для связи с центральной станцией мониторинга по телефонным линиям. Если они не получают постоянно подтверждение того, что отправляемые данные получены, будет отображаться код неисправности. Некоторые из них могут быть настроены на отправку сообщений на пейджер или на вызов персональной линии без того, чтобы система ожидала ответа (таким образом, не отображая код неисправности), поэтому, если у вас есть, и у вас есть стационарный телефон, вы можете запрограммировать его для звонка на свой телефон (ы).) в дополнение к отправке электронного письма в событии.

Если вы не используете службу мониторинга и / или ваша система не может быть запрограммирована для вызова обычного телефонного номера без ввода кода неисправности, отключите коммуникатор и монитор телефонной линии (tlm) в конфигурации.

Шаг 2: запрограммируйте Arduino

Программа Arduino
Программа Arduino

Сначала нам нужно подписаться на службу, с которой будет отправляться электронное письмо.

Я использовал сервис smtp2go, который является бесплатным и работает с Arduino - исходный код, используемый здесь, основан на установочном коде с их сайта.

www.smtp2go.com/

После регистрации вам необходимо закодировать base64 имя пользователя и пароль (находятся в «Настройки»> «Пользователи»), чтобы их можно было использовать в скетче.

www.base64encode.org/

Исходный код:

github.com/hzmeister/arduino_alarm_email

Настройте разделы с комментариями // в соответствии с вашими требованиями.

Загрузите в Arduino.

Обновлять:

Электронные письма smtp2go через некоторое время попадают в папку для спама (даже если вы не указали их). Я попробовал temboo, который был более надежным (поскольку он использует Gmail), но срок действия профилей истекает через месяц, так что это тоже не жизнеспособный вариант. Я включил код для отправки из Gmail с помощью temboo с использованием щита w5100, если он кому-то нужен (их код требует, чтобы вы использовали снятый с производства и дорогой yun).

В этой версии используется temboo gmailv2, который аутентифицируется с использованием более надежного OAuth с токеном обновления, в отличие от пароля приложения, используемого в gmailv1.

Источник:

github.com/hzmeister/temboo-gmailv2

В конце концов я решил использовать электронную почту, предоставленную провайдером, у которой открыт порт 25. Вы можете использовать любой почтовый сервер / порт smtp, если он не требует шифрования соединения (поскольку w5100 его не поддерживает). Преимущество использования предоставленного провайдера заключается в том, что Google не помечает его как спам. Код arduino почти такой же, как и для smtp2go, но с небольшими изменениями / обновлениями.

Источник:

github.com/hzmeister/arduino_alarm_emailV2

Шаг 3. Установите оборудование и проверьте

Установите оборудование и проверьте
Установите оборудование и проверьте
Установите оборудование и проверьте
Установите оборудование и проверьте

Установите экран w5100 на Arduino и закрепите его в корпусе. Лента-липучка хорошо работает, поскольку она не токопроводящая и снимается.

Я использовал оптопару, чтобы изолировать сигнал 13,7 В pgm1 от входа Arduino 5 В и земли. Это схема «неинвертирующего оптопара».

Когда срабатывает аварийный сигнал, pgm1 переключается с разомкнутого на массу, замыкая цепь.

Протестируйте систему.

Используйте последовательный монитор в Arduino IDE, чтобы увидеть состояние вывода.

Проверьте папку со спамом, если серийный монитор показывает, что электронное письмо было успешно отправлено, но вы не получаете его в свой почтовый ящик.

Рекомендуемые: