Sadržaj:
- Pribor
- Korak 1: Postavite Rasbian
- Korak 2: Uhvatite kôd i postavite ga
- Korak 3: Arduino komunikacija
- Korak 4: Ožičenje Switch-it
- Korak 5: Pokretanje koda
- Korak 6: (NEOBVEZNO) stanovanje
Video: Prekidač, automatska utičnica s mjerenjem struje u stvarnom vremenu: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Jako volim automatizaciju, sposobnost kontrole kada se nešto mora dogoditi. Zbog toga sam došao na ovu ideju: samostalno izrađena, automatska utičnica. Može se koristiti za planiranje kada je potrebno uključiti svjetlo, kada je potrebno napuniti telefone ili kada je potrebno napajanje ekrana. Uz sve to, imate mogućnost vidjeti koliko struja teče kroz utičnicu.
Komponente potrebne za ovaj projekt su:
Pribor
Prije nego što počnemo, ovo su stvari koje ćete definitivno trebati izgraditi Switch-IT kutiju poput moje. Ove zalihe koštat će oko 50 do 100 eura, ovisno o vašoj regiji i trenutnim cijenama.
Hardver
Elektronika
- Malina pi 4
- 16 GB (ili više) mikro SD kartica
- Arduino Uno
- Mjenjač razine 5V-3.3V
- Relejni modul 5V
- ACS712 20A - strujni modul
- 1838 IR-prijamnik 37,9 kHz modul
- IC daljinski (koristim Elegoo)
- zajednička katoda RGB
- 3 * 330Ω otpornika
- pritisni gumb
- RFID-RC522
- LCD 1602A-1
- Niko zidna utičnica
- 10K Ω mjerač puta
- Napajanje 230 do 5V - 7A
Kablovi
- Kabel USB-B na USB-A
- USB-C kabel za napajanje
- Ethernet kabel
Razne
- Muško-ženski džemper žice
- Muško-muški džemper žice
- Lemljeni lim
- Cijev za skupljanje
Posebni dijelovi kućišta (NEOBVEZNO)
- 50 * oraha i podebljano
- metalno kućište 40x40x5 cm s poklopcem
- dvostrana traka
- Odstojnici visoki 6 * 1 cm
- led-držač
- Čičak traka
- vodilice kabela
Softver
- balenaEtcher:
- Kit
- rasbian
- Kôd Visual Studija
- Arduino IDE
Korak 1: Postavite Rasbian
Prije svega ćemo prebaciti Rasbian na SD-karticu. To ćemo učiniti pomoću balenaEtcher.
- Otvorite balenaEtcher
- Odaberite Rasbian Image
- Odaberite SD karticu
- Pritisnite Flash i pričekajte nekoliko minuta dok ne zasvijetli
Dodavanje APIPA -e u direktorij za pokretanje: Koristit ćemo APIPA adresu za programiranje i konfiguriranje postavki na RPI -ju. Uraditi ovo:
- Pristupa direktoriju za pokretanje na SD-kartici
- Otvorite "cmdline.txt"
- Dodajte "169.254.10.1" na kraju dokumenta i spremite ga
- Dodajte datoteku pod nazivom "ssh" u direktorij za pokretanje (NEMOJTE DODATI OVOJ DATOTEKI PROŠIRENJE)
- Nakon što to učinite, možete izvaditi SD karticu iz računala.
Pristupa RPI -ju pomoću PuTTy -ja
Sada možemo priključiti SD karticu u naš RPI, povezati RPI na računalo pomoću Ethernet kabela.
Za spajanje na RPI koristit ćemo PuTTy s našom APIPA adresom.
- Otvorite PuTTy
- Ispunite našu APIPA adresu kao naziv hosta (169.254.10.1)
- Provjerite je li port 22 i je li odabran SSH
- Sada možete otvoriti vezu
- Zadano korisničko ime je: pi
- Sa zadanom lozinkom: malina
raspi-config postavke
Otvorite raspi-config pomoću:
sudo raspi-config
- Promijenite korisničku lozinku
- U opcijama lokalizacije odaberite svoju vremensku zonu
- Postavite WiFi pomoću mrežnih opcija, a zatim Wi-Fi opciju gdje morate unijeti svoj SSID i lozinku.
Instalirajte Python 3
U ovom projektu koristimo Python, stoga ćemo postaviti zadano na Python3 insteat Python2, koristeći sljedeće naredbe
nadogradnje-alternative --install/usr/bin/python python /usr/bin/python2.7 1
nadogradnje-alternative --install/usr/bin/python python/usr/bin/python3 2
Python paketi
Trebat će nam nekoliko paketa da bi sve radilo ispravno, uglavnom Flask paketi i jedan za povezivanje s našom DataBase. Te pakete možemo instalirati pomoću sljedećih naredbi:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Baza podataka
Sljedeće ćemo instalirati naš sustav za upravljanje bazama podataka (MariaDB), a to ćemo učiniti pomoću:
sudo apt install mariadb-server
Upišite “Y” i Enter za nastavak. Nakon nekoliko sekundi, postupak instalacije je dovršen i MariaDB je gotovo spreman za upotrebu.
Za postavljanje lozinke bazi podataka koristite naredbu:
sudo mysql_secure_installation
Zatim pritisnite Enter jer je trenutna lozinka prazna. Zatim pritisnite "Y" za postavljanje lozinke, sada možete unijeti bilo koju lozinku koju želite, svakako je zapamtite jer nam je potrebna za uspostavu ispravne veze između pozadinskog i prednjeg kraja.
Sada pritisnite “Y” 3 puta za: uklanjanje anonimnih korisnika, daljinsko onemogućavanje root prijave i uklanjanje testne baze podataka. Na kraju, ponovno pritisnite “Y” za ponovno učitavanje privilegija.
Sada su MariaDB i svi potrebni paketi uspješno instalirani.
Korak 2: Uhvatite kôd i postavite ga
Sada kada smo instalirali sve pakete, možemo uzeti kod.
Kôd je dostupan na Githubu pa ga možete klonirati pomoću:
git klon
Ovo je prednja strana
git klon
Ovo je pozadina
Instaliranje same baze podataka
Da biste instalirali bazu podataka, dođite do.sql datoteke koja se nalazi u pozadinskoj mapi pomoću sljedećih naredbi (svakako je postavite na vlastiti put.
mysql
stvoriti switchit bazu podataka quit mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Instaliranje Apache -a
Sada kada imamo sav kôd i postavku baze podataka, možemo instalirati Apache i na njemu pokrenuti našu pozadinu. To ćemo učiniti koristeći:
apt -get install apache2 -y
Zatim zamijenite datoteke u/var/ww/html onima u mapi iz prednje mape.
Ako je sve prošlo dobro, trebali biste se moći povezati sa svojom web lokacijom koristeći APIPA adresu: 169.254.10.1 u svom pregledniku.
Korak 3: Arduino komunikacija
Za čitanje našeg trenutnog senzora i RFID senzora koristimo arduino, kako bismo to učinili, upotrijebite arduino kôd naveden u nastavku. Prenesite ga pomoću kabela USB-A na USB-B i arduino IDE softvera. Kad se učita, arduino dio je gotov.
Sada moramo pronaći naziv serijskog uređaja na PI -u. Da biste to učinili, provjerite je li u /boot/config.txt ispravno postavljeno "enable_uart = 1". Također provjerite je li "console = serial0, 115200" uklonjena iz cmdline.txt.
Zatim provjerite portove pomoću
ls -l /dev
Tada bi jedan od serijskih naziva trebao biti Arduino. Unesite ovaj naziv na funkciji arduinocom u app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
Učinite to samo ako serijska komunikacija ne radi.
Korak 4: Ožičenje Switch-it
Ožičenje je prilično jednostavno, ali morate imati na umu sljedeće:
- Budite oprezni sa zidnom utičnicom, 230 volti može biti smrtonosno.
- Za komunikaciju između RPI -ja i Arduina koristite pretvarač razina.
- Prije lemljenja RGB -a, provjerite koristite li crvenu i zelenu iglu. Testirajte ovo unaprijed!
- Prije napajanja strujnog kruga provjerite nema li kratkog spoja.
Korak 5: Pokretanje koda
Sada je sve ispravno povezano, možemo pokrenuti naš program.
Da biste ga pokrenuli automatski pri pokretanju, stvorite datoteku pomoću:
sudo nano myscript.usluga
Zatim zalijepite (svakako upotrijebite vlastiti direktorij app.py:
[Jedinica] Opis = Switchit After = network.target [Usluga] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // promijeni u direktorij app.py // StandardOutput = naslijedi StandardError = naslijedi Restart = uvijek Korisnik = pi [Instaliraj] TraženBy = višekorisnički cilj
Zatim pritisnite "ctrl + X" i kopirajte ga u/etc/systemd/system.
Zatim naredba follwing za automatsko pokretanje:
sudo systemctl omogućiti myscript.service
Više informacija o ovome možete pronaći na web stranici RaspBerry Pi.
Ponovno pokretanje i gotovo
Sada ponovno pokrenite PI pomoću:
sudo reboot -h sada
Ovako se radi Switch-it!
Hvala što ste nas pratili, nadam se da je ovo bilo korisno. Ako imate bilo kakve savjete ili povratne informacije, ne ustručavajte se ostaviti komentar.
Korak 6: (NEOBVEZNO) stanovanje
Kućište možete izgraditi u potpunosti po vlastitom nahođenju. Koristio sam metalno kućište dimenzija 40x40x5 cm s poklopcem. Budući da sam koristio metalnu, morao sam izbušiti rupe i pomoću odstojnika skinuti sve s ploče. Odlučio sam se koristiti središnjom točkom na kojoj su dostupni 5V, 3.3V i gnd. Svaka električna veza lemljena je komadom skupljajuće cijevi na vrhu. Za upravljanje kablovima koristio sam jastučiće s remenima za nošenje.
Preporučeni:
Kako koristiti modul sata u stvarnom vremenu (DS3231): 5 koraka
Kako koristiti modul sata u stvarnom vremenu (DS3231): DS3231 je jeftin, iznimno točan I2C sat u stvarnom vremenu (RTC) s integriranim temperaturno kompenziranim kristalnim oscilatorom (TCXO) i kristalom. Uređaj ima ulaz za bateriju i održava točno mjerenje vremena kada je glavno napajanje
Rubikova kocka s povezom s povezom u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Rubikova kocka s povezom s povezom u stvarnom vremenu pomoću Raspberry Pi-a i OpenCV-a: Ovo je druga verzija Rubikove alate za kocke napravljena za rješavanje povezanih očiju. Prvu verziju razvio je javascript, možete vidjeti projekt RubiksCubeBlindfolded1 Za razliku od prethodne, ova verzija koristi biblioteku OpenCV za otkrivanje boja i e
Mjerač razine vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač razine vode u stvarnom vremenu: Ove upute opisuju kako izgraditi jeftino mjerač razine vode u stvarnom vremenu za upotrebu u iskopanim bunarima. Mjerač razine vode dizajniran je tako da visi unutar iskopanog bunara, mjeri razinu vode jednom dnevno i šalje podatke putem WiFi -a ili mobilne veze
Mjerač temperature vode, vodljivosti i razine vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač temperature vode, vodljivosti i razine vode u zdencu u stvarnom vremenu: Ove upute opisuju kako izgraditi jeftin mjerač vode u stvarnom vremenu za praćenje temperature, električne vodljivosti (EC) i razine vode u iskopanim bunarima. Mjerač je dizajniran da visi unutar iskopanog bunara, mjeri temperaturu vode, EC i
Automatska utičnica za uključivanje/isključivanje: 4 koraka (sa slikama)
Automatska utičnica za uključivanje/isključivanje: Ova instrukcija govori o automatskom noćnom svjetlu. Utičnica se uključuje tijekom noći i isključuje se kada na nju padnu zrake svjetlosti. Ova značajka zaobilaznog prekidača za izravno upravljanje utičnicom Indikatorska lampica statusa Svestrano upravljana 5V