Sadržaj:
- Supplies
- Korak 1: Postavite Rasbian
- Korak 2: Uhvatite kôd i postavite ga
- Korak 3: Arduino komunikacija
- Korak 4: Ožičenje Prebacite ga
- Korak 5: Pokretanje koda
- Korak 6: (NEOBVEZNO) stanovanje
Video: Uključivanje, automatska utičnica sa mjerenjem struje u stvarnom vremenu: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Zaista volim automatizaciju, mogućnost kontrole kada se nešto mora dogoditi. Ovo me je navelo na 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 ovo, imate mogućnost vidjeti koliko struja protiče kroz utičnicu.
Komponente potrebne za ovaj projekat su:
Supplies
Prije nego što počnemo, ovo su stvari koje će vam definitivno trebati da napravite 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
- 5V-3.3V Mjenjač razine
- Relejni modul 5V
- ACS712 20A - trenutni modul
- 1838 IR-prijemnik modul 37,9 kHz
- IC daljinski (koristim Elegoo)
- zajednička katoda RGB
- 3 * 330Ω otpornici
- dugme za pritiskanje
- RFID-RC522
- LCD 1602A-1
- Niko zidna utičnica
- Potmetar od 10K Ω
- Napajanje 230 do 5V - 7A
Cables
- Kabel USB-B na USB-A
- USB-C kabel za napajanje
- Ethernet kabel
Various
- Muško-ženske džemper žice
- Muško-muški džemper žice
- Lemljeni lim
- Skupljajuća cijev
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č
- Velcro traka
- vodiči za kablove
Softver
- balenaEtcher:
- PuTTy
- rasbian
- Kôd Visual Studija
- Arduino IDE
Korak 1: Postavite Rasbian
Prije svega ćemo prebaciti Rasbian na SD-karticu. To ćemo učiniti koristeći balenaEtcher.
- Otvorite balenaEtcher
- Odaberite Rasbian Image
- Odaberite svoju SD karticu
- Pritisnite Flash i pričekajte nekoliko minuta dok ne zatreperi
Dodavanje APIPA -e u direktorij za pokretanje: Koristit ćemo APIPA adresu za programiranje i konfiguriranje postavki na RPI -u. Da biste to učinili:
- 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čunara.
Pristupa RPI -u koristeći PuTTy
Sada možemo priključiti SD karticu u naš RPI, povezati RPI na računalo pomoću Ethernet kabela.
Za povezivanje na RPI koristit ćemo PuTTy sa našom APIPA adresom.
- Otvorite PuTTy
- Unesite našu APIPA adresu kao ime 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 koristeći mrežne opcije, zatim opciju Wi-Fi gdje morate popuniti 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
update-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š sistem za upravljanje bazama podataka (MariaDB), a to ćemo učiniti koristeći:
sudo apt install mariadb-server
Upišite “Y” i Enter za nastavak. Nakon nekoliko sekundi, proces instalacije je dovršen i MariaDB je gotovo spreman za upotrebu.
Da biste postavili lozinku za bazu 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, pazite da 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, ponovo 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.
Kod je dostupan na Githubu pa ga možete klonirati pomoću:
git clone
Ovo je prednja strana
git clone
Ovo je pozadina
Instaliranje same baze podataka
Da biste instalirali bazu podataka, idite do.sql datoteke koja se nalazi u pozadinskoj mapi koristeći sljedeće naredbe (obavezno je postavite na svoju putanju.
mysql
kreiraj 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 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 u redu, 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 našeg RFID senzora koristimo arduino, kako bismo to učinili, upotrijebite arduino kôd dat u nastavku. Prenesite ga pomoću USB-A na USB-B kabela i arduino IDE softvera. Kada se učita, arduino dio je gotov.
Sada moramo pronaći naziv serijskog uređaja na PI. Da biste to učinili, provjerite je li u /boot/config.txt "enable_uart = 1" postavljeno ispravno. Također provjerite je li "console = serial0, 115200" uklonjena iz cmdline.txt.
Zatim provjerite portove pomoću
ls -l /dev
Tada bi jedno od serijskih imena trebalo biti Arduino. Unesite ovo ime na funkciji arduinocom u app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
Učinite to samo ako serijska komunikacija ne funkcionira.
Korak 4: Ožičenje Prebacite ga
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 -a i Arduina koristite pretvarač nivoa.
- Prije lemljenja RGB -a, provjerite koristite li crvenu i zelenu iglu. Testirajte ovo unapred!
- Prije napajanja strujnog kruga provjerite nema li kratkog spoja.
Korak 5: Pokretanje koda
Sada je sve ispravno povezano i možemo pokrenuti naš program.
Da biste ga pokrenuli automatski pri pokretanju, stvorite datoteku koristeći:
sudo nano myscript.service
Zatim zalijepite (svakako upotrijebite vlastiti direktorij app.py:
[Jedinica] Opis = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // promjena u app.py direktorij // StandardOutput = nasljeđivanje StandardError = nasljeđivanje Restart = uvijek Korisnik = pi [Instaliraj] WantedBy = višekorisnički cilj
Zatim pritisnite "ctrl + X" i kopirajte ga u/etc/systemd/system.
Zatim naredba follwing za automatsko pokretanje:
sudo systemctl omogućuje myscript.service
Više informacija o ovome možete pronaći na web stranici RaspBerry Pi.
Ponovo pokrenite sistem i gotovo
Sada ponovo pokrenite PI pomoću:
sudo reboot -h sada
Ovako ćete napraviti Switch-it!
Hvala na praćenju, 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 sa ploče. Odlučio sam se za centralnu točku 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 sa trakama za nošenje.
Preporučuje se:
Kako koristiti modul sata u stvarnom vremenu (DS3231): 5 koraka
Kako koristiti modul sata u stvarnom vremenu (DS3231): DS3231 je jeftin, izuzetno precizan I2C sat u stvarnom vremenu (RTC) sa integriranim kristalnim oscilatorom kompenziranim temperaturom (TCXO) i kristalom. Uređaj ima ulaz za bateriju i održava precizno mjerenje vremena kada je napajanje
Rubikova kocka sa povezom preko očiju 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 alata za kocke napravljena za rješavanje povezanih očiju. Prvu verziju je razvio javascript, možete vidjeti projekt RubiksCubeBlindfolded1 Za razliku od prethodne, ova verzija koristi OpenCV biblioteku za otkrivanje boja i e
Mjerač nivoa vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač nivoa bunara u stvarnom vremenu: Ova uputstva opisuju kako izgraditi jeftino mjerač nivoa vode u stvarnom vremenu za upotrebu u iskopanim bunarima. Mjerač nivoa vode je dizajniran da visi unutar iskopanog bunara, mjeri nivo vode jednom dnevno i šalje podatke putem WiFi -a ili mobilne veze
Mjerač temperature vode, vodljivosti i nivoa vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač temperature vode, vodljivosti i nivoa vode u bušotini u stvarnom vremenu: Ova uputstva opisuju kako izgraditi jeftin mjerač vode u stvarnom vremenu za praćenje temperature, električne provodljivosti (EC) i nivoa vode u iskopanim bunarima. Mjerač je dizajniran da visi u iskopanom bunaru, mjeri temperaturu vode, EC i
Iscrtavanje grafikona u stvarnom vremenu na Androidu od Arduina do HC-05: 3 koraka
Iscrtavanje grafikona u stvarnom vremenu na Androidu s Arduina preko HC-05: Hej, evo vodiča kako iscrtati grafikon vrijednosti u stvarnom vremenu iz mikrokontrolera, poput Arduina, u aplikaciju. Koristi Bluetooth modul poput HC-05 da djeluje kao uređaj za razmjenu poruka za prijenos i primanje podataka između Ar