Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
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
Først av alt blinker vi Rasbian på SD-kortet. Vi vil gjøre det ved hjelp av balenaEtcher.
- Åpne balenaEtcher
- Velg Rasbian -bildet
- Velg ditt SD-kort
- 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:
- Få tilgang til oppstartskatalogen på SD-kortet
- Åpne "cmdline.txt"
- Legg til "169.254.10.1" på slutten av dokumentet og lagre det
- Legg til en fil som heter "ssh" i oppstartskatalogen (IKKE GI DENNE FILEN EN UTVIDELSE)
- 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.
- Åpen PuTTy
- Fyll ut vår APIPA-adresse som vertsnavn (169.254.10.1)
- Kontroller at porten er 22 og SSH er valgt
- Nå kan du åpne tilkoblingen
- Standard brukernavn er: pi
- 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
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
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
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
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:
Automatisk kjølevifte med servo og DHT11 temperatur- og fuktighetssensor med Arduino: 8 trinn
Automatisk kjølevifte ved hjelp av Servo og DHT11 temperatur- og fuktighetssensor med Arduino: I denne opplæringen lærer vi hvordan du starter & roter en vifte når temperaturen stiger over et visst nivå
Automatisk IoT Hallway Night Light med ESP8266: 4 trinn (med bilder)
Automatisk IoT Hallway Night Light Med ESP8266: Jeg startet dette prosjektet inspirert av et trappelys fra et annet instruerbart innlegg. Forskjellen er at hjernen i kretsen bruker ESP8266, noe som betyr at det kommer til å bli en IoT -enhet. Det jeg har i tankene er å ha gangen nattlys for
WiFi automatisk plantemater med reservoar - Innendørs/utendørs dyrking Oppsett - Vannplanter automatisk med fjernovervåking: 21 trinn
WiFi automatisk plantemater med reservoar - Innendørs/utendørs kultiveringsoppsett - Vannplanter automatisk med ekstern overvåking: I denne opplæringen vil vi demonstrere hvordan du konfigurerer et tilpasset innendørs/utendørs plantefôringssystem som automatisk vanner planter og kan overvåkes eksternt ved hjelp av Adosia -plattformen
Amazon Alexa -kontrollerte 433mHz eksterne smarte uttak med ESP8266: 4 trinn
Amazon Alexa Controlled 433mHz Remote Smart Outlets With ESP8266: I denne instruksjonsfilen vil jeg vise deg hvordan du lager Amazon Echo -kontroll 433mHz fjernkontrollerte uttak ved hjelp av ESP8266. måten er NodeMCU -villsvinet
Bevegelseskontrollert uttak - Fra et bevegelsessensorlys: 6 trinn
Motion Controlled Outlet - From a Motion Sensing Light: Tenk deg at du er en lureri som går til det mest skumle huset på blokken. Etter å ha gått forbi alle ghoulene, spøkelsene og kirkegårdene kommer du endelig til den siste stien. Du kan se godteriet i en bolle foran deg! Men så plutselig en gho