Мазмуну:
- 1 -кадам: Сизге керектүү бөлүктөр
- 2 -кадам: Райондук диаграмма
- 3 -кадам: Районду куруу
- 4-кадам: ESP-01дин жарыгы
- 5 -кадам: Test Run
- 6 -кадам: сенсорду орнотуңуз
- 7 -кадам: Final Touch
Video: MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Бул көрсөтмөдө мен сизге wifi сел/суу сенсорун минималдуу чыгым менен кантип курууну көрсөтөм. Бүт проект мага ebayдан сатып алган тетиктериме жана учурдагы тетиктериме 8 доллардан азыраак турат.
Бул долбоордо биз WSP жана 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) 5V жалпы электр менен камсыздоо (бул схема 300мАдан аз токту талап кылат)
(1) 3.3V жөнгө салуучу модуль AMS1117
(1) Micro-USB үчүн DIP адаптер аял Connector PCB Converter DIY Kit
(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 катарды жабыштырам.
Мен ойлоп тапкан схема эки зымдын ортосунда суунун бар экенин сезүү. Суу эки зымдын учуна жеткенде, болжол менен 10Kтан 20K Омго чейин каршылык жаратат. Андан кийин 10K ohm R1 менен катар, Q1дин базасына кичине ток берет, Q1дин каныкуусуна алып келет, GPIO-2ди жерге кысып. R1 сезгич зымдар кокусунан кыска болуп калса, Q1ге коргоону камсыз кылуу үчүн керек.
R2-бул ESP-01дин жаркылдоодон жүктөлүшүнө уруксат берүүчү каршылык.
Эми кошумча спикер/сигнал үчүн, эгер сизге MQTT сүйлөө үчүн ESP-01 керек болсо жана бул локалдаштырылган сигнализацияны колдонууну каалабасаңыз, R2, Q2, Динамикти алып салып, GPIO-0нун ортосуна 10K тартма каршылыгын коюңуз. жана VCC.
Эгерде сиз DIP адаптерине аял Micro-USB колдонуунун зарылдыгы жок болсо, 5V 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 -кадам: Test Run
Биздин долбоор иштээрин текшерүү үчүн, тармакта MQTT билдирүүлөрүн көзөмөлдөө эң оңой болмок. Бул үчүн, чиркей брокерине SSH сессиясын ачып, төмөнкү буйрукту беришиңиз керек:
mosquitto_sub -v -t '#'
Жогорудагы буйрук брокерге келген бардык MQTT билдирүүлөрүн көрүүгө мүмкүнчүлүк берет.
Эми биздин схеманы күйгүзүңүз, эгерде баары иштесе, бир нече секунддан кийин сиз жок дегенде төмөнкү MQTT билдирүүсүн көрүшүңүз керек:
stat/SumpWaterSensor/LWT Online
Эми суу сенсорун 2 сезгич зымды бир чөйчөк сууга малып текшериңиз жана сиз бул билдирүүнү көрүшүңүз керек:
tele/SumpWaterSensor WET
Эгерде сиз зымдарды суудан алып салсаңыз, анда бул билдирүүнү көрүшүңүз керек:
tele/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 -кадам: Final Touch
Эми бизде долбоор иштеп жатат жана MQTT билдирүүсүн брокерге жарыялай алдык, кийинки кадам - бул менен эмне кылуу керек экенин ойлонуу.
Менин долбоорумда, мен "tele/SumpWaterSensor" MQTT темасын угуу/жазылуу жана суу табылса, бир нече Google үй динамиктерине жарыялоо үчүн Node-RED колдоном. Мындан тышкары, мен андроид телефонума билдирүү жөнөтүү үчүн агымды pushbullet түйүнү менен байланыштырдым.
Мен ошондой эле сенсордун абалын көрүү үчүн веб-фронтту түздүм (күйүк/оффлайн, иштөө убактысы ж. Б.). Кээде мен 1 жуманын ичинде оффлайнда бир нече жолу, статистикадан, көп учурда ESP-01дин wifiдан же MQTTден ажыратылганына байланыштуу болгонун көрдүм. Бирок, өтө тынчсызданбаңыз, менин эскизимде ESP-01ди кайра баштоо тартиби камтылган, эгерде ал WIFI жана/же MQTT брокерине туташууга аракет кыла бербесе.
Бул кадамдагы сүрөт муну аткаруу үчүн Node-RED агымын көрсөтөт. Сиз ошондой эле менин github баракчамдагы агымды Node-REDге чаптай аласыз:
Google үйүнүн кулактандыруусу бул долбоордун бир гана мисалы, бирок бул эң пайдалуу жана практикалык деп ойлойм. Сиз ар дайым башка MQTT угуучусу менен интерфейс түзө аласыз, же IFTTT аркылуу башка түзмөктөрдү суу аныкталганда айдай аласыз.
Көңүл ачуу…
Сунушталууда:
Esp 8266 Esp-01 менен Arduino IDE менен баштоо - Esp такталарын Arduino Ideде орнотуу жана Esp программалоо: 4 кадам
Esp 8266 Esp-01 менен Arduino IDE менен баштоо | Эсеп такталарын Arduino Ideде орнотуу жана программалоо Esp: Бул көрсөтмөлөрдө биз esp8266 такталарын Arduino IDEде кантип орнотууну жана esp-01ди кантип программалоону жана ага кодду жүктөөнү үйрөнөбүз. бул жана адамдардын көбү көйгөйгө туш болушат
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 кадам
Sonoff B1 Firmware Home Automation Openhab Google Home: Мага Sonoff өчүргүчтөрү үчүн Tasmota программасы абдан жагат. Бирок менин Sonoff-B1деги Tasmota программасы чынында бактылуу болгон жок. Мен аны Openhab'име киргизип, Google Home аркылуу башкара алган жокмун, ошондуктан мен өз фирмамды жаздым
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 кадам
ESP-NOW Үйдү Автоматташтыруу Esp8266 Raspberry Pi MQTT: Бул Нускамада мен сизге ESP-NOWди үйдөгү автоматташтырууда кантип колдонгонумду көрсөтөм. Схемада сиз байланыш агымын көрө аласызМен сизге көрсөтөм: жөнөтүүчү устакана алуучу устакананын Raspberry Pi менен сериялык байланышты кантип көрсөтөрүн мен көрсөтпөйм
MQTT/Google Home DoorBell ESP-01ди колдонуу: 6 кадам
MQTT/Google Home DoorBell ESP-01ди колдонуп: Сиз эшиктин коңгуроосунун үнүн уга албай турган үйдүн бир бөлүгүндө болгонуңуз үчүн эле сиздин коңгуроону баскан конокко жооп берүүнү сагындыңыз беле? мисалы, жер төлө, жабык эшик уктоочу бөлмө, же, балким, сиз сыналгы көрүп же музыка угуп жаткандырсыз
Суу деңгээлин аныктоо ыкмалары Arduino Ultrasonic Sensor and Funduino Water Sensor колдонуу: 4 кадам
УЗИ сенсорунун жана Funduino суу сенсорунун жардамы менен Arduino суусунун деңгээлин аныктоо ыкмалары: Бул долбоордо мен эки ыкманы колдонуу менен арзан суу детекторун кантип түзөөрүңүздү көрсөтөм: 1. УЗИ сенсор (HC-SR04) .2. Funduino суу сенсору