Përmbajtje:

Sensori i rrjedhjes së ujit në ESP8266 + Micropython + Domoticz: 16 hapa (me fotografi)
Sensori i rrjedhjes së ujit në ESP8266 + Micropython + Domoticz: 16 hapa (me fotografi)

Video: Sensori i rrjedhjes së ujit në ESP8266 + Micropython + Domoticz: 16 hapa (me fotografi)

Video: Sensori i rrjedhjes së ujit në ESP8266 + Micropython + Domoticz: 16 hapa (me fotografi)
Video: Rrjedhja e ujit në banjën e Kllokotit 2024, Korrik
Anonim
Sensori i Rrjedhjes së Ujit në ESP8266 + Micropython + Domoticz
Sensori i Rrjedhjes së Ujit në ESP8266 + Micropython + Domoticz
Sensori i Rrjedhjes së Ujit në ESP8266 + Micropython + Domoticz
Sensori i Rrjedhjes së Ujit në ESP8266 + Micropython + Domoticz

Disa kohë më parë, gruaja ime më kërkoi të bëja një sensor të rrjedhjes së ujit. Ajo kishte frikë se zorra në dhomën e bojlerit mund të rrjedhë dhe uji do të përmbytë dyshemenë prej druri të sapo shtruar. Dhe unë si një inxhinier i vërtetë ndërmora një sensor të tillë për të bërë.

Nga përvoja ime 15 vjeçare si inxhinier mjekësor, e di se mënyra më e lehtë për të zbuluar ujin janë kunjat metalikë të shkurtuar nga uji. Parimi i funksionimit të sensorëve më të thjeshtë është se uji duhet të shkurtojë dy (ose më shumë) kunja metalike, dhe sapo të ndodhë, fillon alarmi.

Hapi 1: Pajisje kompjuterike

Hardware
Hardware

Për këtë projekt na duhen:

1. Moduli ESP8266 - 01

2. HT7333 3.3V MS Low Dropout Linear Regulator Power Supply modu

Ne kemi nevojë për këtë modul për të zvogëluar tensionin nga bateria në nivelin e pranueshëm për ESP8266. Sipas fletës së të dhënave duhet të ketë hyrje nga 3V në 3.6V. Ky modul na jep 3.3V.

3. Bateria. Unë jam duke përdorur 3, 7V Li-ion 400mAh bateri. Në fakt ju mund të përdorni çdo burim tjetër të përshtatshëm të energjisë. Bateria 18650 është gjithashtu një zgjedhje e mirë. Kur zgjidhni një bateri, mbani në mend se ESP "ha" rreth 200mA sa lidhet me rrjetin WiFi, dhe rreth 60mA përdoret kur bordi po ngarkon të dhëna në server.

4. Tabela e ngarkimit të baterisë TP4056 Lipo.

5. Pololu mini pushbutton Power Switch Tabela shumë interesante e vogël. Na lejon të ndryshojmë modulin ESP vetëm kur zbulohet uji. Nuk keni nevojë të mbani ESP ON. Pra, është mirë për të kursyer ngarkimin e baterisë.

6. Strehimi7. Mikroçelës i dyfishtë ON-OFF. Një linjë shërben për të ndezur pajisjen. Linja e dytë është për testim - ajo lidh qark të shkurtër pa ujë, vetëm për të na treguar që pajisja punon apo jo.

8. Mikro kompjuter Raspberry Pi

Unë jam duke përdorur Raspberry Pi Zero. Isshtë mjaft i fuqishëm për drejtimin e serverit Domoticz.

Hapi 2: Softueri

Në kompjuterin tuaj:

1. esptool i instaluar, për fshirjen e moduleve dhe ndezjen e firmuerit

2. Ampy i instaluar, për ndezjen e programit tuaj

3 Python 3.6 ose më e lartë e rekomanduar

4. Çdo redaktues kodesh që dëshironi. Më e thjeshta - Python IDLE e cila normalisht është duke u instaluar me Python. Unë jam duke përdorur Pycharm / Atom ose Anaconda Spyder On mjedër Pi

5. Serveri Domoticz i instaluar në Raspberry Pi (ose PC i zakonshëm nën Windows ose Linux)

Hapi 3: Përgatitni Raspberry Pi - Instaloni Domoticz

Pra, merrni RPi -në tuaj dhe instaloni sistemin operativ të përshtatshëm për drejtimin e serverit Domoticz.

Ju mund të ndiqni këto udhëzime.

Unë jam duke përdorur Raspbian Stretch me Desktop nga këtu:

Hapi tjetër është instalimi i serverit Domoticz në kompjuterin tuaj. Ju mund të përdorni udhëzimet këtu ose këtu:). Mos kini frikë, nuk është aq e vështirë. Natyrisht që ju duhet të ekzekutoni në terminalin tuaj:

kaçurrela -L install.domoticz.com | sudo bash

Dhe kjo është ajo:) pak a shumë. Konfigurimi i Domoticz

Tani që serveri ynë është gati, ne mund ta përdorim atë nga çdo shfletues uebi, përfshirë edhe nga një tabletë duke futur URL -në e mëposhtme: https:// IP_domoticz: 8080

Hapi 4: Konfigurimi i Domoticz

Konfigurimi i Domoticz
Konfigurimi i Domoticz

Tani që serveri ynë është gati, ne mund ta përdorim atë nga çdo shfletues uebi, përfshirë edhe nga një tabletë duke futur URL -në e mëposhtme: https:// IP_domoticz: 8080

Hapi 5: Rregulloni cilësimet e aplikacionit

Rregulloni cilësimet e aplikacionit
Rregulloni cilësimet e aplikacionit
Rregulloni cilësimet e aplikacionit
Rregulloni cilësimet e aplikacionit

Ekzistojnë cilësime të ndryshme të aplikacionit të cilat mund të vendosen përmes Setup | Menyja e cilësimeve.

Menyja Setting me skeda të ndryshme ju lejon të futni parametrat personalë të nevojshëm për një funksionim më të mirë të sistemit. Pas futjes së të dhënave në fusha, ju duhet t'i ruani ato duke shtypur butonin e kuq "Aplikoni cilësimet". Pas këtij veprimi, të gjitha fushat e Fjalëkalimit, të cilat ishin bosh në qasjen e parë, do të shfaqen me një varg të gjatë yjesh, edhe nëse ato nuk janë përdorur.

Pasi të keni bërë konfigurimin kryesor në faqen "Sistemi", klikoni "Njoftimet". Këtu duhet të rregullojmë se çfarë lloj njoftimesh do të përdorim.

Hapi 6: Konfiguroni njoftimet

Konfiguro Njoftimet
Konfiguro Njoftimet

Njoftimet mund të dërgohen për shembull kur një komutues shtyhet, përdorimi i energjisë elektrike është shumë i lartë, temperatura në të lartë dhe për shumë mundësi të tjera.

Në rastin tonë, njoftimet duhet të dërgohen sapo uji të zbulohet nga sensori. Pra, thjesht ndizni ato që dëshironi të përdorni. Gjithashtu normalisht keni nevojë për çelësin API që njoftimi të funksionojë. Duke ecur pak përpara, do të them që provova Pushover, Pushsafer dhe Pushbullet. Dhe unë qëndrova me Pushover. Më vonë do të them pse.

Disa fjalë se si funksionojnë njoftimet. Duhet të keni një llogari në Pushbullet, Pushover ose faqe të tjera që dëshironi të përdorni. Gjithashtu do t'ju duhet një aplikacion në telefonin tuaj celular ose kompjuterin tuaj.

Merrni çelësin API dhe futeni në faqen e mësipërme. Ju mund të testoni njoftimin duke klikuar "Test". Nëse çelësi API është i saktë, duhet të merrni një njoftim testi në celularin tuaj.

Sapo sensori të kuptojë ujin, ESP ndizet dhe dërgon kërkesë te serveri Domoticz në formatin JSON. Në rast se kushtet për të shkaktuar një ngjarje (dërgimi i njoftimit për telefonin tuaj celular) janë plotësuar, Domoticz dërgon njoftimin.

Më vonë do të kthehem tek "ngjarjet".

Hapi 7: Konfiguroni Komunikimin në Pajisje (të) Hardware

Konfiguroni komunikimin në pajisjen (at) e harduerit
Konfiguroni komunikimin në pajisjen (at) e harduerit
Konfiguroni komunikimin në pajisjen (at) e harduerit
Konfiguroni komunikimin në pajisjen (at) e harduerit
Konfiguroni komunikimin në pajisjen (et) e harduerit
Konfiguroni komunikimin në pajisjen (et) e harduerit

Përpara se të përdorni aplikacionin Domoticz për të kontrolluar pajisjet ose lexuar sensorë, duhet të konfiguroni komunikimin në pajisjet (et) e harduerit. Zgjidhni Setup | Hardware për të shtuar pajisje. Pajisjet nuk do të shfaqen derisa të shtohet pajisja e duhur.

Aplikacioni Domoticz mbështet shumë pajisje hardware në vendlindje. Në rastin tonë për të lexuar sensorin tonë të përmbytjes ne duhet të shtojmë të ashtuquajturin pajisje "Dummy" nga lista e pajisjeve.

Kur shtohet hardueri, do të shfaqet pasqyra e të gjithë pajisjeve të përcaktuara. Pajisja mund të çaktivizohet ose fshihet.

Pajisjet e reja duhet të jenë në listë dhe duhet të ketë një buton "Krijo sensorë virtualë".

Klikoni këtë buton dhe zgjidhni Lloji i sensorit "Alert". Tani duhet të shtojmë pajisjen në Domoticz për t'u bërë aktiv.

Hapi 8: Shtoni pajisjen në Domoticz për t'u bërë aktiv

Shtoni pajisjen në Domoticz për t'u bërë aktiv
Shtoni pajisjen në Domoticz për t'u bërë aktiv
Shtoni pajisjen në Domoticz për t'u bërë aktiv
Shtoni pajisjen në Domoticz për t'u bërë aktiv
Shtoni pajisjen në Domoticz për t'u bërë aktiv
Shtoni pajisjen në Domoticz për t'u bërë aktiv

Ju lutemi vini re numrin më poshtë "IDX". Kjo është referenca unike për këtë pajisje dhe na nevojitet më vonë në shkrimin tonë Python për të adresuar njoftimin. Në këtë rast, numri IDX është 1.

Aktivizoni pajisjen duke klikuar shigjetën e gjelbër në të majtë (në foton time më poshtë është blu, për shkak të pajisjes së aktivizuar).

Plotësoni emrin e pajisjes dhe klikoni "shto".

Shkoni te menyja "Shërbimet" dhe pajisja juaj duhet të jetë e shënuar atje.

Tani duhet të programojmë "ngjarje" për sensorin tonë. Kjo do të thotë, që ne duhet t'i tregojmë serverit, çfarë të bëjë në rast se ka një mesazh nga sensori. Dhe ishte le të themi vendi më i vështirë për mua:).

Hapi 9: Nuk funksionon në këtë mënyrë…

Nuk funksionon në këtë mënyrë…
Nuk funksionon në këtë mënyrë…

Fillova duke u përpjekur të programoj ngjarjen në / pajisje / faqe. Kjo më poshtë nuk është e imja, por është mirë të ilustrohet.

Nëse besoni se do të kontrolloni disa kuti dhe do të funksionojë, e keni gabim:) Nuk funksionon në këtë mënyrë. Unë mendoj se kjo veçori këtu nuk ka përfunduar ende. Mos harroni - është softuer me burim të hapur. Ok, pas disa orësh gjeta zgjidhjen. Duhet të përdorim "Events" nga menyja rënëse "Setup".

Pasi të klikoni "Ngjarjet" mund të krijoni ngjarjen tuaj. Ju mund ta bëni atë duke blerë një kod në Python ose LUA, ose thjesht duke përdorur gjënë e quajtur "Blockly". Unë zgjodha të përdor Blockly. Ka dy mënyra për të detyruar serverin të bëjë atë që dëshironi.

Hapi 10: Ndërtoni ngjarje në një mënyrë të drejtë 1

Ndërtoni ngjarje në rrugën e duhur 1
Ndërtoni ngjarje në rrugën e duhur 1

1. Ekzekutoni skedarin e jashtëm përmes "Events", duke përdorur mesazhin Blockly "Start script"

Kjo funksionon në mënyrë perfekte për mua në Windows. Por unë nuk arrita me këtë në Raspbian në Raspberry Pi tim. Unë dyshoj se ka një çështje me lejet.

Hapi 11: Ndërtoni ngjarje në një mënyrë të drejtë 2

Ndërtoni ngjarje në rrugën e duhur 2
Ndërtoni ngjarje në rrugën e duhur 2

2. Përdorni mesazhin "Dërgo njoftim me subjekt". Punon në Raspbian. Ky opsion mbështet dërgimin e njoftimeve në Pushsafe dhe Pushover.

Avantazhi i përdorimit të mënyrës së parë, është se është më fleksibël. Ju mund të zgjidhni ikonën që do të shfaqet në ekranin tuaj, tingujt dhe kështu me radhë. "Ngjarja" ime tregohet në foton e mësipërme.

Tjetra, le të programojmë modulin ESP.

Hapi 12: Programimi i modulit ESP8266-01

Moduli i programimit ESP8266-01
Moduli i programimit ESP8266-01

Le të fillojmë nga ndezja e modulit tonë ESP8266. Zakonisht ato module vijnë me firmuerin e fabrikës. është e mundur të komunikosh me module duke përdorur të ashtuquajturat komanda AT. Dhe gjithashtu ky softuer nuk ju lejon të përdorni module si kontrollues të pavarur. Për t'i përdorur ato si kontrollues të pavarur, duhet të fshijmë firmuerin e fabrikës dhe të instalojmë një të ri.

Për ta bërë këtë ne do të përdorim esptool. Se ne kemi nevojë për të lidhur modulin tonë me PC për të fshirë firmware. Për ta bërë këtë ju nevojitet konvertuesi TTL + disa përbërës shtesë. Por ka një mënyrë më të lehtë:). Thjesht blini në aliexpress ose ebay USB te ESP8266 ESP-01 Moduli i Përshtatësit Wi-Fi me shofer CH340G.

Lidheni modulin ESP8266 në konvertuesin TTL siç tregohet në figurë dhe lidheni atë me portën USB.

Nëse keni të njëjtin konvertues si unë, atëherë në vetvete ju duhet të ndryshoni kalimin në pozicionin "Prog". Gjeni se ku është instaluar esptool (normalisht diku si C: / Program Files (x86) Python36-32 / Scripts. Shkoni te kjo dosje, nisni komandën atje. Lloji: python esptool.exe --port COM5 erase_flash

Sigurisht, zgjidhni portin e duhur. Në rastin tim është COM5. Mund të kontrolloni portën ku është instaluar ESP nga Paneli i Kontrollit - Sistemi - Menaxheri i pajisjes.

Instaloni firmware (e mora nga këtu: https://micropython.org/download#esp8266) duke shtypur:

python esptool.exe --port COM5-baud 460800 write_flash --flash_size = zbulo 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin

Ok, tani jemi gati për ngarkimin e skripteve të mikropitonit në ESP8266.

Unë jam duke përdorur Adafruit MicroPython Tool (ampy) për këtë.

Por në ditët e sotme ekziston një mundësi tjetër e quajtur Esplorer. Ky është një aplikacion me ndërfaqen e përdoruesit, duke lejuar ngarkimin e skedarëve në modulet ESP.

Këtu mund të gjeni udhëzime se si të instaloni ampy. Pra, vendosni çelësin në konvertuesin TTL në pozicionin "UART". Do të na duhet të ngarkojmë skedarë:

  • wifimgr.py - menaxher wifi për t'u lidhur me rrjetin wifi
  • main.py - skenari ynë kryesor

Në linjën e komandës shkruani: ampy --port COM5 vendosni C: / rrugën për skedarin tuaj

Klikoni "enter". Pas disa sekondash ju duhet të shihni vijën komanduese të zbrazët. Do të thotë që skedari është ngarkuar. Ju mund të kontrolloni listën e skedarëve në ESP me komandën ampy:

ampy --port COM5 ls

Nga përvoja ime është më mirë të ngarkoni main.py pasi të keni ngarkuar të gjithë skedarët e nevojshëm. është kështu, sepse sa më shpejt që të ngarkoni main.py - moduli ESP8266 do të rindizet dhe do të fillojë ekzekutimin e skedarit main.py. Pra, në këtë rast nëse përpiqeni të ngarkoni një skedar tjetër, ndonjëherë procesi i ngarkimit do të dështojë. Por kjo nuk do të thotë që gjithçka është e humbur:), thjesht provoni herën e dytë dhe do të keni sukses (përsëri, nga përvoja ime).

Të gjithë skedarët për këtë projekt janë në dispozicion nga këtu:

Hapi 13: Lidhuni me Rrjetin tuaj WiFi. Merrni Njoftimin

Lidhuni me Rrjetin tuaj WiFi. Merrni Njoftimin
Lidhuni me Rrjetin tuaj WiFi. Merrni Njoftimin
Lidhuni me Rrjetin tuaj WiFi. Merrni Njoftimin
Lidhuni me Rrjetin tuaj WiFi. Merrni Njoftimin

nëse gjithçka është në rregull, rinisni modulin, duke futur përsëri konvertuesin TTL në portën USB të kompjuterit tuaj.

Pasi të fillojë ESP, gjeni një rrjet të ri WiFi të quajtur "Wifimanager". Lidhuni me të me kompjuterin ose telefonin tuaj, pastaj shkoni te adresa IP 192.168.4.1.. Këtu mund të lidhni ESP -në tuaj me rrjetin WiFi lokal. Zgjidhni rrjetin WiFi që do të përdorni, shkruani fjalëkalimin, klikoni "Paraqit".

Nëse gjithçka është e saktë, do të shihni mesazhin "ESP u lidh me sukses në rrjetin XXXX". ESP -ja juaj tani është e lidhur me rrjetin tuaj WiFi dhe është gati. Sapo të lidhet me WiFi do të lidhet me serverin Domoticz. Shorty ju duhet të merrni një njoftim në celularin tuaj.

Mund ta gjurmoni procesin në "Setup"/"Log".

Vua lia!:) Punon. Tani mund të vazhdojmë në montimin e të gjitha pjesëve së bashku, sipas bllok -diagramit më poshtë.

Hapi 14: Blloko Diagramin

Bllokimi i Diagramit
Bllokimi i Diagramit

Nuk ka aq shumë për të thënë për këtë diagram. Shume e thjeshte. Ndërroni energjinë me ndërprerës S1. Pajisja qëndron në gjendje të fikur derisa këmbët e ujit të mos fiksohen "Sensori i ujit". Pastaj "Bordi Pololu" ndizet dhe i jep fuqi konvertuesit të tensionit. Ky modul energjie i bazuar në çipin HT7333, konverton tensionin në 3.3V të qëndrueshëm për ESP8266. ESP -ja tjetër ndizet dhe dërgon një mesazh te serveri Domoticz.

Hapi 15: Rezultati dhe Përfundimet

Rezultati dhe Përfundimet
Rezultati dhe Përfundimet
Rezultati dhe Përfundimet
Rezultati dhe Përfundimet
Rezultati dhe Përfundimet
Rezultati dhe Përfundimet
Rezultati dhe Përfundimet
Rezultati dhe Përfundimet

Punon. Dërgimi i njoftimit zgjati deri në 10 sekonda: lidhja me WiFi, dërgimi i njoftimit, marrja e mesazhit të alarmit në telefonin tuaj.

Unë kam programuar sensorin për të dërguar alarme çdo 30, nëse uji është zbuluar. Sensori mund të dërgojë deri në 5 - 6 njoftime derisa bateria të shkarkohet. Një pajisje e tillë mund të përdoret gjithashtu për të përcaktuar nivelin e ujit. Ajo që do të doja të përmirësoja.

1. Për ta bërë atë të punojë më shpejt. Unë mendoj se do të përpiqem të përdor teknologjinë ESP-Now, e cila më lejon të lidh disa ESP drejtpërdrejt. Në këtë rast konsumi i energjisë gjatë lidhjes është shumë i ulët dhe është më i shpejtë. Pra, ideja është të përdorni një ESP si një qendër për lidhjen e ESP -ve të tjera.

2. Zbatoni alarmin e nivelit të baterisë. Tani nuk mund ta dini nëse ka fuqi të mjaftueshme për të dërguar mesazh alarmi apo jo. Unë mendoj se në gjeneratën e ardhshme të këtij sensori do të ketë një buton të veçantë për të testuar ngarkimin e baterisë.

Përdoruesi do të duhet të shtypë një buton dhe niveli i baterisë do të shfaqet.

Recommended: