Съдържание:

Датчик за натискане и температура на звънеца на вратата: 6 стъпки
Датчик за натискане и температура на звънеца на вратата: 6 стъпки

Видео: Датчик за натискане и температура на звънеца на вратата: 6 стъпки

Видео: Датчик за натискане и температура на звънеца на вратата: 6 стъпки
Видео: Neo NAS-AB02B0 - Zigbee сирена с климатичен сензор, преглед, работа в Tuya Smart и Home Assistant 2024, Ноември
Anonim
Датчик за натискане на звънец на вратата и температурен сензор
Датчик за натискане на звънец на вратата и температурен сензор

Това подобрява стандартния звънец на твърда кабелна врата с модул esp-12F (esp8266).

Той се инсталира в самия звънец, за да се избегне промяна в окабеляването. Той осигурява следните функции

  • Откриване на натискане на звънец на вратата
  • Изпраща известия на телефона чрез IFTTT
  • Съхранява активността на звънеца на вратата в сървър easyIOT (по избор)
  • Задействайте друга дейност чрез URL, когато натиснете звънеца на вратата

    Заснемам моментна снимка на уеб камера до вратата и мога да видя последните снимки на звънеца на вратата на телефона си

  • Опционален вграден температурен сензор (DS18B20), който е част от мониторинга на домашната ми температура

Стъпка 1: Хардуер и материали

Хардуер и материали
Хардуер и материали
Хардуер и материали
Хардуер и материали

Необходими са следните материали

  • ESP-12F (ESP8266) wifi / cpu модул
  • DC Buck конвертор за захранване 3.3V
  • Токоизправител (напр. 1N4001)
  • Електролитен кондензатор 220uF 35V
  • Електролитен кондензатор 220uF 16V
  • Стабилитрон 3.3 или 2.6V
  • Резистори
  • Парче лента
  • Съединители, ако е необходимо
  • DS18B20 цифров сензор за температура, ако е необходимо

Схемата показва използваната схема. Той приема звънец с ниско напрежение, захранван от променлив ток, който е най -често срещаният тип твърда кабелна обикновена камбана. Звънецът получава захранване от външен звънен трансформатор, обикновено около 10 V AC. Това не е критично, като единственото ограничение е максималното напрежение в доларовия преобразувател. Този, който използвам, е MP2307 базиран с максимален вход от 23V dc (~ 16V AC).

Обикновено има 3 активни терминала. С натискането на звънеца се осъществява връзката от едната страна на захранването с променлив ток към соленоида на звънеца. Модулът използва двата AC терминала за производство на DC мощност чрез обикновен полувълнов токоизправител. Чувстването на звънеца е чрез наблюдение на напрежението в действителния соленоид. Това нормално ще се смила, но когато звънецът бъде активиран, ще бъде пълният AC. Резистор / ценеров диод прихваща това, така че 0 - 3.3V 50 Hz импулс се подава в GPIO щифт. Софтуерът обработва това, за да осигури еднократно активиране при натискане на звънец.

Изградих веригата върху малко лентово табло и това е достатъчно малко, за да се побере лесно в звънеца. Използвам прости съединителни съединители, за да улесня инсталирането и включването специално в съответствие с основното захранване с променлив ток, така че да може да се нулира лесно, ако е необходимо.

Схемата, както е показано, включва температурен сензор DS18B20. Това е по избор. Използвам го като част от мрежа за наблюдение на повечето области в моята къща. Ако е включено, добре е да свържете кабела с няколко сантиметра кабел, за да го изолирате от всякакви локални отоплителни ефекти.

Стъпка 2: Софтуер

Устройството за натискане на вратата използва скица на Arduino, налична в github

Това трябва да се коригира според местните условия и след това да се компилира в среда esp8266 Arduino. Необходими са следните библиотеки, те са стандартни или могат да се добавят.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • DNS сървър
  • WiFiManager (по избор)
  • OneWire
  • Далас Температура

Елементите в скицата, които трябва да бъдат променени, включват

  • Подробности за локален wifi достъп (ssid, парола), ако не използвате WifiManager
  • Код за оторизация за достъп до мрежата AP_AUTHID. Добре е да направите това прилична дължина. Може да съдържа буквено -цифрови знаци.
  • парола за OTA за фърмуер update_password
  • Парола за WifiManager WM_PASSWORD

    Wifi може да бъде настроен ръчно, като коментирате WM_NAME

  • Ключ за създаване на IFTTT (вижте стъпката за уведомяване)

Незадължителните промени включват

  • Промяна на входния щифт за детектор на звънец
  • Сменящ щифт за температурен датчик
  • Промяна на порта за достъп до уеб от стандартната 80

След като това е направено, първо трябва да се компилира и качи с помощта на конвенционално серийно качване. Последваща актуализация може да се извърши чрез компилиране на двоичен файл за експортиране в среда Arduino и след това достъп до OTA интерфейса на ip/фърмуер.

Натискането на звънеца на вратата се открива в софтуера чрез прекъсване, усещащо нарастващия ръб на първия импулс от веригата на детектора. Всички последващи прекъсвания се игнорират. Изчакване се използва за повторно активиране на детектора след BELL_MIN_INTERVAL, който е настроен на 10 секунди.

Други дейности могат да бъдат достъпни на уеб сървъра esp8266

  • ip/наскоро показва скорошна активност на звънеца на вратата
  • ip/reloadConfig презарежда espConfig
  • ip/bellPush симулира звънец

Стъпка 3: Конфигурация

Създаден, софтуерът получава конфигурацията си от локален уеб сървър. Модулът зарежда конфигурационни данни въз основа на своя Mac адрес. Това прави много удобно да се изпълняват множество модули, използващи един и същ двоичен файл, а също така улеснява актуализирането на конфигурацията без прекомпилиране. Би било възможно да пропуснете това и да поставите конфигурационните данни директно в кода.

Съхранявам конфигурационния файл на моя EasyIOT сървър, който има папка на easyIOT/html, където конфигурационният файл може лесно да бъде извлечен.

Файлът се нарича espConfig и е прост текстов файл, съхраняващ редица параметри (12) за всеки възможен Mac адрес. Модулът зарежда само зададените параметри за своя Mac адрес.

Пример от файла е

#Хол

#Mac адрес123456ABCDEF

#име на модул

esp8266-зала

#маска за режим на сървър (1 = сензор за температура, 4 = режим на котел, 4 = звънец на вратата)

9

#EIOT възел за температура

N9S0

#неизползван

-1

# минимален температурен интервал в секунди

60

#максимален температурен интервал в секунди

300

#интервал на мощност на котела

0

#EasyIOT захранващ възел на котела

-1

#EasyIOT възел за натискане на звънец

N10S0

# Стойност на известието на IFTTT

отпред

#IFTTT уведомява име на събитие

звънец на вратата

#action URL

192.168.0.2/snap.php

Всеки ред, започващ с #, се игнорира. Всички редове трябва да присъстват. -1 се използва, за да се игнорират параметрите.

Конфигурационният файл се чете при първото стартиране на модула. Може също да се презареди в работеща система (когато конфигурацията е променена) чрез достъп до ip/reloadConfig

Частта от режима на котела в конфигурацията не е от значение тук, но се използва в моите температурни сензори, прикрепени към изхода на централната отоплителна тръба, тъй като тя разпознава котелът се нагрява и може да изчисли средната консумация на енергия.

Стъпка 4: Известия

Когато се открие натискане на звънец на вратата, той се опитва да уведоми това чрез IFTTT или PushOver. Аз сега PushOver, тъй като той дава по -бързо repsonse.

За IFTTT имате нужда от акаунт и активирайте канала Maker WebHoooks. MakerKey от този канал трябва да бъде компилиран в кода.

Настройте действие IF, като използвате Maker WebHooks и използвайте име на събитие със същото име като в конфигурацията (например звънец на вратата). Действието ТОГАВА трябва да бъде известие от 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, на камера до вратата. Това отнема-j.webp

Използвам камери на базата на малинов Pi, които извършват тази операция много лесно. камера

Препоръчано: