Innehållsförteckning:

Switch-it, automatiskt uttag med strömmätning i realtid: 6 steg
Switch-it, automatiskt uttag med strömmätning i realtid: 6 steg

Video: Switch-it, automatiskt uttag med strömmätning i realtid: 6 steg

Video: Switch-it, automatiskt uttag med strömmätning i realtid: 6 steg
Video: Bilgenerator till självexciterad generator med DIODE 2024, Juli
Anonim
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid
Switch-it, automatiskt uttag med strömmätning i realtid

Jag gillar verkligen automatisering, förmågan att kontrollera när något måste hända. Det var det som fick mig att komma på denna idé: ett självgjord, automatiskt uttag. Den kan användas för att planera när lampor måste slås på, när telefoner måste laddas eller när en skärm måste drivas. Förutom allt detta har du möjlighet att se hur mycket ström som flödar genom uttaget.

De komponenter som behövs för detta projekt är:

Tillbehör

Innan vi börjar är det här saker du definitivt behöver för att bygga en Switch-IT-låda som min. Dessa leveranser kommer att kosta cirka 50 till 100 euro beroende på din region och aktuella priser.

Hårdvara

Elektronik

  • Hallon pi 4
  • 16 GB (eller mer) Micro SD-kort
  • Arduino Uno
  • 5V-3.3V Nivåreglage
  • 5V relämodul
  • ACS712 20A - strömmodul
  • 1838 IR-mottagare 37,9 kHz modul
  • IR -fjärrkontroll (jag använder en Elegoo)
  • vanlig katod RGB
  • 3 * 330Ω motstånd
  • tryckknapp
  • RFID-RC522
  • LCD 1602A-1
  • Niko vägguttag
  • 10K Ω potmeter
  • 230 till 5V - 7A strömförsörjning

Kablar

  • USB-B till USB-A-kabel
  • USB-C strömkabel
  • Ethernet -kabel

Olika

  • Man-Kvinna Jumperwires
  • Man-man Jumperwires
  • Lödtenn
  • Krympande rör

Case specifika delar (TILLVAL)

  • 50 * nötter och fetstil
  • metallhölje 40x40x5 cm med lock
  • dubbelsidig tejp
  • 6 * 1 cm höga distanser
  • led-hållare
  • Kardborreband
  • kabelstyrningar

programvara

  • balenaEtcher:
  • Spackel
  • rasbisk
  • Visual Studio -kod
  • Arduino IDE

Steg 1: Konfigurera Rasbian

Installera Rasbian
Installera Rasbian
Installera Rasbian
Installera Rasbian

Först och främst blinkar vi Rasbian på SD-kortet. Vi kommer att göra det med balenaEtcher.

  1. Öppna balenaEtcher
  2. Välj Rasbian -bilden
  3. Välj ditt SD-kort
  4. Tryck på Flash och vänta några minuter tills den blinkar

Lägga till APIPA i startkatalogen: Vi kommer att använda en APIPA -adress för att programmera och konfigurera inställningar på RPI: n. Att göra detta:

  1. Återställer startkatalogen på SD-kortet
  2. Öppna "cmdline.txt"
  3. Lägg till "169.254.10.1" i slutet av dokumentet och spara det
  4. Lägg till en fil som heter "ssh" i startkatalogen (ge inte denna fil en förlängning)
  5. När du har gjort detta kan du mata ut SD -kortet från din dator.

Åtkomst till RPI med PuTTy

Nu kan vi ansluta SD -kortet till vår RPI, ansluta RPI till din dator med en ethernet -kabel.

För att ansluta till RPI använder vi PuTTy med vår APIPA-adress.

  1. Öppna PuTTy
  2. Fyll i vår APIPA-adress som värdnamn (169.254.10.1)
  3. Se till att porten är 22 och SSH är vald
  4. Nu kan du öppna anslutningen
  5. Standardnamnet är: pi
  6. Med standardlösenord: hallon

raspi-config inställningar

Öppna raspi-config med:

sudo raspi-config

  • Ändra användarlösenordet
  • Välj din tidszon i lokaliseringsalternativen
  • Konfigurera WiFi med nätverksalternativ och sedan Wi-Fi-alternativ där du måste fylla i ditt SSID och lösenord.

Installera Python 3

I det här projektet använder vi Python, därför ställer vi in standard till Python3 insteat av Python2, med följande kommandon

uppdateringsalternativ-installera/usr/bin/python python /usr/bin/python2.7 1

uppdateringsalternativ-installera/usr/bin/python python/usr/bin/python3 2

Python -paket

Vi behöver några paket för att allt ska fungera korrekt, främst flaskpaketen och ett för att ansluta till vår databas. Vi kan installera dessa paket med följande kommandon:

pip installera kolv

pip installera Flask_cors pip installera Flask_socketio pip installera Python-mysql-connecton

Databas

Därefter kommer vi att installera vårt databashanteringssystem (MariaDB), vi gör det med:

sudo apt installera mariadb-server

Skriv "Y" och Enter för att fortsätta. Efter några sekunder är installationsprocessen klar och MariaDB är nästan klar att använda.

För att ge databasen ett lösenord, använd kommandot:

sudo mysql_secure_installation

Tryck sedan på Enter eftersom det aktuella lösenordet är tomt. Tryck sedan på "Y" för att ställa in ett lösenord, nu kan du fylla i vilket lösenord du vill, se till att komma ihåg det eftersom vi behöver det för att göra en korrekt anslutning mellan back- och front-end.

Nu trycker du på “Y” 3 gånger för att: ta bort anonyma användare, inte tillåta root -inloggning på distans och ta bort testdatabasen. Slutligen, tryck på "Y" igen för att ladda om privilegierna.

Nu installeras MariaDB och alla nödvändiga paket framgångsrikt.

Steg 2: Ta tag i koden och ställ in den

Ta tag i koden och ställ in den
Ta tag i koden och ställ in den
Ta tag i koden och ställ in den
Ta tag i koden och ställ in den

Nu när vi har alla paket installerade kan vi ta tag i koden.

Koden är tillgänglig på Github så att du kan klona den med:

git-klon

Detta är frontend

git-klon

Detta är backend

Installera själva databasen

För att installera databasen, navigera till.sql -filen som finns i backend -mappen med följande kommandon (se till att ställa in den på din egen sökväg.

mysql

skapa databas switchit avsluta mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

Installera Apache

Nu när vi har all kod och databasinställning kan vi installera Apache och köra vår backend på den. Vi gör det med:

apt -get installera apache2 -y

Ersätt sedan filerna i/var/ww/html med de i mappen från frontend -mappen.

Om allt gick bra borde du kunna ansluta till din webbplats med APIPA -adressen: 169.254.10.1 i din webbläsare.

Steg 3: Arduino -kommunikation

Arduino kommunikation
Arduino kommunikation

För att läsa vår nuvarande sensor och vår RFID -sensor använder vi en arduino, för att göra det använder du arduino -koden som anges nedan. Ladda upp den med en USB-A till USB-B-kabel och arduino IDE-programvaran. När den laddas upp är arduino -delen klar.

Nu måste vi hitta namnet på den seriella enheten på PI: n. Se till att i /boot/config.txt "enable_uart = 1" är rätt. Se också till att "console = serial0, 115200" tas bort från cmdline.txt.

Kontrollera sedan portarna med

ls -l /dev

Då bör ett av serienamnen vara Arduino. Fyll i detta namn på arduinocom -funktionen i app.py

ser = serial. Serial ('/dev/ttyS0', 9600)

Gör det bara om seriekommunikationen inte fungerar.

Steg 4: Anslutning av switch-it

Uppkoppling Switch-it
Uppkoppling Switch-it
Uppkoppling Switch-it
Uppkoppling Switch-it

Att koppla upp allt är ganska enkelt, men du bör ha följande saker i åtanke:

  • Var försiktig med vägguttaget, 230 volt kan vara dödligt.
  • Se till att använda en nivåomvandlare för kommunikation mellan RPI och Arduino.
  • Innan du lödar RGB, se till att du använder den röda och gröna stiftet. Testa detta i förväg!
  • Testa om inget är kortslutet INNAN du sätter på kretsen.

Steg 5: Kör koden

Nu är allt korrekt anslutet, vi kan köra vårt program.

För att få den att köra automatiskt vid start, skapa en fil med:

sudo nano myscript.service

Klistra sedan in (se till att använda din egen app.py -katalog:

[Enhet] Beskrivning = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // ändra till app.py -katalogen // StandardOutput = ärva StandardError = ärva Restart = alltid Användare = pi [Installera] WantedBy = multi-user.target

Tryck sedan på "ctrl + X" och kopiera den till/etc/systemd/system.

Därefter följer kommandot följande för att få det att köra automatiskt:

sudo systemctl aktivera myscript.service

Du kan hitta mer information om detta på RaspBerry Pi -webbplatsen.

Starta om och gjort

Starta nu om din PI med:

sudo reboot -h nu

Så här gör du Switch-it!

Tack för att du följer med, hoppas detta var till hjälp. Om du har några tips eller feedback, tveka inte att lämna en kommentar.

Steg 6: (TILLVAL) Huset

(TILLVAL) Huset
(TILLVAL) Huset
(TILLVAL) Huset
(TILLVAL) Huset
(TILLVAL) Huset
(TILLVAL) Huset
(TILLVAL) Huset
(TILLVAL) Huset

Du kan bygga huset helt efter eget tycke. Jag använde ett metallhölje som är 40x40x5 cm med lock. Eftersom jag använde en metall måste jag borra hål och använda distanser för att få bort allt från markplattan. Jag valde att använda en central punkt där 5V, 3.3V och gnd är tillgänglig. Varje elektrisk anslutning löds med en bit krymprör ovanpå den. För att göra kabelhanteringen använde jag kuddar med bärremmar.

Rekommenderad: