Мазмуну:
- 1 -кадам: Аппараттык жана материалдар
- 2 -кадам: Программалык камсыздоо
- 3 -кадам: Конфигурация
- 4 -кадам: Билдирмелер
- 5 -кадам: EasyIOT Интеграциясы
- 6 -кадам: Башка Bell Push аракеттери
Video: Door Bell Push жана температура сенсору: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул 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 негизделген камераларды колдоном, бул эркек үчүн бул операция абдан оңой. камера
Сунушталууда:
Lcd жана үн аныктоо менен температура жана нымдуулук сенсору: 4 кадам
Lcd жана үн аныктоо менен температура жана нымдуулук сенсору: Салам балдар !!! Макул, бул долбоор менин акыркы жылдагы долбоорум болчу. Бул долбоордун максаты менин университетимдин семинарында бөлмө температурасын жана нымдуулугун көзөмөлдөө болчу, анткени кээ бир электрондук компоненттер жагымсыз температуранын жана аба ырайынын бузулушунан улам иштебей калган
MQ135 жана MQTT үстүндөгү тышкы температура жана нымдуулук сенсору бар аба сапатынын монитору: 4 кадам
MQ135 жана MQTT үстүндөгү тышкы температура жана нымдуулук сенсору бар аба сапатынын монитору: Бул сыноо максатында
Arduino Күн энергиясындагы температура жана нымдуулук сенсору 433mhz Орегон сенсору катары: 6 кадам
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: Бул күн менен иштеген температура жана нымдуулук сенсорунун курулушу. Сенсор 433mhz Oregon сенсорун туурайт жана Telldus Net шлюзунда көрүнөт. Эмне керек: 1x " 10-LED Күн энергиясынын кыймыл датчиги " Ebayден. 3.7В камыр деп жазылганын текшериңиз
ESP8266 NodeMCU кирүү чекити (AP) DT11 температура сенсору жана браузердеги басма температурасы жана нымдуулугу менен: 5 кадам
ESP8266 NodeMCU кирүү чекити (AP) DT11 температура сенсору жана браузердеги басуу температурасы жана нымдуулугу бар веб -сервер үчүн: Салам достор, биз ESP8266 колдонгон долбоорлордун көбүндө жана долбоорлордун көбүндө биз ESP8266ды веб -сервер катары колдонобуз, андыктан маалыматтарга жетүү үчүн wifi аркылуу каалаган түзмөк, ESP8266 тарабынан жайгаштырылган Webserverге кирүү менен, бирок бир гана көйгөй, биз үчүн жумушчу роутер керек
Температура жана нымдуулук сенсору Arduino жана Lcd дисплейи менен: 4 кадам
Температура жана нымдуулук сенсору Arduino жана Lcd дисплейи менен: Саламатсыздарбы балдар, Артуиного кайра кош келиңиздер. Сиз көргөндөй, мен InstructableToday программасын баштадым, биз температураны & DHT11 модулу менен нымдуулук өлчөгүч. Келгиле, баштайлы PS. Жазылууну жана видеону жактырууну карап көрүңүз