Мазмұны:

MQTT/Google үйінің есік қоңырауы ESP-01 көмегімен: 6 қадам
MQTT/Google үйінің есік қоңырауы ESP-01 көмегімен: 6 қадам

Бейне: MQTT/Google үйінің есік қоңырауы ESP-01 көмегімен: 6 қадам

Бейне: MQTT/Google үйінің есік қоңырауы ESP-01 көмегімен: 6 қадам
Бейне: Google Cloud based IoT system with MQTT - [TUTORIAL 1] 2024, Қараша
Anonim
MQTT/Google Home Door Bell ESP-01 көмегімен
MQTT/Google Home Door Bell ESP-01 көмегімен

Есіктің қоңырауын естімейтін үйдің бір бөлігінде болғандықтан, сіздің қоңырауыңызды басқан қонаққа жауап беруді сағындыңыз ба? мысалы, жертөле, жабық жатын бөлме, немесе сіз теледидар көріп немесе музыка тыңдап отырған шығарсыз.

Егер мен сияқты, сіздің үйіңізде бірнеше жерде бір немесе бірнеше Google үй динамиктері болса, бұл сізге қажет болуы мүмкін.

Бұл нұсқаулықта мен MQTT брокеріне NodeRED көмегімен google home / pushbullet хабарландыруымен хабарласу үшін бар есік қоңырауына MQTT клиентін қалай қосуға болатынын көрсетемін. Бұл жоба есік қоңырауының сөндіргішін де, қоңырауды да алмастырмайды. Ол әлі күнге дейін есік қоңырауы үшін тұрақты механикалық түймешікті қолданады.

Біз ESP-01 модулін MQTT брокеріне хабар жіберу үшін MQTT функциясын қосатын 16VAC есік қоңырауының бар жүйесіне қосамыз (қоңырау қосқышы басылғанда). MQTT брокері хабарды NodeRED -ке жібереді. MQTT хабарламасын алғаннан кейін NodeRED бірнеше Google үй құрылғыларына хабарландыру жібереді, сонымен қатар ұялы телефонға/шолғышқа pushbullet арқылы хабар жібереді.

Менде үйді автоматтандыруға деген құмарлық бар, мен ақырын үйге IOT қосамын. Google үйі менің үйімді автоматтандырудағы басты функцияның бірі болды.

Менің ұлым бұл жобаның идеясын берді, егер ол біреу біздің қоңырау соғылған сайын google -ге хабарлауға бола ма деп сұрады. Бізде 2 қабатты + үйдің жертөлесі бар, және біз есік жабық немесе теледидар бар жатын бөлмеде, жертөледе немесе жоғарғы қабатта болғанда, біз жиі дыбысты естімедік.

Біздің үйде әр түрлі жерлерде/бөлмелерде орналасқан 4 Google home mini бар, және Google үйінің көмегімен қоңырауды жариялай отырып, үйдің кез келген жерінде біреу қоңырау соғатынын білеміз.

Мен өз үйімде Mosquitto MQTT сервері мен NodeRED орналастыру үшін RaspberryPi ZeroW қолданамын. Ол бір жылдан астам жұмыс істейді.

Әдебиеттер:

  • Есік қоңырауының қосылу схемалары:
  • Raspberry Pi-де Mosquitto MQTT брокерін орнатыңыз:
  • NodeRED -ті Raspberry Pi -ге орнатыңыз:

1-қадам: ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз

ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз
ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз
ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз
ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз
ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз
ESP-01 интерфейсінің тізбегін және есік сигналын жасаңыз

Бірінші қадам-ESP-01 мен Door Chime арасындағы интерфейс болатын схеманы құру. Менің бірінші фотосуретте көрсетілгендей «TRANS (бұрынғы)» мен «FRONT/REAR» түйреуіштері арасында 16ВА болғанда есіктің әдеттегі үні қосылады. Есік қоңырауы түймесі басылған кезде кернеу осы түйреуіштерде болады.

Мен жасаған схема - бұл 16VAC сигналын сезіну және оны шамамен 3.3VDC цифрлық сигналына түрлендіру. Бұл D1 және C1 түзілген негізгі жартылай толқынды түзеткіш. Бізге бұл жағдайда толық толқынды түзеткіштің қажеті жоқ, өйткені тұрақты ток шығысына жүктеме өте аз, бізді жылжымалы мүлікті бортта үнемдейді. Мен тақтаны мүмкіндігінше аз етіп жасағым келеді, сонда мен оны қоңыраудың ішіне орналастыра аламын.

R1 және R2 тұрақты кернеуді 3,3В шамасына дейін төмендету үшін кернеу бөлгішін құрайды.

R3, TR1 және R4 ESP-01 GPIO-2 үшін кері логиканы қамтамасыз ету үшін инвертор құрайды. Бұл жүктеу кезінде жоғары логиканы қамтамасыз ету үшін қажет (R4 және R5 тартылуымен) ESP-01 жарқылдан жүктелуі үшін. Есік қоңырауының түймесі басылғанда, ол LIO логикасын GPIO-2. TR1-ге береді, кез келген шағын қуатты NPN транзисторы болуы мүмкін, менің жағдайда мен 2N3904 қолдандым.

V1 - бұл 3.3VDC қуат көзі, мен оны келесі қадамда көрсететін AMS1117 3.3VDC реттегішімен бірге ескі 5В ұялы телефон зарядтағышының көмегімен жасадым.

ESP-01 ұясы үшін мен 8 істікшелі стандартты IC розеткасын қолданамын, және пластикалық көпірлерді кесіп, жолдар арасындағы саңылауды құрып, содан кейін 2 қатарды жабыстырамын.

2-қадам: ESP-01 үшін 3.3VDC қуат көзі

3.3 ESP-01 үшін кернеулі ток көзі
3.3 ESP-01 үшін кернеулі ток көзі
3.3 ESP-01 үшін кернеулі ток көзі
3.3 ESP-01 үшін кернеулі ток көзі
3.3 ESP-01 үшін кернеулі ток көзі
3.3 ESP-01 үшін кернеулі ток көзі

Бұл қадамда біз ESP-01 үшін 3.3VDC қуат көзін саламыз. Менде бірнеше ескі 500mA және 700mA 5VDC USB зарядтау адаптері бар, мен оны осы жобаға қайта тағайындадым. 5 В кернеуін 3,3 В дейін төмендету үшін бізге 3.3VDC реттегіші қажет, ол үшін мен ebay-дан сатып алған AMS1117 негізіндегі арзан алдын ала құрастырылған модульді қолданамын. Сіз «3.3V AMS1117 модулін» іздей аласыз және сізге сәйкес келетінін таба аласыз.

Бұл 3,3В реттегіш модулі өте кішкентай, мен оны 5В USB зарядтау құрылғысының түпнұсқалық корпусына толтыра аламын, бұл оны қысқа тұйықталудан қауіпсіз етеді. Мен зарядтағыш модулінен айнымалы ток түйіспелерін алып тастадым және оны қазіргі қоңыраудың артындағы қабырғадан 120ВС қосылатын екі кабельмен алмастырдым. Бірақ келесі қадамда сынақтан өтпейінше, бұл қадамдағы ілмектерді алып тастамаңыз.

Егер жақын жерде қабырғадағы розетка болса немесе электрмен жабдықтауды үй сымдарына тікелей жалғау сізге ыңғайсыз болса, сіз өз қалауыңыз бойынша өзгертілген қуат көзін қабырғадағы штепсельдік розеткаға қосып, кабельді қоңырауға қосуға болады. оны үй сымдарына тікелей қосу сияқты таза көрінбеуі мүмкін.

Менің қоңыраудың артында 120ВА сымдары мен қоңырауға арналған 16ВAC трансформаторы тұрғанын көру үшін менің фотосуреттерімнің бірін қараңыз.

3.3В реттегіштен шығыс алдыңғы қадамға сәйкес ESP-01 интерфейс тақтасына қосылады.

3-қадам: ESP-01 жыпылықтауы

Бұл қадамда біз ESP-01 ардуино эскизімен жыпылықтаймыз. Егер сіз ESP-01 модулін ешқашан жыпылықтатпаған болсаңыз, бастау үшін менің нұсқаулықты орындауға болады:

Сіз менің эскизімді github парағынан таба аласыз:

Эскизде үй желісі/қондырғыға қатысты келесі ақпаратты өзгерту қажет:

#define MQTT_SERVER «10.0.0.30» const char* ssid1 = «SSID»; const char* password1 = «MYSSIDpassword»; const char* ssid2 = «SSID1»; const char* password2 = «MYSSIDpassword»;

Менің үй желісінде менде 2 түрлі SSID тарататын 2 түрлі кіру нүктесі бар, және бұл эскиз ағымдағы кіру нүктесімен байланыс үзілген жағдайда келесі SSID -ке қосылу арқылы қысқартуға мүмкіндік береді. Егер сізде тек бір SSID болса, ssid1 мен ssid2 екеуін бірдей мәнмен толтырыңыз.

Өзгертулер енгізілгеннен кейін, эскизді ESP-01-ге жүктеп, ESP-01 интерфейс тақтасына қосыңыз.

4 -қадам: Тест жүгіру

Тест жүгіру
Тест жүгіру
Тест жүгіру
Тест жүгіру
Тест жүгіру
Тест жүгіру

1-қадамнан бастап біз ESP-01 интерфейс тақтасын құрдық, ал 2-қадамнан бастап ESP-01 тақтасы үшін 3,3В қуат көзі бар. Енді біз қуат көзінің шығысын V1 түрінде көрсетілген схемаға сәйкес тақтаға қосамыз.

Енді келесі қадам - Trans/Door дыбыстық терминалдарын «Door Chime Terminals» ретінде көрсетілген интерфейс тақтасының қосылымдарына қосу. Менің қоңырауым қабырғаға жоғары орнатылғандықтан, тестілеу үшін мен қорек көзін қосу үшін қоңырау терминалдарынан тақтаға ұзын кабельді уақытша өткіземін.

Біздің қарама -қайшылық жұмыс істейтінін тексеру үшін желідегі MQTT хабарламаларын бақылау оңай болады. Ол үшін москит брокеріне SSH сеансын ашып, келесі пәрменді беру қажет:

mosquitto_sub -v -t '#'

Жоғарыдағы пәрмен брокерге келетін барлық MQTT хабарламаларын көруге мүмкіндік береді.

Енді қуат көзін розеткаға қосыңыз, егер бәрі жұмыс істесе, бірнеше секунд ішінде сіз кем дегенде келесі MQTT хабарламасын көресіз:

stat/DoorBell/LWT Online

Енді сыртқа шығып, есік қоңырауын соғыңыз, сіз мына хабарды көресіз:

теле/есік қоңырауы қосулы

Егер сіз бұл хабарларды көрсеңіз, сіздің жобаңыз сәтті болады.

Мен эскизге MQTT -тің бірнеше пайдалы тақырыптарын қостым, олар:

«stat/DoorBellInfo»: бұл хабар жұмыс уақыты мен басқа ақпаратты қамтамасыз ету үшін әр минут сайын жіберіледі.

«cmnd/DoorBellInfo»: ESP-01 бұл тақырыпты '1' (ascii = 49) «cmnd/DoorBellCPUrestart» мәнімен алса, ақпаратты жібереді: ESP-01, егер бұл тақырыпты '1 мәнімен алса, қайта қосылады. '(ascii = 49) «cmnd/DoorBellCPUreset»: ESP-01 егер бұл тақырыпты' 1 'мәнімен алса, бастапқы күйіне қайтарылады (ascii = 49)

«tele/FrontDoorBell»: ESP-01 есік қоңырауы басылса, «ON» мәнімен осы тақырыпта хабарлама жібереді.

5 -қадам: тақта мен қуат көзін қоңырауға қосу

Тақта мен электрмен жабдықтауды қоңырауға қосу
Тақта мен электрмен жабдықтауды қоңырауға қосу
Тақта мен электрмен жабдықтауды қоңырауға қосу
Тақта мен электрмен жабдықтауды қоңырауға қосу
Тақта мен электрмен жабдықтауды қоңырауға қосу
Тақта мен электрмен жабдықтауды қоңырауға қосу

Енді бізде сынақ сәтті аяқталды, біз тақта мен қуат көзін қоңырау үнінің ішіне жинауымыз керек (мүмкін болса). Менің қазіргі қоңырауымда бос қоршау бар, мен оны ашып, қуат көзін сол кеңістікке сыйғыза алдым. ESP-01 тақтасы бұл кішкене кеңістікке сыймайды, бірақ бәрібір жалпы қоңырау қорабына сәйкес келеді. Мен жай ғана ESP-01 интерфейс тақтасын орнату үшін екі жақты қалың таспаны қолдандым.

Енді біз USB зарядтағышынан металл шанышқыларды алып тастай аламыз және оларды үй сымдарына қосуға болатын қалың кабельмен алмастыра аламыз. Сигнал тізбегіне электр энергиясын беретін сөндіргішті міндетті түрде өшіріңіз.

Егер біздің жобаны есіктің қоңырауына сыйдыру үшін орын жеткіліксіз болса, оны бөлек қорапқа салып, есік жақтауына жақын орнату керек.

6 -қадам: Соңғы сенсор

Соңғы түрту
Соңғы түрту

Енді бізде жоба жұмыс істеп, MQTT хабарламасын брокерге жариялай алатын болсақ, келесі қадам - онымен не істеу керектігін ойластыру.

Мен өз жобамда MQTT есік қоңырауының тақырыбын тыңдау/жазылу және бірнеше Google үй динамиктеріне хабарлау үшін Node-RED қолданамын. Бұған қоса, мен ағынды Android телефоныма хабарландыру жіберу үшін түйінмен байланыстырдым, сондықтан мен үйде болмасам да біреу қоңырау соғатынын білемін. Pushbullet хабарландыруы кейбіреулер үшін пайдалы емес, бірақ мен үшін бірнеше рет пайдалы болды, менің кіреберісте бейнекамера бар, мен жеткізуді тастауға кім келгенін көре аламын (әдетте олар қоңырау соғылады). Мен әр түрлі кедергілердің, әсіресе ағаштардың көлеңкесінің қозғалуына байланысты камераның қозғалысты анықтау мүмкіндігіне көп сене алмаймын.

Бұл қадамдағы кескін мұны орындау үшін түйін-қызыл ағынды көрсетеді. Сіз сондай-ақ менің github бетіндегі ағынды Node-RED-ге қоюға болады:

Google үй хабарландыруы - бұл жобаның бір ғана мысалы, бірақ менің ойымша, бұл ең пайдалы және практикалық. Сіз әрқашан басқа MQTT тыңдаушысына кіре аласыз немесе тіпті басқа құрылғыларды есік қоңырауы басылған кезде басқару үшін IFTTT қолдана аласыз.

Масайрау…

Ұсынылған: