Мазмұны:

MQTT/Google Home Flood/ESP-01: 7 қадамдары бар WIFI су сенсоры
MQTT/Google Home Flood/ESP-01: 7 қадамдары бар WIFI су сенсоры

Бейне: MQTT/Google Home Flood/ESP-01: 7 қадамдары бар WIFI су сенсоры

Бейне: MQTT/Google Home Flood/ESP-01: 7 қадамдары бар WIFI су сенсоры
Бейне: ESP-01 window tilt / open sensor 2024, Қараша
Anonim
MQTT/Google Home Flood/ESP-01 бар WIFI су сенсоры
MQTT/Google Home Flood/ESP-01 бар WIFI су сенсоры

Бұл нұсқаулықта мен сізге Wi -Fi тасқынының/су сенсорын минималды шығынмен қалай салу керектігін көрсетемін. Бүкіл жоба ebay мен сатып алатын бөлшектер үшін менде бар қосалқы бөлшектер үшін 8 доллардан аз тұрады.

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

Жобаға менің нақты өтінішім - сорғы ұңғымасының ішіндегі су тасқыны/суды, егер сорғы істен шыққан жағдайда. Егер су 2 ашық сым арқылы анықталса, ол MQTT брокеріне хабарлама жібереді. Содан кейін MQTT брокері хабарды NodeRED -ке жібереді. MQTT хабарламасын алғаннан кейін NodeRED бірнеше Google үй құрылғыларына хабарландыру жібереді, сонымен қатар ұялы телефонға/шолғышқа pushbullet арқылы хабарлама жібереді.

Әрине, бұл жоба үйде электр қуаты қосылған кезде ғана жұмыс істейді. Келесі нұсқаулықта мен батареяның резервтік тізбегін біріктіремін. Бірақ егер сіз қуат көзін мен сияқты жасасаңыз, батареяның резервтік көшірмесі үшін USB қуат банкін қосуға болады. Егер сізде қуатты бір уақытта зарядтауға және жеткізуге мүмкіндік беретін қуат банкі болса, онда бәрі дайын.

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

Пайдаланылған әдебиеттер: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Raspberry Pi-де NodeRED орнатыңыз:

1 -қадам: Сізге қажет бөлшектер

Сізге қажет бөлшектер
Сізге қажет бөлшектер
Сізге қажет бөлшектер
Сізге қажет бөлшектер
Сізге қажет бөлшектер
Сізге қажет бөлшектер

Бөлшектер тізімі:

(1) ESP-01

(2) 10K Ом резисторы

(1) шағын сигналдық жалпы NPN транзисторы (мен 2N3904 қолдандым)

(2) ұзын сымдар

(1) 5В жалпы қуат көзі (бұл тізбек 300 мА -дан аз токты қажет етеді)

(1) 3.3V реттегіш модулі AMS1117

(1) Micro-USB DIP адаптерінің әйел коннекторы ПХД түрлендіргіші DIY жиынтығы

(1) USB-A-MicroUSB кабелі.

(1) 8 істікшелі IC розеткасы-егер сіз ESP-01 тізбегіне тікелей дәнекерлегіңіз келсе, өткізіп жіберуге болады. Жолдар арасындағы алшақтықты тудыратын пластикалық көпірлерді кесіңіз, содан кейін 2 қатарды жабыстырыңыз, суретті қараңыз.

(1) Жоба үшін шағын қоршау

Төменде сізге динамик/дыбыстық сигнал арқылы жергілікті дабыл қажет болса, қосымша бөлшектер берілген

(1) Жалпы PNP транзисторы, дауыс зорайтқыш/дыбыстық сигнал/қуат қажеттілігіне сәйкес таңдаңыз. Менің жағдайда мен 2N2907 қолданамын, себебі динамигім 0,3 Вт (8 Ом), ол динамикті басқаруға жеткілікті қуат береді. Егер сіз қатты дыбыс алғыңыз келсе, үлкен транзистор мен динамикті таңдай аласыз.

(1) Динамик, жоғарыдағы PNP транзисторы туралы жазбаны қараңыз

(1) 100 - 110 Ом резисторы

2 -қадам: схема

Схема диаграммасы
Схема диаграммасы

Бірінші қадам диаграммада көрсетілген тізбекті құру болады.

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

Мен жасаған схема екі сымның арасында судың болуын сезіну. Су екі сымның ұшына жеткенде, ол шамамен 10К -тан 20К Ом -ға дейін кедергі жасайды. Содан кейін 10K Ом R1 сериясында ол Q1 негізіне кіші ток береді, бұл Q1 қанықтырады, GPIO-2-ны жерге тұйықтайды. R1 сезгіш сымдардың кездейсоқ тұйықталуы кезінде Q1 қорғанысын қамтамасыз ету үшін қажет.

R2-ESP-01 жарқылынан жүктеуге мүмкіндік беретін тартқыш резистор.

Енді қосымша динамик/дыбыстық сигнал үшін, егер сізге MQTT сөйлеу үшін ESP-01 қажет болса және бұл дабылды қолданғыңыз келмесе, сіз R2, Q2, Динамикті алып тастай аласыз және GPIO-0 арасына 10K тартқыш резисторды орналастыра аласыз. және VCC.

Егер сіз әйелге арналған Micro-USB-DIP адаптерін қолданудың қажеті жоқ деп ойласаңыз, сымдарды 5В PS арасындағы 3.3V реттегіш модуліне жалғауға болады. Мен әйелдердің MicroUSB адаптерін қолданғанды жөн көремін, сондықтан кез келген ұялы телефонды зарядтағыш пен MicroUSB кабелін қолдана аламын.

3 -қадам: Схеманы құру

Циклды құру
Циклды құру
Циклды құру
Циклды құру
Циклды құру
Циклды құру

Алдыңғы беттегі схемаға сәйкес барлық компоненттер мен бөлшектерді ПХД -ге дәнекерлеңіз және ПХД мөлшеріне қарай кесіңіз.

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

4-қадам: 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 интерфейс тақтасына қосыңыз.

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

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

mosquitto_sub -v -t '#'

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

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

stat/SumpWaterSensor/LWT Online

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

теле/SumpWaterSensor WET

Егер сіз сымдарды судан алып тастасаңыз, сіз мына хабарды көресіз:

теле/SumpWaterSensor DRY

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

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

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

«cmnd/SumpWaterSensorInfo»: ESP-01 егер бұл тақырыпты '1' мәнімен алса, ақпарат жібереді (ascii = 49)

«cmnd/SumpWaterSensorCPUrestart»: ESP-01 бұл тақырыпты '1' мәнімен алса, қайта қосылады (ascii = 49)

«cmnd/SumpWaterSensorBeep»: ESP-01 динамикті дыбыс шығарады, егер ол осы тақырыпты '1' мәнімен алса (ascii = 49)

«cmnd/SumpWaterSensorBeepFreq»: динамик сигналының жиілігін орнатады, әдепкі = 900 (Гц)

«cmnd/SumpWaterSensorDebug»: Сериялық отладтау деңгейін қосыңыз және орнатыңыз (әдепкі - 0 - отладтау жоқ)

6 -қадам: сенсорды орнатыңыз

Сенсорды орнатыңыз
Сенсорды орнатыңыз
Сенсорды орнатыңыз
Сенсорды орнатыңыз

Өтініште мен сорғы ұңғымасының ішіндегі су деңгейін бақылап, су сорғыштың қалқымалы қосқышының үстінен су жетсе, маған хабарлағым келеді, бұл менің сорғы жұмыс істемейді. Мен сымдарды өткіздім және оны су төгетін құбыр бойымен бекіту үшін сым байланыстарын қолдандым.

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

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

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

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

Мен сенсордың күйін көру үшін веб-интерфейс жасадым (қосулы/офлайн, жұмыс уақыты және т. Кейде мен бұл статистикадан 1 апта ішінде бірнеше рет офлайн болатынын көрдім, көбінесе бұл ESP-01-дің Wi-Fi немесе MQTT-тен ажыратылуына байланысты. Бірақ уайымдамаңыз, менің эскизімде WIFI және/немесе MQTT брокеріне қосылу әрекеті сәтсіз болса, ESP-01 қайта іске қосу тәртібі бар.

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

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

Масайрау…

Ұсынылған: