Indholdsfortegnelse:

Switch-it, automatisk afgang med strømmåling i realtid: 6 trin
Switch-it, automatisk afgang med strømmåling i realtid: 6 trin

Video: Switch-it, automatisk afgang med strømmåling i realtid: 6 trin

Video: Switch-it, automatisk afgang med strømmåling i realtid: 6 trin
Video: 🚀 AMAZON 2.0 возвращается! - ИНТЕРНЕТ МАГАЗИН за 6 часов - Часть 2 2024, November
Anonim
Switch-it, automatisk afgang med strømmåling i realtid
Switch-it, automatisk afgang med strømmåling i realtid
Switch-it, automatisk stikkontakt med strømmåling i realtid
Switch-it, automatisk stikkontakt med strømmåling i realtid
Switch-it, automatisk stikkontakt med strømmåling i realtid
Switch-it, automatisk stikkontakt med strømmåling i realtid
Switch-it, automatisk stikkontakt med strømmåling i realtid
Switch-it, automatisk stikkontakt med strømmåling i realtid

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

Opsætning af Rasbian
Opsætning af Rasbian
Opsætning af Rasbian
Opsætning af Rasbian

Først og fremmest vil vi blinke Rasbian på SD-kortet. Vi gør det ved hjælp af balenaEtcher.

  1. Åbn balenaEtcher
  2. Vælg det Rasbiske billede
  3. Vælg dit SD-kort
  4. 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:

  1. Henter boot-biblioteket på SD-kortet
  2. Åbn "cmdline.txt"
  3. Tilføj "169.254.10.1" i slutningen af dokumentet, og gem det
  4. Tilføj en fil kaldet "ssh" til boot -biblioteket (GIV IKKE DENNE FIL EN UDVIDELSE)
  5. 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.

  1. Åbn PuTTy
  2. Udfyld vores APIPA-adresse som værtsnavn (169.254.10.1)
  3. Sørg for, at porten er 22, og at SSH er valgt
  4. Nu kan du åbne forbindelsen
  5. Standard brugernavn er: pi
  6. 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

Grib koden og opsæt den
Grib koden og opsæt den
Grib koden og opsæt den
Grib koden og opsæt 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

Arduino kommunikation
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

Kabelføring Skift-it
Kabelføring Skift-it
Kabelføring Skift-it
Kabelføring Skift-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

(VALGFRIT) huset
(VALGFRIT) huset
(VALGFRIT) huset
(VALGFRIT) huset
(VALGFRIT) huset
(VALGFRIT) huset
(VALGFRIT) huset
(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: