Innholdsfortegnelse:
- Trinn 1: Maskinvare
- Trinn 2: Programvare
- Trinn 3: Forbered Raspberry Pi - Installer Domoticz
- Trinn 4: Domoticz -oppsett
- Trinn 5: Juster applikasjonsinnstillinger
- Trinn 6: Oppsettvarsler
- Trinn 7: Konfigurer kommunikasjonen til maskinvareenheter
- Trinn 8: Legg til enheten i Domoticz for å bli aktiv
- Trinn 9: Det fungerer ikke på denne måten …
- Trinn 10: Bygg hendelsen på en riktig måte 1
- Trinn 11: Bygg arrangement på en riktig måte 2
- Trinn 12: Programmering av ESP8266-01-modul
- Trinn 13: Koble til WiFi -nettverket ditt. Få beskjed
- Trinn 14: Blokkdiagram
- Trinn 15: Resultat og konklusjoner
- Trinn 16: Video
Video: Vannlekkasjesensor på ESP8266 + Micropython + Domoticz: 16 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
For en tid siden ba kona mi meg om å lage en vannlekkasjesensor. Hun var redd for at slangen i fyrrommet kan være lekker, og vannet ville oversvømme det nylagte tregulvet. Og jeg som en sann ingeniør påtok meg en slik sensor å gjøre.
Fra min 15 års erfaring som medisinsk ingeniør, vet jeg at den enkleste måten å oppdage vann på er metallpinner kortsluttet av vann. Prinsippet for bruk av de enkleste sensorene er at vann må korte to (eller flere) metallpinner, og så snart det skjer, utløses alarm.
Trinn 1: Maskinvare
For dette prosjektet trenger vi:
1. ESP8266 - 01 modul
2. HT7333 3.3V MS Low Dropout Lineær regulator Strømforsyning mod
Vi trenger denne modulen for å redusere spenningen fra batteriet til akseptabelt nivå for ESP8266. I henhold til databladet bør det være 3V til 3,6V inngang. Denne modulen gir oss 3,3V.
3. Batteri. Jeg bruker 3, 7V Li-ion 400mAh batteri. Faktisk kan du bruke en hvilken som helst annen egnet strømkilde. 18650 batteri er også et godt valg. Når du velger et batteri, må du huske på at ESP "spiser" omtrent 200mA mens du kobler til WiFi -nettverk, og omtrent 60mA brukes når kortet laster opp data til serveren.
4. TP4056 Lipo batteriladebrett.
5. Pololu mini trykknapp Strømbryter Veldig interessant bittesmå brett. Den lar oss bare bytte ESP -modul når det oppdages vann. Du trenger ikke å holde ESP PÅ. Så det er bra for å spare ladning av batteriet.
6. Boliger7. Dobbel mikrobryter PÅ-AV. En linje tjener til å slå på enheten. Andre linje er for testing - den kortslutter uten vann, bare for å gi oss beskjed om enheten fungerer eller ikke.
8. Raspberry Pi mikro -datamaskin
Jeg bruker Raspberry Pi Zero. Den er kraftig nok til å kjøre Domoticz -server.
Trinn 2: Programvare
På din PC:
1. esptool installert, for sletting av moduler og blinkende fastvare
2. Ampy installert, for å blinke programmet
3 Python 3.6 eller høyere anbefalt
4. Enhver kodeditor du ønsker. Enkleste - Python IDLE som vanligvis installeres med Python. Jeg bruker Pycharm / Atom eller Anaconda Spyder På bringebær Pi
5. Domoticz -server installert på Raspberry Pi (eller vanlig PC under Windows eller Linux)
Trinn 3: Forbered Raspberry Pi - Installer Domoticz
Så ta din RPi og installer operativsystemet som er egnet for å kjøre Domoticz -server.
Du kan følge disse instruksjonene.
Jeg bruker Raspbian Stretch med Desktop herfra:
Neste trinn er å installere Domoticz -serveren på PCen. Du kan bruke instruksjonene her eller her:). Ikke vær redd, det er ikke så vanskelig. Tydeligvis må du kjøre i terminalen din:
curl -L install.domoticz.com | sudo bash
Og det er det:) mer eller mindre. Oppsett av Domoticz
Nå som serveren vår er klar, kan vi få tilgang til den fra hvilken som helst nettleser, inkludert fra et nettbrett ved å skrive inn følgende URL: https:// IP_domoticz: 8080
Trinn 4: Domoticz -oppsett
Nå som serveren vår er klar, kan vi få tilgang til den fra hvilken som helst nettleser, inkludert fra et nettbrett ved å skrive inn følgende URL: https:// IP_domoticz: 8080
Trinn 5: Juster applikasjonsinnstillinger
Det er forskjellige applikasjonsinnstillinger som kan angis via Oppsett | Innstillingsmeny.
Innstillingsmenyen med forskjellige faner lar deg angi personlige parametere som er nødvendige for en bedre systemfunksjon. Etter at du har lagt inn data i feltene, må du lagre dem ved å trykke på den røde knappen "Bruk innstillinger". Etter denne handlingen vil alle passordfeltene, som var tomme ved første tilgang, vises med en lang streng med stjerner, selv om de ikke har blitt brukt.
Etter at du har gjort hovedoppsettet på "System" -siden, klikker du på "Meldinger". Her må vi justere hva slags varsler vi skal bruke.
Trinn 6: Oppsettvarsler
Varsler kan sendes for eksempel når en bryter trykkes, strømforbruket er for høyt, temperaturen til høy og for mange flere alternativer.
I vårt tilfelle må varsler sendes så snart vann ble oppdaget av sensoren. Så bare slå på dem, du vil bruke. Vanligvis trenger du også API -nøkkel for at varsling skal fungere. Når jeg løper litt fremover, vil jeg si at jeg prøvde Pushover, Pushsafer og Pushbullet. Og jeg ble hos Pushover. Sist vil jeg fortelle hvorfor.
Noen få ord om hvordan varsler fungerer. Du må ha en konto på Pushbullet, Pushover eller andre sider du vil bruke. Du trenger også en app på mobiltelefonen eller PCen.
Skaff deg API -nøkkelen, og sett den inn på siden ovenfor. Du kan teste varsel ved å klikke på "Test". Hvis API -nøkkelen er korrekt, bør du få testvarsler til mobiltelefonen din.
Så snart sensoren føler vann, slår ESP seg på og sender forespørsel til Domoticz -serveren i JSON -format. Da hvis betingelsene for å utløse en hendelse (sende varsel til mobiltelefonen) er oppfylt, sender Domoticz varselet.
Senere kommer jeg tilbake til "hendelser".
Trinn 7: Konfigurer kommunikasjonen til maskinvareenheter
Før du kan bruke Domoticz -appen til å kontrollere enheter eller lese sensorer, må du konfigurere kommunikasjonen til maskinvareenheter. Velg Oppsett | Maskinvare for å legge til maskinvare. Enheter vises ikke før riktig maskinvare er lagt til.
Domoticz -applikasjonen støtter mange maskinvareenheter innfødt. I vårt tilfelle for å lese vår flomsensor må vi legge til såkalt "Dummy" maskinvare fra listen over maskinvare.
Når maskinvare er lagt til, vil oversikten over all definert maskinvare vises. Maskinvare kan deaktiveres eller slettes.
Den nye maskinvaren skal være på listen, og det skal være en knapp "Lag virtuelle sensorer".
Klikk på denne knappen og velg Sensortype "Alert". Nå må vi legge til enheten i Domoticz for å bli aktiv.
Trinn 8: Legg til enheten i Domoticz for å bli aktiv
Vær oppmerksom på nummeret under "IDX". Dette er den unike referansen til denne enheten, og vi trenger den senere i vårt Python -skript for å ta opp varsling. I dette tilfellet er IDX -nummeret 1.
Aktiver enheten ved å klikke på den grønne pilen til venstre (på bildet mitt under er den blå på grunn av enheten som er aktivert).
Fyll inn navnet på enheten, og klikk på "legg til".
Naviger til menyen "Verktøy", og enheten din bør vises der.
Nå må vi programmere "event" for sensoren vår. Det betyr at vi må fortelle serveren hva vi skal gjøre hvis den har fått en melding fra sensor. Og det var det vanskeligste stedet for meg:).
Trinn 9: Det fungerer ikke på denne måten …
Jeg begynte med å prøve å programmere hendelsen på / enheten / siden. Dette nedenfor er ikke mitt, men det er ok å illustrere.
Hvis du tror at du vil merke av i noen avmerkingsbokser og det vil fungere, tar du feil:) Det fungerer ikke på denne måten. Jeg antar at denne funksjonen her ikke er ferdig ennå. Ikke glem - det er programvare med åpen kildekode. Ok, etter flere timer fant jeg løsningen. Vi må bruke "Events" fra rullegardinmenyen "Setup".
Etter å ha klikket på "Events" kan du lage ditt eget arrangement. Du kan gjøre det ved å skrive en kode i Python eller LUA, eller bare ved å bruke ting som heter "Blockly". Jeg valgte å bruke Blockly. Det er to måter å tvinge serveren til å gjøre det du vil.
Trinn 10: Bygg hendelsen på en riktig måte 1
1. Utfør ekstern fil via "Events", ved å bruke Blockly melding "Start script"
Dette fungerer perfekt for meg på Windows -maskin. Men jeg lyktes ikke med dette på Raspbian på min Raspberry Pi. Jeg mistenker at det er et problem med tillatelser.
Trinn 11: Bygg arrangement på en riktig måte 2
2. Bruk meldingen "Send varsel med emne". Det fungerer på Raspbian. Dette alternativet støtter sending av varsler til Pushsafe og Pushover.
Fordelen med å bruke 1. måte er at den er mer fleksibel. Du kan velge ikonet som skal vises på skjermen, lyder og så videre. Min "hendelse" er vist på bildet ovenfor.
La oss deretter programmere ESP -modulen.
Trinn 12: Programmering av ESP8266-01-modul
La oss starte med å blinke ESP8266 -modulen vår. Normalt kommer disse modulene med fabrikkfastvare. det er mulig å kommunisere med moduler ved å bruke såkalte AT -kommandoer. Og denne programvaren tillater ikke bruk av moduler som frittstående kontrollere. For å bruke dem som frittstående kontrollere må vi slette fabrikkens fastvare og installere en ny.
For å gjøre dette vil vi bruke esptool. Da må vi koble modulen til PCen for å slette fastvaren. For å gjøre dette trenger du TTL -omformer + noen ekstra komponenter. Men det er en enklere måte:). Bare kjøp på aliexpress eller ebay USB til ESP8266 ESP-01 Wi-Fi-adaptermodul m/ CH340G-driver.
Koble ESP8266 -modulen til TTL -omformeren som vist på bildet, og koble den til USB -porten.
Hvis du har samme omformer som meg, må du i seg selv bytte bryteren til "Prog" -posisjonen. Finn ut hvor esptool er installert (vanligvis et sted som C: / Program Files (x86) Python36-32 / Scripts. Gå til denne mappen, start ledeteksten der. Type: python esptool.exe --port COM5 erase_flash
Velg selvfølgelig riktig port. I mitt tilfelle er det COM5. Du kan kontrollere porten der ESP er installert fra Kontrollpanel - System - Enhetsbehandling.
Installer fastvare (jeg tok den herfra: https://micropython.org/download#esp8266) ved å skrive:
python esptool.exe --port COM5 --baud 460800 write_flash --flash_size = detect 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin
Ok, nå er vi klare for å laste opp micropython -skriptene til ESP8266.
Jeg bruker Adafruit MicroPython Tool (ampy) for dette.
Men i dag er det et annet alternativ som heter Esplorer. Dette er en app med brukergrensesnitt, som lar deg laste opp filer til ESP -moduler.
Du finner instruksjoner for hvordan du installerer ampy her. Så sett bryteren på TTL -omformeren til "UART" -posisjon. Vi må laste opp filer:
- wifimgr.py - wifi manager for tilkobling til wifi nettverk
- main.py - vårt hovedmanus
Skriv inn kommandolinjen: ampy --port COM5, legg C: / path til filen din
Trykk "enter". Etter noen sekunder bør du se tom kommandolinje. Det betyr at filen er lastet opp. Du kan sjekke listen over filer på ESP etter ampy -kommando:
ampy --port COM5 ls
Etter min erfaring er det bedre å laste opp main.py etter at du har lastet opp alle nødvendige filer. Det er slik, på grunn av så snart du vil laste opp main.py - vil ESP8266 -modulen starte på nytt og begynne å kjøre main.py -filen. Så i dette tilfellet hvis du prøver å laste opp en annen fil, vil noen ganger opplastingsprosessen mislykkes. Men det betyr ikke at alt er tapt:), bare prøv andre gang, så lykkes du (igjen, fra min erfaring).
Alle filer for dette prosjektet er tilgjengelige her:
Trinn 13: Koble til WiFi -nettverket ditt. Få beskjed
hvis alt er i orden, start modulen på nytt ved å sette inn TTL -omformeren på nytt på USB -porten på PCen.
Etter at ESP starter, finn et nytt WiFi -nettverk kalt "Wifimanager". Koble til den med din PC eller telefon, og gå deretter til IP -adressen 192.168.4.1.. Her kan du koble ESP til det lokale WiFi -nettverket. Velg WiFi -nettverk du skal bruke, skriv inn passord, trykk "Send".
Hvis alt er riktig, vil du se meldingen "ESP er koblet til XXXX -nettverket". ESP -en din er nå koblet til WiFi -nettverket ditt og klar. Så snart den er koblet til WiFi, kobles den til Domoticz -serveren. Shorty, du må motta et varsel på mobiltelefonen.
Du kan spore prosessen i "Setup"/"Log".
Vua lia!:) Det fungerer. Nå kan vi fortsette å montere alle delene sammen, i henhold til blokkdiagrammet nedenfor.
Trinn 14: Blokkdiagram
Det er ikke så mye å si om dette diagrammet. Veldig enkelt. Slå på strømmen med S1 -bryteren. Enheten står i av -tilstand til vannet kortslutter "Vannsensor" -nålene. Deretter slås "Pololu board" på, og gir strøm til spenningsomformeren. Denne kraftmodulen basert på HT7333 -brikke, konverterer spenning til stabil 3.3V for ESP8266. Neste ESP slås på og sender en melding til Domoticz -serveren.
Trinn 15: Resultat og konklusjoner
Det fungerer. Sende varsel tok opptil 10 sekunder: tilkobling til WiFi, sending av varsel, alarmmelding til telefonen.
Jeg har programmert sensoren til å sende alarmer hvert 30. sekund, hvis det ble oppdaget vann. Sensoren kan sende opptil 5 - 6 varsler til batteriet er utladet. En slik enhet kan også brukes til å bestemme vannivået. Hva jeg ønsker å forbedre.
1. For å få det til å fungere raskere. Jeg tror jeg vil prøve å bruke ESP-Now-teknologi, som lar meg koble flere ESP-er direkte. I dette tilfellet er strømforbruket under tilkobling veldig lavt og det er raskere. Så tanken er å bruke en ESP som et knutepunkt for å koble andre ESP -er.
2. Implementere batterinivåalarm. Nå kan du ikke vite om det er nok strøm til å sende alarmmelding eller ikke. Jeg tror at i neste generasjon av denne sensoren vil det være en spesiell knapp for å teste batteriladning.
Brukeren må trykke på en knapp, og batterinivået vises.
Anbefalt:
Ta flotte bilder med en iPhone: 9 trinn (med bilder)
Ta flotte bilder med en iPhone: De fleste av oss har med oss en smarttelefon overalt i disse dager, så det er viktig å vite hvordan du bruker smarttelefonkameraet ditt til å ta flotte bilder! Jeg har bare hatt en smarttelefon i et par år, og jeg har elsket å ha et greit kamera for å dokumentere ting jeg
Raspberry Pi -eske med kjølevifte med CPU -temperaturindikator: 10 trinn (med bilder)
Raspberry Pi-eske med kjølevifte med CPU-temperaturindikator: Jeg hadde introdusert bringebær pi (heretter som RPI) CPU-temperaturindikatorkrets i det forrige prosjektet. Kretsen viser ganske enkelt RPI 4 forskjellige CPU-temperaturnivå som følger.- Grønn LED ble slått på når CPU -temperaturen er innenfor 30 ~
Slik gjør du det: Installere Raspberry PI 4 Headless (VNC) med Rpi-imager og bilder: 7 trinn (med bilder)
Howto: Installere Raspberry PI 4 Headless (VNC) Med Rpi-imager og bilder: Jeg planlegger å bruke denne Rapsberry PI i en haug med morsomme prosjekter tilbake i bloggen min. Sjekk det gjerne ut. Jeg ønsket å begynne å bruke Raspberry PI igjen, men jeg hadde ikke tastatur eller mus på min nye plassering. Det var en stund siden jeg konfigurerte en bringebær
Plattformspill med uendelige nivåer på GameGo med Makecode Arcade: 5 trinn (med bilder)
Plattformspill med uendelige nivåer på GameGo med Makecode Arcade: GameGo er en Microsoft Makecode -kompatibel retro spillkonsoll utviklet av TinkerGen STEM education. Den er basert på STM32F401RET6 ARM Cortex M4 -brikken og laget for STEM -lærere eller bare folk som liker å ha det gøy med å lage retro videospill
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen