Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй эд ангиуд
- Алхам 2: Хэлхээ диаграм
- Алхам 3: Цахилгаан хэлхээг бий болгох
- Алхам 4: ESP-01-ийг анивчих
- Алхам 5: Туршилтын гүйлт
- Алхам 6: Мэдрэгчийг холбоно уу
- Алхам 7: Эцсийн мэдрэгч
Видео: MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэхүү зааварчилгаанд би wifi үер/усны мэдрэгчийг хамгийн бага зардлаар хэрхэн бүтээхийг танд үзүүлэх болно. Төсөл бүхэлдээ ebay болон одоо байгаа сэлбэг хэрэгслээс худалдаж авсан эд ангиудын хувьд надад 8 доллараас бага үнэтэй байдаг.
Энэхүү төсөлд бид ESP-01-ийг ашиглан ус байгаа эсэхийг илрүүлэхийн тулд Wifi болон MQTT үйлчлүүлэгчид өгөх бөгөөд орон нутгийн дохиоллыг хангахын тулд шууд холбогдсон чанга яригч/дуугаруулагчийг ашиглах болно.
Төслийн талаархи миний тусгай өргөдөл бол насосны эвдрэл гарсан тохиолдолд насосны худгийн доторх үер/усыг илрүүлэх явдал юм. 2 нээлттэй утаснаас ус илрэх үед энэ нь MQTT брокер руу мессеж илгээх болно. Дараа нь MQTT брокер энэ мэдээг NodeRED рүү дамжуулах болно. MQTT мессежийг хүлээн авмагц NodeRED нь Google -ийн олон гэрийн төхөөрөмжүүдэд зар илгээхээс гадна pushbullet -ээр гар утас/хөтөч рүү мессеж илгээх болно.
Мэдээжийн хэрэг, энэ төсөл нь гэрийн цахилгаан асаалттай байгаа тохиолдолд л хэрэгжих болно. Дараагийн зааварт би батерейны нөөц хэлхээг нэгтгэх болно. Гэхдээ хэрэв та цахилгаан хангамжийг миний хийсэн шиг хийвэл батерейгаа нөөцлөхийн тулд USB тэжээлийн банкаа залгаарай. Хэрэв танд нэгэн зэрэг цэнэглэж, нийлүүлэх боломжийг олгодог цахилгаан банк байгаа бол бүх зүйл бэлэн боллоо.
Би RaspberryPi ZeroW -ийг ашиглан Mosquitto MQTT сервер болон NodeRED -ийг байршуулдаг. Асуудалгүй бүтэн жил гаруй ажиллаж байна.
Ашигласан материал: 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) Бичил 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 цахилгаан хангамжийг хуучин 5V гар утасны цэнэглэгч ашиглан AMS1117 3.3VDC зохицуулагч ашиглан хийсэн. ESP-01 залгуурын хувьд би 8 зүү бүхий стандарт IC залгуурыг ашиглаж, эгнээний хоорондох зайг үүсгэдэг хуванцар гүүрүүдийг хайчилж, дараа нь 2 эгнээ нааж болно.
Миний зохион бүтээсэн схем бол хоёр утасны хооронд ус байгаа эсэхийг мэдрэх явдал юм. Ус нь хоёр утасны үзүүрт хүрэх үед ойролцоогоор 10 -аас 20 к ом хүртэл эсэргүүцэл үүсгэдэг. Дараа нь 10K ом R1-тэй цувралаар Q1-ийн сууринд бага хэмжээний гүйдэл өгч, Q1-ийг хангаж, GPIO-2-ийг газардуулна. Мэдрэгч утаснуудад санамсаргүй гэмтэл гарсан тохиолдолд R1 нь 1 -р улирлын хамгаалалтыг хангах шаардлагатай.
R2 бол ESP-01-ийг флашаас ачаалах боломжийг олгодог татах эсэргүүцэл юм.
Нэмэлт чанга яригч/дуугарагчийн хувьд, хэрэв танд MQTT-ийг ярихын тулд ESP-01 хэрэгтэй бөгөөд энэ түгшүүрийн дохиог хэрэгжүүлэхийг хүсэхгүй байгаа бол R2, Q2, Чанга яригчийг арилгаж, GPIO-0-ийн хооронд 10K татах эсэргүүцэл байрлуулж болно. болон VCC.
Хэрэв та эмэгтэй Micro-USB-ээс DIP адаптер ашиглах шаардлагагүй гэж үзвэл 5V PS-ийн хооронд 3.3V-ийн зохицуулагч модульд утас гагнах боломжтой. Би эмэгтэй MicroUSB адаптер ашиглахыг илүүд үздэг тул гар утасны ерөнхий цэнэглэгч болон MicroUSB кабелийг ашиглах боломжтой.
Алхам 3: Цахилгаан хэлхээг бий болгох
Өмнөх хуудсан дээрх схемийн дагуу бүх эд анги, эд ангиудыг ПХБ -д гагнаж, ПХБ -ийг хэмжээгээр нь хайчилж ав.
ПХБ -ийг ПХБ болон нэмэлт чанга яригчтай тохирох хашлага дотор байрлуулна. Миний хувьд бүх эд анги нь жижиг утасны гаралтын хайрцганд багтах боловч би ESP-01 модулийг тааруулахын тулд товчлуур үүсгэхийн тулд тагийг бага зэрэг халаах хэрэгтэй болно.
Алхам 4: ESP-01-ийг анивчих
Энэ алхамд бид ESP-01-ийг arduino ноорогоор анивчих болно. Хэрэв та 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 өөр хандалтын цэг байдаг бөгөөд энэ зураг нь одоогийн AP -тэй холбоо тасарсан тохиолдолд дараагийн SSID -тэй холболт хийх боломжийг олгодог. Хэрэв танд ганц SSID байгаа бол ssid1 болон ssid2 хоёуланг нь ижил утгатай бөглөнө үү.
Өөрчлөлт хийснийхээ дараа ноорогоо ESP-01 дээр байршуулж, ESP-01-ийг интерфэйсийн самбарт залгаарай.
Алхам 5: Туршилтын гүйлт
Манай төсөл ажиллаж байгаа эсэхийг шалгахын тулд сүлжээнд байгаа MQTT мессежийг хянах нь хамгийн хялбар байх болно. Үүнийг хийхийн тулд шумуул зуучлагч дээр SSH сесс нээж, дараах тушаалыг өгөх хэрэгтэй.
шумуулын_буур -v -t '#'
Дээрх тушаал нь брокерт ирж буй бүх MQTT мессежийг харах боломжийг бидэнд олгоно.
Одоо манай хэлхээг асаагаарай, хэрэв бүх зүйл ажиллавал хэдхэн секундын дотор та дор хаяж дараах MQTT мессежийг харах ёстой.
stat/SumpWaterSensor/LWT Онлайн
Усны мэдрэгчийг туршихын тулд 2 мэдрэгч утсыг нэг аяга усанд дүрээд дараах мессежийг харах болно.
теле/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 гэрийн чанга яригчдад зарлах болно. Нэмж дурдахад би өөрийн гар утсанд мэдэгдэл илгээхийн тулд урсгалыг түлхэх товчлууртай холбосон.
Мөн би мэдрэгчийн статусыг харахын тулд вэб урд хэсгийг бүтээсэн (офлайн/офлайн, ажлын цаг гэх мэт). Заримдаа энэ нь статистик мэдээллээс харахад 1 долоо хоногийн дотор хэд хэдэн удаа офлайн байх болно гэдгийг би харсан, ихэнх тохиолдолд ESP-01 нь wifi эсвэл MQTT-ээс салгагдсантай холбоотой байдаг. Гэхдээ санаа зоволтгүй, миний ноорог зураг нь ESP-01-ийг WIFI болон/эсвэл MQTT брокертой холбогдох оролдлого амжилтгүй болсон тохиолдолд дахин эхлүүлэх болно.
Энэ алхам дээрх зураг нь үүнийг хийхийн тулд Node-RED урсгалыг харуулж байна. Та мөн миний github хуудсан дээрх урсгалыг Node-RED дээрээ оруулах боломжтой:
Google -ийн гэрийн зар нь энэ төслийн зөвхөн нэг жишээ юм, гэхдээ энэ нь хамгийн ашигтай, практик гэж би бодож байна. Та бусад MQTT сонсогчтой үргэлж харьцах боломжтой, эсвэл IFTTT ашиглан ус илрэх үед бусад төхөөрөмжийг жолоодох боломжтой.
Сайхан амраарай…
Зөвлөмж болгож буй:
Мини зэгс мэдрэгч бүхий RaspberryPi 3 соронзон мэдрэгч: 6 алхам
Мини зэгс мэдрэгч бүхий RaspberryPi 3 соронзон мэдрэгч: Энэхүү зааварчилгаанд бид RaspberryPi 3. ашиглан IoT соронзон мэдрэгчийг бий болгоно. Мэдрэгч нь мини зэгс мэдрэгчээр соронз мэдрэгдэх үед хоёулаа асдаг LED ба дуугаралтаас бүрдэнэ
Хэт авианы мэдрэгч ба контактгүй температур мэдрэгч бүхий Arduino интерфейс: 8 алхам
Хэт авианы мэдрэгч ба контактгүй температур мэдрэгч бүхий Arduino интерфейс: Өнөө үед үйлдвэрлэгчид, хөгжүүлэгчид төслийн загварыг хурдан хөгжүүлэхийн тулд Arduino -г илүүд үздэг болсон. Arduino бол ашиглахад хялбар техник хангамж, програм хангамж дээр суурилсан нээлттэй эхийн электроникийн платформ юм. Arduino нь маш сайн хэрэглэгчийн нийгэмлэгтэй. Энэхүү төсөлд
DIY: Фокус хөдөлгөөнт мэдрэгч бүхий таазанд суурилуулсан мини мэдрэгч хайрцаг: 4 алхам
DIY: Фокус хөдөлгөөн мэдрэгч бүхий таазанд суурилуулсан мини мэдрэгч хайрцаг: Сайн байна уу. Хэсэг хугацааны өмнө би найздаа ухаалаг гэрийн үзэл баримтлалд тусалж, 40x65 мм хэмжээтэй нүхэнд таазанд суурилуулах боломжтой загвар бүхий мини мэдрэгч хайрцгийг бүтээсэн. Энэ хайрцаг нь: • гэрлийн эрч хүчийг хэмжих • чийглэгийг хэмжих
Гэрийн автоматжуулалт, WiFi болон ESP-NOW бүхий зайгаар ажилладаг хаалганы мэдрэгч: 5 алхам (зурагтай)
Гэрийн автоматжуулалт, WiFi болон ESP-NOW бүхий батерейгаар ажилладаг хаалганы мэдрэгч: Энэхүү зааварчилгаанд би гэрийн автоматжуулалтыг ашиглан зайгаар ажилладаг хаалганы мэдрэгчийг хэрхэн хийснийг танд үзүүлэх болно. Би өөр гоё мэдрэгч, дохиоллын системийг харсан ч өөрөө хиймээр санагдлаа. Миний зорилго: Дугийг илрүүлж, мэдээлдэг мэдрэгч
Хэт авианы мэдрэгч ба Funduino усны мэдрэгч ашиглан Arduino -ийн усны түвшинг тодорхойлох арга: 4 алхам
Хэт авианы мэдрэгч ба Funduino усны мэдрэгч ашиглан Arduino -ийн усны түвшинг тодорхойлох арга: Энэхүү төсөлд би хямд ус илрүүлэгчийг хоёр аргыг ашиглан хэрхэн бүтээхийг танд үзүүлэх болно: 1. Хэт авианы мэдрэгч (HC-SR04) .2. Funduino усны мэдрэгч