Агуулгын хүснэгт:

MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч: 7 алхам
MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч: 7 алхам

Видео: MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч: 7 алхам

Видео: MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч: 7 алхам
Видео: Send Data to Google Spread Sheet using ESP32 | IoT Projects | IoT Training | JLCPCB 2024, Арваннэгдүгээр
Anonim
MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч
MQTT/Google гэрийн үер/ESP-01 бүхий усны WIFI мэдрэгч

Энэхүү зааварчилгаанд би 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 ашиглан ус илрэх үед бусад төхөөрөмжийг жолоодох боломжтой.

Сайхан амраарай…

Зөвлөмж болгож буй: