Switch-it, automatisk uttak med sanntidsstrømmåling: 6 trinn
Switch-it, automatisk uttak med sanntidsstrømmåling: 6 trinn
Anonim
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling
Switch-it, automatisk uttak med sanntidsstrømmåling

Jeg liker virkelig automatisering, evnen til å kontrollere når noe må skje. Dette var det som fikk meg til å komme med denne ideen: et selvlaget, automatisk uttak. Den kan brukes til å planlegge når lys må slås på, når telefoner må lades eller når en skjerm må slås på. I tillegg til alt dette har du muligheten til å se hvor mye strøm som strømmer gjennom uttaket.

Komponentene som trengs for dette prosjektet er:

Rekvisita

Før vi begynner er dette tingene du definitivt trenger for å bygge en Switch-IT-boks som min. Disse forsyningene vil koste rundt 50 til 100 euro, avhengig av din region og gjeldende priser.

Maskinvare

Elektronikk

  • Bringebær pi 4
  • 16 GB (eller mer) Micro SD-kort
  • Arduino Uno
  • 5V-3.3V Nivåskifter
  • 5V relemodul
  • ACS712 20A - nåværende modul
  • 1838 IR-mottaker 37,9 kHz modul
  • IR -fjernkontroll (jeg bruker en Elegoo)
  • vanlig katode RGB
  • 3 * 330Ω motstander
  • trykknapp
  • RFID-RC522
  • LCD 1602A-1
  • Niko veggkontakt
  • 10K Ω potmeter
  • 230 til 5V - 7A strømforsyning

Kabler

  • USB-B til USB-A-kabel
  • USB-C strømkabel
  • Ethernet -kabel

Diverse

  • Mann-kvinne jumperwires
  • Mann-mann jumperwires
  • Loddetinn
  • Krympende rør

Case spesifikke deler (VALGFRITT)

  • 50 * nøtter og fet skrift
  • metallkasse 40x40x5 cm med lokk
  • dobbeltsidig tape
  • 6 * 1 cm høye avstandsstykker
  • led-holder
  • Borrelåsbånd
  • kabelførere

Programvare

  • balenaEtcher:
  • PuTTy
  • rasbisk
  • Visual Studio -kode
  • Arduino IDE

Trinn 1: Sett opp Rasbian

Sett opp Rasbian
Sett opp Rasbian
Sett opp Rasbian
Sett opp Rasbian

Først av alt blinker vi Rasbian på SD-kortet. Vi vil gjøre det ved hjelp av balenaEtcher.

  1. Åpne balenaEtcher
  2. Velg Rasbian -bildet
  3. Velg ditt SD-kort
  4. Trykk på Flash og vent noen minutter til den blinker

Legge til APIPA i oppstartskatalogen: Vi bruker en APIPA -adresse for å programmere og konfigurere innstillinger på RPI. Å gjøre dette:

  1. Få tilgang til oppstartskatalogen på SD-kortet
  2. Åpne "cmdline.txt"
  3. Legg til "169.254.10.1" på slutten av dokumentet og lagre det
  4. Legg til en fil som heter "ssh" i oppstartskatalogen (IKKE GI DENNE FILEN EN UTVIDELSE)
  5. Etter at du har gjort dette kan du kaste ut SD -kortet fra PCen.

Få tilgang til RPI ved hjelp av PuTTy

Nå kan vi koble SD -kortet til RPI -en, koble RPI -en til PC -en din ved hjelp av en ethernet -kabel.

For å koble til RPI bruker vi PuTTy med vår APIPA-adresse.

  1. Åpen PuTTy
  2. Fyll ut vår APIPA-adresse som vertsnavn (169.254.10.1)
  3. Kontroller at porten er 22 og SSH er valgt
  4. Nå kan du åpne tilkoblingen
  5. Standard brukernavn er: pi
  6. Med standardpassord: bringebær

raspi-config-innstillinger

Åpne raspi-config ved å bruke:

sudo raspi-config

  • Endre brukerpassordet
  • Velg tidssonen i lokaliseringsalternativene
  • Sett opp WiFi ved hjelp av nettverksalternativer og deretter Wi-Fi-alternativet der du må fylle ut SSID og passord.

Installer Python 3

I dette prosjektet bruker vi Python, derfor setter vi standarden til Python3 insteat av Python2, ved å bruke følgende kommandoer

oppdateringsalternativer-install/usr/bin/python python /usr/bin/python2.7 1

oppdateringsalternativer-install/usr/bin/python python/usr/bin/python3 2

Python -pakker

Vi trenger noen få pakker for å få alt til å fungere riktig, hovedsakelig Flask -pakkene og en for å få forbindelse med vår database. Vi kan installere disse pakkene ved å bruke følgende kommandoer:

pip installere kolbe

pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton

Database

Neste gang skal vi installere vårt databasesystem (MariaDB), vi gjør det ved å bruke:

sudo apt installer mariadb-server

Skriv "Y" og Enter for å fortsette. Etter noen sekunder er installasjonsprosessen fullført og MariaDB er nesten klar til bruk.

For å angi gi databasen et passord, bruk kommandoen:

sudo mysql_secure_installation

Trykk deretter Enter, siden det gjeldende passordet er tomt. Trykk deretter "Y" for å angi et passord. Nå kan du fylle ut hvilket passord du vil, husk det fordi vi trenger det for å opprette en korrekt forbindelse mellom back- og front-end.

Trykk nå “Y” 3 ganger for å: fjerne anonyme brukere, ikke tillate root -pålogging eksternt og fjerne testdatabasen. Til slutt trykker du på “Y” igjen for å laste inn privilegiene på nytt.

Nå er MariaDB og alle nødvendige pakker installert.

Trinn 2: Ta tak i koden og sett den opp

Ta tak i koden og sett den opp
Ta tak i koden og sett den opp
Ta tak i koden og sett den opp
Ta tak i koden og sett den opp

Nå som vi har installert alle pakkene, kan vi hente koden.

Koden er tilgjengelig på Github, slik at du kan klone den med:

git-klon

Dette er frontenden

git-klon

Dette er backend

Installere selve databasen

For å installere databasen, naviger til.sql -filen som er i backend -mappen ved å bruke følgende kommandoer (sørg for å sette den til din egen bane.

mysql

opprett database switchit avslutt mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

Installerer Apache

Nå som vi har all koden og databaseoppsettet, kan vi installere Apache og kjøre backend på den. Vi gjør det ved å bruke:

apt -get install apache2 -y

Bytt deretter filene i/var/ww/html med de i mappen fra frontend -mappen.

Hvis alt gikk bra, bør du kunne koble til nettstedet ditt ved å bruke APIPA -adressen: 169.254.10.1 i nettleseren din.

Trinn 3: Arduino -kommunikasjon

Arduino kommunikasjon
Arduino kommunikasjon

For å lese vår nåværende sensor og vår RFID -sensor bruker vi en arduino, for å gjøre det, bruk arduino -koden gitt nedenfor. Last den opp med en USB-A til USB-B-kabel og arduino IDE-programvaren. Når den er lastet opp, er arduino -delen ferdig.

Nå må vi finne navnet på den serielle enheten på PI. For å gjøre dette må du kontrollere at i /boot/config.txt "enable_uart = 1" er angitt riktig. Sørg også for at "console = serial0, 115200" er fjernet fra cmdline.txt.

Kontroller deretter portene med

ls -l /dev

Da bør et av serienavnene være Arduino. Fyll ut dette navnet på arduinocom -funksjonen i app.py

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

Gjør det bare hvis seriekommunikasjonen ikke fungerer.

Trinn 4: Koble til Switch-it

Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it

Det er ganske enkelt å koble til alt, selv om du bør huske på følgende ting:

  • Vær forsiktig med stikkontakten, 230 volt kan være dødelig.
  • Sørg for å bruke en nivåomformer for kommunikasjon mellom RPI og Arduino.
  • Før du lodder RGB, må du bruke den røde og grønne pinnen. Test dette på forhånd!
  • Test om ingenting er kortsluttet FØR du slår på kretsen.

Trinn 5: Kjøre koden

Nå er alt riktig tilkoblet, vi kan kjøre programmet vårt.

For å få den til å kjøre automatisk ved oppstart, opprett en fil ved å:

sudo nano myscript.service

Lim deretter inn (sørg for å bruke din egen app.py -katalog:

[Enhet] Beskrivelse = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // endre til app.py -katalogen // StandardOutput = arver StandardError = arver omstart = alltid bruker = pi [Install] WantedBy = multi-user.target

Trykk deretter "ctrl + X" og kopier den til/etc/systemd/system.

Deretter følger kommandoen for å få den til å kjøre automatisk:

sudo systemctl aktiver myscript.service

Du finner mer informasjon om dette på RaspBerry Pi -nettstedet.

Start på nytt og ferdig

Start nå PI på nytt ved å bruke:

sudo reboot -h nå

Slik lager du Switch-it!

Takk for at du følger med, håper dette var nyttig. Hvis du har tips eller tilbakemeldinger, ikke nøl med å legge igjen en kommentar.

Trinn 6: (VALGFRITT) Huset

(VALGFRITT) Huset
(VALGFRITT) Huset
(VALGFRITT) Huset
(VALGFRITT) Huset
(VALGFRITT) Huset
(VALGFRITT) Huset
(VALGFRITT) Huset
(VALGFRITT) Huset

Du kan bygge huset helt etter din egen smak. Jeg brukte en metallkasse som er 40x40x5 cm med lokk. Siden jeg brukte en metall måtte jeg bore hull og bruke avstandsstykker for å få alt av bakken. Jeg valgte å bruke et sentralt punkt der 5V, 3.3V og gnd er tilgjengelig. Hver elektrisk tilkobling er loddet med et stykke krympeslange på toppen av det. For å gjøre kabelhåndteringen brukte jeg pads med bærestropper.

Anbefalt: