Оглавление:
- Шаг 1. Оборудование и материалы
- Шаг 2: Программное обеспечение
- Шаг 3: Конфигурация
- Шаг 4: Уведомления
- Шаг 5: интеграция EasyIOT
- Шаг 6: другие действия по нажатию звонка
Видео: Нажатие дверного звонка и датчик температуры: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Это расширяет возможности стандартного дверного звонка с жесткой проводкой с помощью модуля esp-12F (esp8266).
Он устанавливается в самом блоке звонка, чтобы избежать каких-либо изменений в проводке. Он предоставляет следующие функции
- Обнаружение нажатия дверного звонка
- Отправляет уведомления на телефон через IFTTT
- Сохраняет активность дверного звонка на сервере easyIOT (необязательно)
-
Запускать другие действия через URL-адрес при нажатии дверного звонка
Я делаю снимок на веб-камеру у двери и могу просматривать недавние снимки дверного звонка на своем телефоне
- Дополнительный встроенный датчик температуры (DS18B20), который является частью системы мониторинга температуры в моем доме
Шаг 1. Оборудование и материалы
Следующие материалы необходимы
- ESP-12F (ESP8266) модуль Wi-Fi / процессор
- Понижающий преобразователь постоянного тока для питания 3,3 В
- Выпрямительный диод (например, 1N4001)
- Электролитический конденсатор 220uF 35V
- Электролитический конденсатор 220uF 16V
- Стабилитрон 3,3 или 2,6 В
- Резисторы
- Кусок стрип-картона
- Разъемы при необходимости
- Цифровой датчик температуры DS18B20 при необходимости
На схеме показана используемая схема. Он предполагает низковольтный звонок с питанием от переменного тока, который является наиболее распространенным типом простого звонка с проводным подключением. Блок звонка получает питание от внешнего трансформатора звонка, как правило, около 10 В переменного тока. Это не критично, поскольку единственным ограничением является максимальное напряжение в понижающем преобразователе. Я использую MP2307 с максимальным входным напряжением 23 В постоянного тока (~ 16 В переменного тока).
Обычно имеется 3 активных терминала. С помощью кнопки звонка соедините одну сторону источника переменного тока с соленоидом звонка. Модуль использует две клеммы переменного тока для выработки постоянного тока через простой однополупериодный выпрямитель. Определение нажатия звонка осуществляется путем контроля напряжения на реальном соленоиде. Обычно он будет заземлен, но когда звонок будет активирован, будет полный переменный ток. Резистор / стабилитрон фиксирует это, поэтому импульс 0–3,3 В 50 Гц подается на вывод GPIO. Программное обеспечение обрабатывает это, чтобы обеспечить однократную активацию на каждое нажатие звонка.
Я построил схему на небольшом кусочке стриповой платы, и она достаточно мала, чтобы легко поместиться в блок звонка. Я использую простые перемычки, чтобы упростить установку и включение специально в соответствии с основным источником переменного тока, чтобы его можно было легко сбросить, если потребуется.
Схема, как показано, включает датчик температуры DS18B20. Это необязательно. Я использую его как часть сети, контролирующей большинство участков в моем доме. Если датчик входит в комплект, рекомендуется подключить к датчику несколько сантиметров кабеля, чтобы он мог быть изолирован от любых локальных тепловых эффектов.
Шаг 2: Программное обеспечение
В блоке толкания двери используется эскиз Arduino, доступный на github.
Это необходимо отрегулировать в соответствии с местными условиями, а затем скомпилировать в среде esp8266 Arduino. Следующие библиотеки необходимы, они стандартные или могут быть добавлены.
- ESP8266Wi-Fi
- WifiClient
- ESP8266WebServer
- ESP8266mDNS
- ESP8266HTTPUpdateServer
- ArduinoJson
- WifiClientSecure
- IFTTTMaker
- DNSServer
- WiFiManager (дополнительное использование)
- OneWire
- ДалласТемпература
Элементы эскиза, которые необходимо изменить, включают
- Сведения о локальном доступе к Wi-Fi (ssid, пароль), если не используется WifiManager
- Код авторизации для веб-доступа AP_AUTHID. Хорошо сделать это приличной длины. Он может содержать буквенно-цифровые символы.
- прошивка OTA пароль update_password
-
Пароль WifiManager WM_PASSWORD
Wi-Fi можно настроить вручную, закомментировав WM_NAME
- Ключ производителя IFTTT (см. Этап уведомления)
Необязательные изменения включают
- Изменение входного контакта для детектора дверного звонка
- Замена штифта датчика температуры
- Изменение порта веб-доступа с 80 по умолчанию
Как только это будет сделано, его сначала нужно скомпилировать и загрузить с помощью обычной последовательной загрузки. Последующее обновление может быть выполнено путем компиляции двоичного файла экспорта в среде Arduino и последующего доступа к интерфейсу OTA по адресу ip / firmware.
Нажатие дверного звонка обнаруживается в программном обеспечении путем прерывания по нарастающему фронту первого импульса от цепи детектора. Все последующие прерывания игнорируются. Тайм-аут используется для повторной активации детектора после BELL_MIN_INTERVAL, который установлен на 10 секунд.
Доступ к другим действиям можно получить на веб-сервере esp8266.
- ip / Recent показывает недавнюю активность дверного звонка
- ip / reloadConfig перезагружает espConfig
- ip / bellPush имитирует толчок звонка
Шаг 3: Конфигурация
После создания программное обеспечение получает конфигурацию с локального веб-сервера. Модуль загружает данные конфигурации на основе своего Mac-адреса. Это делает очень удобным запуск нескольких модулей с использованием одного и того же двоичного файла, а также упрощает обновление конфигурации без перекомпиляции. Можно было бы пропустить это и поместить данные конфигурации прямо в код.
Я храню файл конфигурации на своем сервере EasyIOT, в котором есть папка easyIOT / html, откуда файл конфигурации можно легко получить.
Файл называется espConfig и представляет собой простой текстовый файл, в котором хранится ряд параметров (12) для каждого возможного Mac-адреса. Модуль загружает только параметры, установленные для его Mac-адреса.
Пример из файла
#Зал
# Mac address123456ABCDEF
#module name
esp8266-зал
# маска режима сервера (1 = датчик температуры, 4 = режим котла, 4 = дверной звонок)
9
#EIOT узел температуры
N9S0
#unused
-1
# минимальный температурный интервал в секундах
60
# максимальный температурный интервал в секундах
300
# интервал мощности котла
0
Электроузел котла #EasyIOT
-1
Узел нажатия звонка #EasyIOT
N10S0
# IFTTT значение уведомления
передний
#IFTTT notify eventname
дверной звонок
#action URL
192.168.0.2/snap.php
Любая строка, начинающаяся с #, игнорируется. Все строки должны присутствовать. -1 используется для игнорирования параметров.
Файл конфигурации читается при первом запуске модуля. Его также можно перезагрузить в работающей системе (когда конфигурация была изменена) путем доступа к ip / reloadConfig.
Часть конфигурации, относящаяся к режиму котла, здесь не имеет отношения, но используется в моих датчиках температуры, подключенных к выходу центральной трубы отопления, поскольку она определяет, когда котел нагревается, и может рассчитать среднее энергопотребление.
Шаг 4: Уведомления
Когда обнаруживается нажатие дверного звонка, он пытается уведомить об этом с помощью IFTTT или PushOver. Я теперь PushOver, так как он дает более быстрый ответ.
Для IFTTT вам потребуется учетная запись и активировать канал Maker WebHoooks. MakerKey из этого канала необходимо скомпилировать в код.
Настройте действие IF с помощью Maker WebHooks и используйте имя события с тем же именем, что и в конфигурации (например, дверной звонок). Действие THEN должно быть уведомлением IFTTT. Вы можете добавить значение1 к уведомлению, которое будет в файле конфигурации. Это может быть полезно, если у вас 2 или более детекторов.
Вам необходимо установить приложение IFTTT на свой телефон, и тогда при срабатывании дверного звонка будут появляться уведомления.
Для PushOver вам понадобится учетная запись PushOver и следуйте инструкциям, чтобы получать уведомления API. Вам необходимо настроить токены NOTIFICATION_APP и NOTIFICATION_USER в программном обеспечении со значениями из вашей учетной записи PushOver.
Вам необходимо установить приложение PushOver на свой телефон и заплатить небольшую разовую плату, чтобы получать уведомления. На мой взгляд, это того стоит, чтобы получить гораздо более быстрый ответ.
Шаг 5: интеграция EasyIOT
Программное обеспечение может отправлять отчеты о температуре и дверном звонке на сервер EasyIOT. Автоматизация EasyIOT может использоваться для выполнения дополнительных действий на основе этого отчета.
Настройте сервер EasyIOT (например, на Raspberry Pi). Настройте IP-адрес и пароль для имени пользователя в программном обеспечении esp8266 и скомпилируйте.
Теперь добавьте виртуальный драйвер в конфигурацию EASYIOT. Выберите «Аналоговый вход температуры» и обратите внимание на имя узла EasyIOT. Это должно быть помещено в часть имени узла температуры файла espConfig.
Добавьте второй виртуальный драйвер. Выберите Цифровой вход двери, запишите имя узла и поместите его в файл espConfig.
Шаг 6: другие действия по нажатию звонка
В программе есть процедура под названием actionBellOn. Как написано, это может сделать 3 вещи
- IFTTT уведомить
- Отчет EasyIOT
- Выполнить действие URL
URL-адрес может использоваться для запуска других действий с других веб-серверов. Используемый URL-адрес находится в файле espConfig.
Если сервер URL-адреса аутентифицирован, необходимо настроить имя пользователя и пароль и скомпилировать их в код.
Я использую это для доступа к URL-адресу snap.php на камере рядом с дверью. При нажатии на звонок требуется jpg. Последние 4 сохраняются и могут быть просмотрены удаленно на веб-сервере камеры.
Я использую камеры на базе Raspberry Pi, которые очень легко справляются с этой операцией. камера
Рекомендуемые:
Nest Hello - звонок дверного звонка со встроенным трансформатором UK (220-240 В переменного тока - 16 В переменного тока): 7 шагов (с изображениями)
Nest Hello - звонок дверного звонка со встроенным трансформатором Великобритания (220–240 В переменного тока - 16 В переменного тока): я хотел установить дома дверной звонок Nest Hello, приспособление, которое работает от переменного тока 16–24 В (ПРИМЕЧАНИЕ: обновление программного обеспечения в 2019 году изменило Европу диапазон версий до 12 В - 24 В переменного тока). Стандартные дверные звонки со встроенными трансформаторами доступны в Великобритании на
Вспомогательный переключатель дверного звонка: 21 шаг
Вспомогательный переключатель дверного звонка: Вспомогательный переключатель дверного звонка является примером вспомогательной технологии с использованием повседневных материалов. Это переключатель, который модифицирует обычный переключатель дверного звонка, чтобы он мог дать детям с особыми потребностями возможность пользоваться повседневными предметами
Push-оповещения Arduino для дверного звонка, охранной сигнализации, дымовой сигнализации и т. Д.: 8 шагов
Push-оповещения Arduino для дверного звонка, охранной сигнализации, дымовой сигнализации и т. Д .: IoT-уведомления от дверного звонка, охранной сигнализации, дымовой сигнализации и т. Д. С использованием Arduino Uno и Ethernet Shield. Полная информация на моем веб-сайте здесь О Arduino Push Alert Box Использует Arduino Uno и Ethernet Shield на основе чипа Wiznet W5100 для
Беспроводной передатчик дверного звонка: 3 шага (с изображениями)
Беспроводной передатчик дверного звонка: в этом проекте описывается первая часть из следующих двух проектов: Беспроводной передатчик дверного звонка, как описано в этой инструкции. Беспроводной приемник дверного звонка, описанный в инструкции по беспроводному приемнику дверного звонка. Когда я сижу в
Беспроводной приемник дверного звонка: 3 шага (с изображениями)
Приемник беспроводного дверного звонка: этот проект описывает вторую часть следующих двух проектов: Беспроводной передатчик дверного звонка, как описано в инструкции по беспроводному передатчику дверного звонка. Это руководство также дает некоторое представление об этих проектах. Беспроводной дверной звонок