Indholdsfortegnelse:
- Trin 1: Hardware
- Trin 2: Software
- Trin 3: Forbered Raspberry Pi - Installer Domoticz
- Trin 4: Domoticz -opsætning
- Trin 5: Juster applikationsindstillinger
- Trin 6: Opsæt notifikationer
- Trin 7: Konfigurer kommunikationen til hardwareenheder
- Trin 8: Tilføj enheden i Domoticz for at blive aktiv
- Trin 9: Det virker ikke på denne måde …
- Trin 10: Byg begivenhed på den rigtige måde 1
- Trin 11: Byg begivenhed på den rigtige måde 2
- Trin 12: Programmering af ESP8266-01-modul
- Trin 13: Opret forbindelse til dit WiFi -netværk. Få besked
- Trin 14: Blokdiagram
- Trin 15: Resultat og konklusioner
- Trin 16: Video
Video: Vandlækagesensor på ESP8266 + Micropython + Domoticz: 16 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
For nogen tid siden bad min kone mig om at lave en vandlækagesensor. Hun var bange for, at slangen i fyrrummet kunne være utæt, og vandet ville oversvømme det nylagte trægulv. Og jeg som en sand ingeniør påtog mig sådan en sensor at gøre.
Fra mine 15 års erfaring som medicinsk ingeniør ved jeg, at den letteste måde at opdage vand på er metalnåle, der er kortsluttet af vand. Princippet for drift af de enkleste sensorer er, at vand skal kortslutte to (eller flere) metalstifter, og så snart det sker, udløses alarm.
Trin 1: Hardware
Til dette projekt har vi brug for:
1. ESP8266 - 01 modul
2. HT7333 3.3V MS Low Dropout Lineær Regulator Strømforsyning modu
Vi har brug for dette modul for at reducere spændingen fra batteriet til det acceptable niveau for ESP8266. Ifølge databladet skal der være 3V til 3,6V input. Dette modul giver os 3,3V.
3. Batteri. Jeg bruger 3, 7V Li-ion 400mAh batteri. Faktisk kan du bruge enhver anden passende strømkilde. 18650 batteri er også et godt valg. Når du vælger et batteri, skal du huske på, at ESP "spiser" omkring 200mA på samme måde som forbindelse til WiFi -netværk, og ca. 60mA bruges, når kortet uploader data til serveren.
4. TP4056 Lipo batterioplader.
5. Pololu mini trykknap Afbryder Meget interessant lille tavle. Det lader os kun skifte ESP -modulet, når der detekteres vand. Du behøver ikke at beholde ESP ON. Så det er godt til at spare opladning af batteriet.
6. Boliger7. Dobbelt mikrokontakt ON-OFF. En linje tjener til at tænde enheden. Anden linje er til test - den kortslutter kredsløb uden vand, bare for at fortælle os, fungerer enheden eller ej.
8. Raspberry Pi mikrocomputer
Jeg bruger Raspberry Pi Zero. Det er stærkt nok til at køre Domoticz -server.
Trin 2: Software
På din pc:
1. esptool installeret, til sletning af moduler og blinkende firmware
2. Ampy installeret, for at blinke dit program
3 Python 3.6 eller højere anbefales
4. Enhver kode editor, du ønsker. Enklest - Python IDLE, som normalt installeres med Python. Jeg bruger Pycharm / Atom eller Anaconda Spyder På hindbær Pi
5. Domoticz -server installeret på Raspberry Pi (eller almindelig pc under Windows eller Linux)
Trin 3: Forbered Raspberry Pi - Installer Domoticz
Så tag din RPi og installer operativsystem, der er egnet til at køre Domoticz -server.
Du kan følge disse instruktioner.
Jeg bruger Raspbian Stretch med Desktop herfra:
Næste trin er at installere Domoticz -serveren på din pc. Du kan bruge vejledningen her eller her:). Vær ikke bange, det er ikke så svært. Du skal naturligvis køre i din terminal:
curl -L install.domoticz.com | sudo bash
Og det er det:) mere eller mindre. Opsætning af Domoticz
Nu hvor vores server er klar, kan vi få adgang til den fra enhver webbrowser, herunder fra en tablet ved at indtaste følgende URL: https:// IP_domoticz: 8080
Trin 4: Domoticz -opsætning
Nu hvor vores server er klar, kan vi få adgang til den fra enhver webbrowser, herunder fra en tablet ved at indtaste følgende URL: https:// IP_domoticz: 8080
Trin 5: Juster applikationsindstillinger
Der er forskellige applikationsindstillinger, der kan indstilles via opsætningen | Indstillinger menu.
Indstillingsmenuen med forskellige faner giver dig mulighed for at indtaste personlige parametre, der er nødvendige for en bedre systemfunktion. Efter indtastning af data i felterne skal du gemme dem ved at trykke på den røde knap "Anvend indstillinger". Efter denne handling vil alle Password -felter, der var tomme ved den første adgang, vises med en lang række stjerner, selvom de ikke er blevet brugt.
Når du har foretaget hovedopsætningen på siden "System", skal du klikke på "Meddelelser". Her skal vi justere, hvilken slags meddelelser vi skal bruge.
Trin 6: Opsæt notifikationer
Meddelelser kan f.eks. Sendes, når der trykkes på en switch, elforbruget er for højt, temperaturen til høj og mange flere muligheder.
I vores tilfælde skal meddelelser sendes, så snart sensoren har registreret vand. Så bare slå dem til, du vil bruge. Normalt har du også brug for API -nøgle, for at meddelelse kan fungere. Når jeg løber lidt fremad, vil jeg sige, at jeg har prøvet Pushover, Pushsafer og Pushbullet. Og jeg blev hos Pushover. Senere vil jeg fortælle hvorfor.
Få ord om, hvordan meddelelser fungerer. Du skal have en konto på Pushbullet, Pushover eller andre sider, du gerne vil bruge. Du skal også bruge en app på din mobiltelefon eller pc.
Hent API -nøgle, og indsæt den på siden ovenfor. Du kan teste meddelelsen ved at klikke på "Test". Hvis API -nøglen er korrekt, bør du få en testmeddelelse til din mobiltelefon.
Så snart sensoren registrerer vand, tænder ESP og sender anmodning til Domoticz -serveren i JSON -format. End hvis betingelserne for at udløse en begivenhed (sende meddelelse til din mobiltelefon) er opfyldt, sender Domoticz meddelelsen.
Senere vender jeg tilbage til "begivenheder".
Trin 7: Konfigurer kommunikationen til hardwareenheder
Inden du kan bruge Domoticz -applikationen til at styre enheder eller læse sensorer, skal du konfigurere kommunikationen til hardwareenheder. Vælg Opsætning | Hardware for at tilføje hardware. Enheder vises ikke, før den relevante hardware er tilføjet.
Domoticz -applikationen understøtter mange hardwareenheder indbygget. I vores tilfælde for at læse vores oversvømmelsessensor skal vi tilføje såkaldt "Dummy" hardware fra listen over hardware.
Når hardware tilføjes, vises oversigten over al defineret hardware. Hardware kan deaktiveres eller slettes.
Den nye hardware skulle være på listen, og der skulle være en knap "Opret virtuelle sensorer".
Klik på denne knap, og vælg Sensortype "Alert". Nu skal vi tilføje enheden i Domoticz for at blive aktiv.
Trin 8: Tilføj enheden i Domoticz for at blive aktiv
Bemærk venligst nummeret nedenfor "IDX". Dette er den unikke reference til denne enhed, og vi har brug for den senere i vores Python -script for at løse meddelelser. I dette tilfælde er IDX -nummeret 1.
Aktiver enheden ved at klikke på den grønne pil til venstre (på mit billede nedenfor er den blå på grund af den aktiverede enhed).
Udfyld navnet på enheden, og klik på "tilføj".
Naviger til menuen "Hjælpeprogrammer", og din enhed skal være angivet der.
Nu skal vi programmere "event" til vores sensor. Det betyder, at vi skal fortælle serveren, hvad de skal gøre, hvis den har fået en besked fra sensor. Og det var lad os sige det sværeste sted for mig:).
Trin 9: Det virker ikke på denne måde …
Jeg startede med at prøve at programmere begivenhed på / enhed / side. Dette nedenfor er ikke mit, men det er ok at illustrere.
Hvis du tror, at du vil markere nogle afkrydsningsfelter, og det vil fungere, tager du fejl:) Det fungerer ikke på denne måde. Jeg formoder, at denne funktion her ikke er færdig endnu. Glem ikke - det er open source -software. Ok, efter flere timer fandt jeg løsningen. Vi skal bruge "Begivenheder" fra rullemenuen "Opsætning".
Efter at have klikket på "Begivenheder" kan du oprette din egen begivenhed. Du kan gøre det ved at skrive en kode i Python eller LUA, eller bare ved at bruge noget der hedder "Blockly". Jeg valgte at bruge Blockly. Der er to måder at tvinge serveren til at gøre, hvad du vil.
Trin 10: Byg begivenhed på den rigtige måde 1
1. Udfør ekstern fil via "Events" ved at bruge Blockly -meddelelsen "Start script"
Dette fungerer perfekt for mig på Windows -maskine. Men det lykkedes mig ikke med dette på Raspbian på min Raspberry Pi. Jeg formoder, at der er et problem med tilladelser.
Trin 11: Byg begivenhed på den rigtige måde 2
2. Brug meddelelsen "Send underretning med emne". Det fungerer på Raspbian. Denne indstilling understøtter afsendelse af meddelelser til Pushsafe og Pushover.
Fordelen ved at bruge 1. måde er, at den er mere fleksibel. Du kan vælge ikon, der skal vises på din skærm, lyde og så videre. Min "begivenhed" er vist på billedet ovenfor.
Lad os derefter programmere ESP -modul.
Trin 12: Programmering af ESP8266-01-modul
Lad os starte med at blinke vores ESP8266 -modul. Normalt leveres disse moduler med firmware fra fabrikken. det er muligt at kommunikere med moduler ved hjælp af såkaldte AT -kommandoer. Og også denne software tillader ikke at bruge moduler som selvstændige controllere. For at bruge dem som selvstændige controllere skal vi slette fabriks firmware og installere en ny.
For at gøre dette vil vi bruge esptool. End vi er nødt til at forbinde vores modul til pc for at slette firmware. For at gøre dette har du brug for TTL -konverter + få ekstra komponenter. Men der er en lettere måde:). Bare køb på aliexpress eller ebay USB til ESP8266 ESP-01 Wi-Fi Adapter Module w/ CH340G Driver.
Slut ESP8266 -modulet til TTL -konverteren som vist på billedet, og tilslut det til USB -porten.
Hvis du har den samme konverter som mig, skal du i sig selv skifte kontakten til positionen "Prog". Find, hvor esptool er installeret (normalt et sted som C: / Program Files (x86) Python36-32 / Scripts. Gå til denne mappe, start kommandoprompt der. Type: python esptool.exe --port COM5 erase_flash
Vælg selvfølgelig den rigtige port. I mit tilfælde er det COM5. Du kan kontrollere porten, hvor ESP er installeret, fra Kontrolpanel - System - Enhedshåndtering.
Installer firmware (jeg tog den herfra: https://micropython.org/download#esp8266) ved at skrive:
python esptool.exe --port COM5 --baud 460800 write_flash --flash_size = detekter 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin
Ok, nu er vi klar til at uploade micropython -scripts til ESP8266.
Jeg bruger Adafruit MicroPython Tool (ampy) til dette.
Men i dag er der en anden mulighed kaldet Esplorer. Dette er en app med brugergrænseflade, der gør det muligt at uploade filer til ESP -moduler.
Du kan finde instruktioner om, hvordan du installerer ampy her. Så sæt kontakten på TTL -konverteren til "UART" -position. Vi skal uploade filer:
- wifimgr.py - wifi manager til forbindelse til wifi netværk
- main.py - vores hovedmanuskript
I kommandolinjetype: ampy --port COM5 sæt C: / sti til din fil
Hit "enter". Efter få sekunder skulle du se tom kommandolinje. Det betyder, at filen er blevet uploadet. Du kan kontrollere listen over filer på ESP efter ampy -kommando:
ampy --port COM5 ls
Fra min erfaring er det bedre at uploade main.py, når du har uploadet alle nødvendige filer. det er sådan, på grund af så snart du vil uploade main.py - vil ESP8266 -modulet genstarte og begynde at udføre main.py -filen. Så hvis du prøver at uploade en anden fil i dette tilfælde, vil uploadprocessen nogle gange mislykkes. Men det betyder ikke, at alt er tabt:), prøv bare anden gang, og du vil lykkes (igen, fra min erfaring).
Alle filer til dette projekt er tilgængelige her:
Trin 13: Opret forbindelse til dit WiFi -netværk. Få besked
hvis alt er ok, skal du genstarte modulet ved at genindsætte TTL -konverteren til USB -porten på din pc.
Når ESP starter, skal du finde et nyt WiFi -netværk kaldet "Wifimanager". Tilslut den til din pc eller telefon, og gå derefter til IP -adresse 192.168.4.1.. Her kan du slutte din ESP til det lokale WiFi -netværk. Vælg WiFi -netværk, du skal bruge, indtast adgangskode, tryk på "Send".
Hvis alt er korrekt, vil du se meddelelsen "ESP er oprettet forbindelse til XXXX -netværk". Din ESP er nu forbundet til dit WiFi -netværk og klar. Så snart den er forbundet til WiFi, vil den oprette forbindelse til Domoticz -serveren. Shorty du skal modtage en besked på din mobiltelefon.
Du kan spore processen i "Setup"/"Log".
Vua lia!:) Det virker. Nu kan vi fortsætte med at samle alle dele sammen i henhold til blokdiagrammet herunder.
Trin 14: Blokdiagram
Der er ikke så meget at sige om dette diagram. Meget simpelt. Skift strømmen med S1 -kontakten. Enheden står i slukket tilstand, indtil vandet kortslutter "Vandsensor" stifter. Derefter tænder "Pololu board" og giver strøm til spændingsomformeren. Dette strømmodul baseret på HT7333 -chip, konverterer spænding til stabil 3.3V for ESP8266. Næste ESP tænder og sender en besked til Domoticz -serveren.
Trin 15: Resultat og konklusioner
Det virker. Afsendelse af besked tog op til 10 sekunder: forbindelse til WiFi, afsendelse af besked, alarmbesked til din telefon.
Jeg har programmeret sensoren til at sende alarmer hver 30. sekund, hvis der blev opdaget vand. Sensoren kan sende op til 5 - 6 meddelelser, indtil batteriet aflades. En sådan indretning kan også bruges til at bestemme vandstanden. Hvad jeg gerne vil forbedre.
1. For at få det til at fungere hurtigere. Jeg tror, jeg vil prøve at bruge ESP-Now-teknologi, som lader mig forbinde flere ESP'er direkte. I dette tilfælde er strømforbruget under tilslutning meget lavt, og det er hurtigere. Så tanken er at bruge en ESP som et hub til at forbinde andre ESP'er.
2. Gennemfør batteriniveaualarm. Nu kan du ikke vide, om der er strøm nok til at sende alarmbesked eller ej. Jeg tror, at der i den næste generation af denne sensor vil være en særlig knap til test af batteriopladning.
Brugeren skal trykke på en knap, og batteriniveauet vises.
Anbefalede:
Raspberry Pi -æske med køleventilator med CPU -temperaturindikator: 10 trin (med billeder)
Raspberry Pi Box of Cooling FAN med CPU-temperaturindikator: Jeg havde introduceret hindbær pi (herefter RPI) CPU-temperaturindikator kredsløb i det forrige projekt. Kredsløbet viser simpelthen RPI 4 forskellige CPU-temperaturniveauer som følger.- Grøn LED tændt, når CPU -temperaturen er inden for 30 ~
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Platform med uendelige niveauer på GameGo med Makecode Arcade: 5 trin (med billeder)
Platform med uendelige niveauer på GameGo med Makecode Arcade: GameGo er en Microsoft Makecode -kompatibel retro gaming bærbar konsol udviklet af TinkerGen STEM education. Den er baseret på STM32F401RET6 ARM Cortex M4 -chip og lavet til STEM -undervisere eller bare folk, der kan lide at have det sjovt med at skabe retro -videospil
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores