Мазмуну:

Door Bell Push жана температура сенсору: 6 кадам
Door Bell Push жана температура сенсору: 6 кадам

Video: Door Bell Push жана температура сенсору: 6 кадам

Video: Door Bell Push жана температура сенсору: 6 кадам
Video: Термопара Устройство Неисправности Лайфхаки по ремонту 2024, Ноябрь
Anonim
Эшик коңгуроосун басуу жана температура сенсору
Эшик коңгуроосун басуу жана температура сенсору

Бул esp-12F (esp8266) модулу менен стандарттуу катуу зымдуу эшик коңгуроосун жакшыртат.

Ал зымдардын өзгөрүүсүнө жол бербөө үчүн коңгуроо бирдигине орнотулат. Бул төмөнкү функцияларды камсыз кылат

  • Эшиктин коңгуроосунун басылганын аныктоо
  • IFTTT аркылуу телефонго билдирүүлөрдү жөнөтөт
  • EasyIOT серверинде эшик коңгуроосунун ишин сактайт (милдеттүү эмес)
  • Эшиктин коңгуроосу басылганда, URL аркылуу башка аракеттерди жандандырыңыз

    Мен эшиктин жанындагы веб -камеранын сүрөтүн тартып алам жана телефонумдагы акыркы эшиктин коңгуроосун көрө алам

  • Кошумча камтылган температура сенсору (DS18B20), бул менин үйүмдөгү температуранын мониторингинин бир бөлүгүн түзөт

1 -кадам: Аппараттык жана материалдар

Аппараттык жана материалдар
Аппараттык жана материалдар
Аппараттык жана материалдар
Аппараттык жана материалдар

Төмөнкү материалдар керек

  • ESP-12F (ESP8266) wifi / cpu модулу
  • 3.3V камсыздоо үчүн DC Бак конвертери
  • Түзөткүч диод (мис. 1N4001)
  • Электролиттик конденсатор 220uF 35V
  • Электролиттик конденсатор 220uF 16V
  • Zener диод 3.3 же 2.6V
  • Резисторлор
  • Тасма тактасынын бир бөлүгү
  • Зарыл болсо, туташтыргычтар
  • Керек болсо DS18B20 санарип температурасы сенсору

Схема колдонулган схеманы көрсөтөт. Бул аз чыңалуудагы AC кубаттагы коңгуроону болжолдойт, бул катуу зымдуу жөнөкөй bell. The коңгуроо бирдиги тышкы коңгуроо трансформаторунан энергия алат, адатта 10В AC. Бул өтө маанилүү эмес, бир гана чектөө Бак конвертерине максималдуу чыңалуу болуп саналат. Мен колдонгон MP2307 максималдуу 23V DC (~ 16V AC) киришине негизделген.

Адатта 3 активдүү терминал бар. Коңгуроо басуусу менен AC камсыздоонун бир тарабынан коңгуроо соленоидине туташуу. Модуль эки AC терминалын жөнөкөй жарым толкунду түздөгүч аркылуу DC кубатын өндүрүү үчүн колдонот. Коңгуроо баскычын сезүү чыныгы электромагниттеги чыңалууну көзөмөлдөө аркылуу болот. Бул нормалдуу түрдө болот, бирок коңгуроо иштетилгенде толук AC болот. Резистор / зенер диоду ушуну кыскартат, андыктан 0 - 3.3V 50 Гц импульс GPIO пинине киргизилет. Программалык камсыздоо муну коңгуроо басуу үчүн бир жолу иштетүүнү камсыз кылуу үчүн иштетет.

Мен схеманы бир аз тилкеде кургам жана бул кичине, коңгуроо бирдигине оңой батат. Мен орнотууну жеңилдетүү жана атайын AC камсыздоосуна ылайыктуу түрдө кошуу үчүн жөнөкөй секиргич туташтыргычтарды колдоном, керек болсо кубаттуулукту оңой эле калыбына келтире алат.

Схемада көрсөтүлгөндөй DS18B20 температура сенсору бар. Бул милдеттүү эмес. Мен аны үйүмдүн көпчүлүк жерлерин көзөмөлдөөчү тармактын бир бөлүгү катары колдоном. Эгерде камтылган болсо, анда сенсорду жергиликтүү жылытуу эффекттеринен бөлүп алуу үчүн бир нече сантиметр кабель менен кабелге салуу жакшы.

2 -кадам: Программалык камсыздоо

Эшикти басуу бирдиги githubда бар Arduino эскизин колдонот

Бул жергиликтүү шарттарга ылайыкташтырылып, андан кийин esp8266 Arduino чөйрөсүндө түзүлүшү керек. Төмөнкү китепканалар керек, алар стандарттуу же кошулушу мүмкүн.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • DNSServer
  • WiFiManager (кошумча колдонуу)
  • OneWire
  • DallasTemperature

Өзгөртүлө турган эскиздеги пункттар кирет

  • WifiManager колдонулбаса, жергиликтүү Wi -Fi кирүү чоо -жайы (ssid, сырсөз)
  • AP_AUTHID веб кирүү үчүн авторизация коду. Бул татыктуу узундугу үчүн жакшы. Ал тамгалык -сандык белгилерди камтышы мүмкүн.
  • камтылган OTA сырсөзү update_password
  • WifiManager сырсөзү WM_PASSWORD

    Wi -Fi WM_NAME боюнча комментарий берүү менен кол менен орнотулушу мүмкүн

  • IFTTT жаратуучу ачкычы (эскертүү кадамын караңыз)

Кошумча өзгөртүүлөр кирет

  • Doorbell детекторунун кирүү пини өзгөрүүдө
  • Температура сенсору үчүн пин алмаштыруу
  • Вебге кирүү портун демейки 80ден өзгөртүү

Бул аяктагандан кийин, адегенде кадимки сериялык жүктөө аркылуу түзүлүп, жүктөлүшү керек. Кийинки жаңыртуу Arduino чөйрөсүндө экспорттук экилик файлды түзүп, андан кийин OTA интерфейсине ip/firmware аркылуу кирүү аркылуу жасалышы мүмкүн.

Эшиктин коңгуроосун басуу программада детектордун схемасынан биринчи импульстун өсүп бараткан четин сезүү менен аныкталат. Кийинки бардык үзгүлтүктөр эске алынбайт. 10 секундга коюлган BELL_MIN_INTERVALдан кийин детекторду кайра иштетүү үчүн күтүү убактысы колдонулат.

Башка иштерге esp8266 веб -серверинде кирүүгө болот

  • ip/акыркы эшик коңгуроосунун активдүүлүгүн көрсөтөт
  • ip/reloadConfig espConfigту кайра жүктөйт
  • ip/bellPush коңгуроону басууну симуляциялайт

3 -кадам: Конфигурация

Курулганда, программа конфигурациясын жергиликтүү веб -серверден алат. Модуль Mac дарегине негизделген конфигурация маалыматын жүктөйт. Бул бир эле бинарды колдонуу менен бир нече модулду иштетүүнү абдан ыңгайлуу кылат, ошондой эле конфигурацияны кайра компиляция кылбастан жаңыртууну жеңилдетет. Муну өткөрүп жиберип, конфигурация маалыматын түз эле кодго салып койсо болмок.

Мен конфигурация файлын EasyIOT серверимде сактайм, анын папкасы easyIOT/htmlде, анда конфигурация файлы оңой алынат.

Файл espConfig деп аталат жана ар бир мүмкүн болгон Mac дареги үчүн бир катар параметрлерди (12) сактаган жөнөкөй текст файлы. Модуль Mac дарегине коюлган параметрлерди гана жүктөйт.

Файлдан мисал

#Холл

#Мак дареги123456ABCDEF

#модулдун аты

esp8266-зал

#server режиминин маскасы (1 = температура сезими, 4 = казан режими, 4 = эшиктин коңгуроосу)

9

Температура үчүн #EIOT түйүнү

N9S0

#колдонулбайт

-1

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

60

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

300

#казандын кубаттуулугу

0

#EasyIOT казандын кубат түйүнү

-1

#EasyIOT коңгуроосун басуу түйүнү

N10S0

# IFTTT мааниге кабар берет

алдыңкы

#IFTTT иш -чаранын атын кабарлайт

эшик коңгуроосу

#аракет URL

192.168.0.2/snap.php

# Менен башталган бардык саптар эске алынбайт. Бардык линиялар болушу керек. -1 эске алынбай турган параметрлер үчүн колдонулат.

Модул биринчи жолу ишке киргенде конфигурация файлы окулат. Ал ошондой эле иштеп жаткан системада (конфигурация өзгөртүлгөндө) ip/reloadConfig кирүү менен кайра жүктөлүшү мүмкүн.

Конфигурациянын отказан режиминин бөлүгү бул жерде тиешеси жок, бирок борбордук жылуулук түтүгүнө туташкан температура сенсорлорумда колдонулат, анткени ал откана жылытылып жаткандыгын аныктайт жана орточо керектөөнү эсептей алат.

4 -кадам: Билдирмелер

Качан эшиктин коңгуроосу басылганы аныкталса, ал бул тууралуу IFTTT же PushOver аркылуу кабарлоого аракет кылат. Мен азыр PushOver кылам, анткени ал тезирээк жооп берет.

IFTTT үчүн сизге каттоо эсеби керек жана Maker WebHoooks каналын иштетүү. Бул каналдагы MakerKey кодго топтолушу керек.

IF аракетин Maker WebHooks менен орнотуңуз жана конфигурациядагыдай аталыштагы окуяны колдонуңуз (мис. Эшиктин коңгуроосу). THEN иш IFTTT билдирүүсү болушу керек. Сиз конфигурация файлында турган эскертмеге value1 кошо аласыз. Эгерде сизде 2 же андан көп детектор болсо, бул пайдалуу болушу мүмкүн.

Сиз телефонуңузга IFTTT тиркемесин орнотушуңуз керек, анан эшиктин коңгуроосу басылган сайын эскертмелер пайда болот.

PushOver үчүн сизге PushOver эсеби керек жана API эскертмелерин алуу үчүн нускамаларды аткарыңыз. PushOver эсебиңиздеги баалуулуктар менен программада NOTIFICATION_APP жана NOTIFICATION_USER белгилерин орнотушуңуз керек.

Телефонуңузга PushOver тиркемесин орнотуп, эскертмелерди алуу үчүн жөнөкөй бир жолку төлөм төлөшүңүз керек. Бул менин көз карашымда алда канча тезирээк жооп алуу үчүн татыктуу.

5 -кадам: EasyIOT Интеграциясы

Программа температураны жана Doorbell түрүндөгү отчетторду EasyIOT серверине жөнөтө алат. EasyIOT автоматташтыруу бул отчеттун негизинде кошумча иш -аракеттерди жасоо үчүн колдонулушу мүмкүн.

EasyIOT серверин орнотуңуз (мисалы, Raspberry Piде). Esp8266 программасына ip дарегин жана колдонуучунун сырсөзүн конфигурациялап, түзүңүз.

Эми EASYIOT конфигурациясында виртуалдык драйверди кошуңуз. Температура аналогдук киргизүүнү тандап, EasyIOT түйүнүнүн аталышына көңүл буруңуз. Бул espConfig файлынын температура түйүнүнүн аталыш бөлүгүнө киргизилиши керек.

Экинчи виртуалдык драйверди кошуңуз. Door санариптик кирүүнү тандап, түйүндүн атына көңүл буруңуз жана espConfig файлына киргизиңиз.

6 -кадам: Башка Bell Push аракеттери

Программанын actionBellOn деп аталган тартиби бар. Жазылгандай, бул 3 нерсени кыла алат

  • IFTTT кабарлоо
  • EasyIOT отчету
  • Аракеттин URLин аткарыңыз

URL башка веб -серверлерден башка аракеттерди баштоо үчүн колдонулушу мүмкүн. Колдонулган URL espConfig файлында.

URL дареги тастыкталган болсо, анда колдонуучу аты менен сырсөздү конфигурациялап, кодго чогултуу керек.

Мен муну эшиктин жанындагы камерада snap.php деп аталган URLге кирүү үчүн колдоном. Бул коңгуроо басылганда-j.webp

Мен малина Pi негизделген камераларды колдоном, бул эркек үчүн бул операция абдан оңой. камера

Сунушталууда: