Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Opsæt Rasbian
- Trin 2: Grib koden og konfigurer den
- Trin 3: Arduino -kommunikation
- Trin 4: Tilslutning af switch-it
- Trin 5: Kørsel af koden
- Trin 6: (VALGFRIT) huset
Video: Switch-it, automatisk afgang med strømmåling i realtid: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Jeg kan virkelig godt lide automatisering, evnen til at kontrollere, når der skal ske noget. Det er det, der fik mig til at komme med denne idé: en selvfremstillet, automatisk stikkontakt. Det kan bruges til at planlægge, hvornår lys skal tændes, hvornår telefoner skal oplades, eller når en skærm skal strømforsynes. Ud over alt dette har du mulighed for at se, hvor meget strøm der strømmer gennem stikkontakten.
De nødvendige komponenter til dette projekt er:
Forbrugsvarer
Inden vi begynder, er det de ting, du helt sikkert skal bruge til at bygge en Switch-IT-boks som min. Disse forsyninger koster omkring 50 til 100 euro afhængigt af din region og aktuelle priser.
Hardware
Elektronik
- Hindbær pi 4
- 16 GB (eller mere) Micro SD-kort
- Arduino Uno
- 5V-3.3V niveauskifter
- 5V relæmodul
- ACS712 20A - nuværende modul
- 1838 IR-modtager 37,9 kHz modul
- IR -fjernbetjening (jeg bruger en Elegoo)
- fælles katode RGB
- 3 * 330Ω modstande
- trykknap
- RFID-RC522
- LCD 1602A-1
- Niko stikkontakt
- 10K Ω potmeter
- 230 til 5V - 7A strømforsyning
Kabler
- USB-B til USB-A kabel
- USB-C strømkabel
- Ethernet -kabel
Forskellige
- Mand-Kvinde Jumperwires
- Mand-Mand Jumperwires
- Loddeform
- Krympende rør
Kassespecifikke dele (VALGFRIT)
- 50 * nødder og fed
- metalhus 40x40x5 cm med låg
- dobbeltsidet tape
- 6 * 1 cm høje afstandsstykker
- led-holder
- Velcrobånd
- kabelførere
Software
- balenaEtcher:
- PuTTy
- rasbisk
- Visual Studio -kode
- Arduino IDE
Trin 1: Opsæt Rasbian
Først og fremmest vil vi blinke Rasbian på SD-kortet. Vi gør det ved hjælp af balenaEtcher.
- Åbn balenaEtcher
- Vælg det Rasbiske billede
- Vælg dit SD-kort
- Tryk på Flash og vent et par minutter, indtil det blinker
Tilføjelse af APIPA i boot -biblioteket: Vi bruger en APIPA -adresse til at programmere og konfigurere indstillinger på RPI'en. At gøre dette:
- Henter boot-biblioteket på SD-kortet
- Åbn "cmdline.txt"
- Tilføj "169.254.10.1" i slutningen af dokumentet, og gem det
- Tilføj en fil kaldet "ssh" til boot -biblioteket (GIV IKKE DENNE FIL EN UDVIDELSE)
- Når du har gjort dette, kan du skubbe SD -kortet ud af din pc.
Henter RPI'en ved hjælp af PuTTy
Nu kan vi tilslutte SD -kortet til vores RPI, tilslutte RPI'en til din pc ved hjælp af et ethernet -kabel.
For at oprette forbindelse til RPI'en bruger vi PuTTy med vores APIPA-adresse.
- Åbn PuTTy
- Udfyld vores APIPA-adresse som værtsnavn (169.254.10.1)
- Sørg for, at porten er 22, og at SSH er valgt
- Nu kan du åbne forbindelsen
- Standard brugernavn er: pi
- Med standardadgangskode: hindbær
raspi-config indstillinger
Åbn raspi-config ved hjælp af:
sudo raspi-config
- Skift brugeradgangskode
- Vælg din tidszone i lokaliseringsindstillingerne
- Opsæt WiFi ved hjælp af netværksindstillinger og derefter Wi-Fi-indstilling, hvor du skal udfylde dit SSID og adgangskode.
Installer Python 3
I dette projekt bruger vi Python, derfor sætter vi standard til Python3 insteat af Python2 ved hjælp af følgende kommandoer
opdateringsalternativer-install/usr/bin/python python /usr/bin/python2.7 1
opdateringsalternativer-install/usr/bin/python python/usr/bin/python3 2
Python pakker
Vi skal bruge et par pakker for at få alt til at fungere korrekt, hovedsageligt kolbe -pakkerne og en til at oprette forbindelse til vores database. Vi kan installere disse pakker ved hjælp af følgende kommandoer:
pip installere kolbe
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Database
Dernæst skal vi installere vores database management system (MariaDB), vi gør det ved hjælp af:
sudo apt installer mariadb-server
Skriv "Y" og Enter for at fortsætte. Efter et par sekunder er installationsprocessen fuldført, og MariaDB er næsten klar til brug.
For at indstille give databasen en adgangskode skal du bruge kommandoen:
sudo mysql_secure_installation
Tryk derefter på Enter, da den aktuelle adgangskode er tom. Tryk derefter på "Y" for at angive en adgangskode, nu kan du udfylde en hvilken som helst adgangskode, og husk den, fordi vi har brug for den for at lave en korrekt forbindelse mellem back- og front-end.
Tryk nu på “Y” 3 gange for at: fjerne anonyme brugere, fjerne root -login eksternt og fjerne testdatabasen. Til sidst skal du trykke på “Y” igen for at genindlæse privilegierne.
Nu er MariaDB og alle de nødvendige pakker installeret med succes.
Trin 2: Grib koden og konfigurer den
Nu hvor vi har alle pakkerne installeret, kan vi få fat i koden.
Koden er tilgængelig på Github, så du kan klone den ved hjælp af:
git-klon
Dette er frontend
git-klon
Dette er backend
Installation af selve databasen
For at installere databasen skal du navigere til.sql -filen, der er i backend -mappen ved hjælp af følgende kommandoer (sørg for at indstille den til din egen sti.
mysql
opret database switchit afslut mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Installation af Apache
Nu hvor vi har al koden og databaseopsætningen, kan vi installere Apache og køre vores backend på den. Vi gør det ved hjælp af:
apt -get install apache2 -y
Udskift derefter filerne i/var/ww/html med dem i mappen fra frontend -mappen.
Hvis alt gik godt, skulle du kunne oprette forbindelse til dit websted ved hjælp af APIPA -adressen: 169.254.10.1 i din browser.
Trin 3: Arduino -kommunikation
For at læse vores nuværende sensor og vores RFID -sensor bruger vi en arduino, for at gøre det skal du bruge den arduino -kode, der er angivet nedenfor. Upload den ved hjælp af et USB-A til USB-B-kabel og arduino IDE-softwaren. Når den er uploadet, er arduino -delen færdig.
Nu skal vi finde navnet på den serielle enhed på PI'en. For at gøre dette skal du sørge for, at i /boot/config.txt "enable_uart = 1" er indstillet rigtigt. Sørg også for, at "console = serial0, 115200" er fjernet fra cmdline.txt.
Kontroller derefter portene vha
ls -l /dev
Så skulle et af serienavne være Arduino. Udfyld dette navn ved arduinocom -funktionen i app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
Gør det kun, hvis den serielle kommunikation ikke fungerer.
Trin 4: Tilslutning af switch-it
Tilslutning af alt er ret ligetil, selvom du skal huske følgende ting:
- Vær forsigtig med stikkontakten, 230 volt kan være dødelig.
- Sørg for at bruge en niveauomformer til kommunikation mellem RPI og Arduino.
- Inden lodning af RGB, skal du sørge for at bruge den røde og grønne pin. Test dette på forhånd!
- Test, om intet er kortsluttet, FØR der tændes for kredsløbet.
Trin 5: Kørsel af koden
Nu er alt tilsluttet korrekt, vi kan køre vores program.
For at få det til at køre automatisk ved opstart, skal du oprette en fil ved hjælp af:
sudo nano myscript.service
Indsæt derefter (sørg for at bruge din egen app.py -mappe:
[Enhed] Beskrivelse = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // skift til app.py bibliotek // StandardOutput = arv StandardError = arv Genstart = altid bruger = pi [Install] WantedBy = multi-user.target
Tryk derefter på "ctrl + X" og kopier det til/etc/systemd/system.
Derefter følger kommandoen for at få den til at køre automatisk:
sudo systemctl aktiver myscript.service
Du kan finde mere information om dette på RaspBerry Pi -webstedet.
Genstart og færdig
Genstart nu din PI ved hjælp af:
sudo genstart -h nu
Sådan laver du Switch-it!
Tak fordi du følger med, håber dette var nyttigt. Hvis du har tips eller feedback, tøv ikke med at efterlade en kommentar.
Trin 6: (VALGFRIT) huset
Du kan bygge huset helt efter din egen smag. Jeg brugte en metalkasse, der er 40x40x5 cm med låg. Da jeg brugte en metal, var jeg nødt til at bore huller og bruge afstandsstykker for at få alt væk fra bundpladen. Jeg valgte at bruge et centralt punkt, hvor 5V, 3.3V og gnd er tilgængelig. Hver elektrisk forbindelse er loddet med et stykke krympeslange oven på det. For at udføre kabelstyringen brugte jeg puder med bærestropper.
Anbefalede:
Sådan laver du luftfugtighed og temperatur i realtid datarekorder med Arduino UNO og SD-kort - DHT11 Datalogger Simulering i Proteus: 5 trin
Sådan laver du luftfugtighed og temperatur i realtid datarekorder med Arduino UNO og SD-kort | DHT11 Datalogger Simulering i Proteus: Introduktion: hej, dette er Liono Maker, her er YouTube-link. Vi laver kreative projekter med Arduino og arbejder på integrerede systemer. Data-Logger: En datalogger (også datalogger eller dataregistrator) er en elektronisk enhed, der registrerer data over tid med
MicroPython-program: Opdater data om coronavirus (COVID-19) i realtid: 10 trin (med billeder)
MicroPython-program: Opdater data om Coronavirus-sygdom (COVID-19) i realtid: I de sidste par uger er antallet af bekræftede tilfælde af coronavirus-sygdom (COVID 19) på verdensplan overskredet 100.000, og verdenssundhedsorganisationen (WHO) har erklæret nyt coronavirus lungebetændelse udbrud for at være en global pandemi. Jeg var meget
Automatisk last (vakuum) switch med ACS712 og Arduino: 7 trin (med billeder)
Automatisk last (vakuum) switch med ACS712 og Arduino: Hej alle sammen, At køre et elværktøj i et lukket rum er en travlhed, på grund af alt det støv, der dannes i luften og støv i luften, betyder støv i lungerne. At køre din butiksvakuum kan eliminere noget af den risiko, men tænde og slukke den hver gang
Lys mig op! en LED-stripkontrol i realtid på tværs af platforme: 5 trin (med billeder)
Lys mig op! en LED-stripkontrol i realtid på tværs af platforme: LightMeUp! er et system, jeg opfandt til styring af en RGB LED-strip i realtid, samtidig med at omkostningerne blev holdt lave og ydeevnen høj. Serveren er skrevet i Node.js og derfor krydsplatformbar. I mit eksempel bruger jeg en Raspberry Pi 3B til langtidsbrug
Automatisk WiFi -planteføder med reservoir - Indendørs/udendørs dyrkningssætning - Vandplanter automatisk med fjernovervågning: 21 trin
Automatisk WiFi -planteføder med reservoir - Indendørs/udendørs dyrkningssætning - Vandplanter automatisk med fjernovervågning: I denne vejledning vil vi demonstrere, hvordan du konfigurerer et brugerdefineret indendørs/udendørs planteføderanlæg, der automatisk vanner planter og kan overvåges eksternt ved hjælp af Adosia -platformen