Kazalo:
- Zaloge
- 1. korak: Namestite Rasbian
- 2. korak: Zgrabite kodo in jo nastavite
- 3. korak: Komunikacija Arduino
- 4. korak: Ožičenje Preklopite
- 5. korak: Zaženite kodo
- 6. korak: (NEOBVEZNO) ohišje
Video: Preklop, samodejna vtičnica z merjenjem toka v realnem času: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Zelo mi je všeč avtomatizacija, sposobnost nadzora, kdaj se mora kaj zgoditi. To je tisto, zaradi česar sem prišel na to idejo: avtomatska, samodejna vtičnica. Uporablja se lahko za načrtovanje, kdaj je treba prižgati luči, kdaj je treba napolniti telefone ali ko je treba napajati zaslon. Poleg vsega tega lahko vidite, koliko toka teče skozi vtičnico.
Za ta projekt so potrebne naslednje komponente:
Zaloge
Preden začnemo, so to stvari, ki jih boste zagotovo potrebovali za izdelavo škatle Switch-IT, kot je moja. Te zaloge bodo stale okoli 50 do 100 evrov, odvisno od vaše regije in trenutnih cen.
Strojna oprema
Elektronika
- Malina pi 4
- 16 GB (ali več) mikro SD kartica
- Arduino Uno
- 5V-3.3V Ravni menjalnik
- Relejni modul 5V
- ACS712 20A - trenutni modul
- 1838 IR-sprejemnik 37,9 kHz modul
- IR daljinski upravljalnik (uporabljam Elegoo)
- navadna katoda RGB
- 3 * 330Ω upori
- pritisni gumb
- RFID-RC522
- LCD 1602A-1
- Niko vtičnica
- 10K Ω potmeter
- Napajanje od 230 do 5V - 7A
Kabli
- Kabel USB-B na USB-A
- Napajalni kabel USB-C
- Ethernet kabel
Različno
- Moško-ženski skakalci
- Moško-moški povezovalci
- Spajkalnik
- Krčljiva cev
Posebni deli ohišja (NEOBVEZNO)
- 50 * orehi in krepki tisk
- kovinsko ohišje 40x40x5 cm s pokrovom
- dvostranski trak
- 6 * 1 cm visoki distančniki
- nosilec za led
- Velcro trak
- vodila za kable
Programska oprema
- balenaEtcher:
- PuTTy
- rasbian
- Koda Visual Studio
- Arduino IDE
1. korak: Namestite Rasbian
Najprej bomo Rasbian prenesli na kartico SD. To bomo storili z uporabo balenaEtcher.
- Odprite balenaEtcher
- Izberite sliko Rasbian
- Izberite kartico SD
- Pritisnite Flash in počakajte nekaj minut, dokler ne utripa
Dodajanje APIPA v zagonski imenik: Naslov APIPA bomo uporabili za programiranje in konfiguriranje nastavitev na RPI. Storiti to:
- Dostopa do zagonskega imenika na kartici SD
- Odprite "cmdline.txt"
- Na koncu dokumenta dodajte "169.254.10.1" in ga shranite
- Dodajte datoteko z imenom "ssh" v zagonski imenik (NE DAJTE TEJ DATOTEKE PODALJŠANJA)
- Ko to storite, lahko kartico SD odstranite iz računalnika.
Dostop do RPI z uporabo PuTTy
Zdaj lahko kartico SD priključimo v RPI, RPI povežemo z računalnikom z ethernetnim kablom.
Za povezavo z RPI bomo uporabili PuTTy z našim naslovom APIPA.
- Odprite PuTTy
- Vnesite naš naslov APIPA kot ime gostitelja (169.254.10.1)
- Prepričajte se, da so vrata 22 in da je izbran SSH
- Zdaj lahko odprete povezavo
- Privzeto uporabniško ime je: pi
- S privzetim geslom: malina
nastavitve raspi-config
Odprite raspi-config z uporabo:
sudo raspi-config
- Spremenite uporabniško geslo
- V možnostih lokalizacije izberite časovni pas
- Nastavite WiFi z možnostmi omrežja in nato možnost Wi-Fi, kjer morate vnesti svoj SSID in geslo.
Namestite Python 3
V tem projektu uporabljamo Python, zato bomo privzeto nastavili na Python3 insteat Python2 z uporabo naslednjih ukazov
posodobitvene alternative --install/usr/bin/python python /usr/bin/python2.7 1
posodobitvene alternative --install/usr/bin/python python/usr/bin/python3 2
Paketi Python
Za pravilno delovanje bomo potrebovali nekaj paketov, predvsem pakete Flask in enega za povezavo z našo podatkovno bazo. Te pakete lahko namestimo z naslednjimi ukazi:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Baza podatkov
Nato bomo namestili naš sistem za upravljanje baz podatkov (MariaDB), ki ga bomo uporabili:
sudo apt namestite strežnik mariadb
Za nadaljevanje vnesite »Y« in Enter. Po nekaj sekundah je postopek namestitve končan in MariaDB je skoraj pripravljen za uporabo.
Če želite nastaviti geslo za bazo podatkov, uporabite ukaz:
sudo mysql_secure_installation
Nato pritisnite Enter, ker je trenutno geslo prazno. Nato pritisnite "Y", da nastavite geslo, zdaj lahko vnesete poljubno geslo, ne pozabite si ga zapomniti, ker ga potrebujemo za vzpostavitev pravilne povezave med vmesnikom in vmesnikom.
Zdaj trikrat pritisnite “Y”, da: odstranite anonimne uporabnike, na daljavo onemogočite prijavo v root in odstranite preskusno bazo podatkov. Nazadnje znova pritisnite »Y«, da znova naložite pravice.
Zdaj so MariaDB in vsi potrebni paketi uspešno nameščeni.
2. korak: Zgrabite kodo in jo nastavite
Zdaj, ko imamo nameščene vse pakete, lahko vzamemo kodo.
Koda je na voljo v Githubu, zato jo lahko klonirate z:
git clone
To je prednja stran
git clone
To je ozadje
Namestitev same baze podatkov
Če želite namestiti bazo podatkov, se z naslednjimi ukazi pomaknite do datoteke.sql, ki je v zaledni mapi (nastavite jo na svojo pot.
mysql
ustvari stikalo baze podatkov switchit zapusti mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Namestitev programa Apache
Zdaj, ko imamo vso kodo in nastavitev zbirke podatkov, lahko namestimo Apache in na njem zaženemo zaledje. To bomo storili z uporabo:
apt -get namestite apache2 -y
Nato datoteke v/var/ww/html zamenjajte z datotekami v mapi iz mape frontend.
Če je vse v redu, se lahko povežete s svojim spletnim mestom z naslovom APIPA: 169.254.10.1 v svojem brskalniku.
3. korak: Komunikacija Arduino
Če želite prebrati naš trenutni senzor in RFID senzor, uporabljamo arduino, za to uporabite spodnjo kodo arduino. Naložite ga s kablom USB-A na USB-B in programsko opremo IDE arduino. Ko je naložen, je del arduino končan.
Zdaj moramo poiskati serijsko ime naprave na PI. Če želite to narediti, se prepričajte, da je v /boot/config.txt "enable_uart = 1" nastavljeno desno. Prepričajte se tudi, da je "console = serial0, 115200" odstranjena iz cmdline.txt.
Nato preverite vrata z uporabo
ls -l /dev
Potem bi moralo biti eno od serijskih imen Arduino. To ime vnesite v funkcijo arduinocom v app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
To storite le, če serijska komunikacija ne deluje.
4. korak: Ožičenje Preklopite
Ožičenje je precej preprosto, čeprav morate upoštevati naslednje:
- Bodite previdni pri vtičnici, 230 voltov je lahko smrtonosno.
- Za komunikacijo med RPI in Arduino uporabite pretvornik ravni.
- Pred spajkanjem RGB uporabite rdeč in zeleni zatič. Preizkusite to vnaprej!
- PRED vklopom tokokroga preverite, če ni kratkega stika.
5. korak: Zaženite kodo
Zdaj je vse pravilno povezano, lahko zaženemo naš program.
Če želite, da se samodejno zažene ob zagonu, ustvarite datoteko z:
sudo nano myscript.service
Nato prilepite (uporabite lastni imenik app.py:
[Enota] Opis = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // spremenite v imenik app.py // StandardOutput = podedujte StandardError = podedujte Restart = vedno User = pi [Namesti] WantedBy = cilj za več uporabnikov
Nato pritisnite "ctrl + X" in ga kopirajte v/etc/systemd/system.
Nato ukaz follwing za samodejni zagon:
sudo systemctl omogoči storitev myscript.service
Več informacij o tem najdete na spletnem mestu RaspBerry Pi.
Znova zaženite in končano
Zdaj znova zaženite PI z uporabo:
sudo reboot -h zdaj
Tako naredite Switch-it!
Hvala za spremljanje, upam, da je bilo to koristno. Če imate kakšne nasvete ali povratne informacije, ne oklevajte in pustite komentar.
6. korak: (NEOBVEZNO) ohišje
Ohišje lahko popolnoma zgradite po svojih željah. Uporabil sem kovinsko ohišje velikosti 40x40x5 cm s pokrovom. Ker sem uporabil kovinsko, sem moral izvrtati luknje in z distančniki odstraniti vse s talne plošče. Odločil sem se za osrednjo točko, kjer so na voljo 5V, 3.3V in gnd. Vsaka električna povezava je spajkana s kosom skrčne cevi na vrhu. Za upravljanje kablov sem uporabil blazinice z nosilnimi trakovi.
Priporočena:
Kako uporabljati modul ure v realnem času (DS3231): 5 korakov
Kako uporabljati modul ure v realnem času (DS3231): DS3231 je poceni in izjemno natančna ura realnega časa I2C (RTC) z vgrajenim temperaturno kompenziranim kristalnim oscilatorjem (TCXO) in kristalom. Naprava vključuje vhod za baterijo in vzdržuje natančen čas, ko je napajanje vklopljeno
Merilnik vodostaja v realnem času: 6 korakov (s slikami)
Merilnik vodostaja v realnem času: Ta navodila opisujejo, kako zgraditi poceni merilnik nivoja vode v realnem času za uporabo v izkopanih vodnjakih. Merilnik nivoja vode je zasnovan tako, da visi v izkopanem vodnjaku, izmeri nivo vode enkrat na dan in podatke pošlje prek WiFi ali mobilne povezave
Merilnik temperature vode, prevodnosti in nivoja vode v vodnjaku v realnem času: 6 korakov (s slikami)
Merilnik temperature vode, prevodnosti in nivoja vode v vodnjaku v realnem času: Ta navodila opisujejo, kako sestaviti poceni merilnik vode v realnem času za spremljanje temperature, električne prevodnosti (EC) in nivoja vode v izkopanih vodnjakih. Merilnik je zasnovan tako, da visi v izkopanem vodnjaku, meri temperaturo vode, EC in
Kako narediti snemalnik podatkov o vlažnosti in temperaturi v realnem času z Arduino UNO in kartico SD - Simulacija zapisovalnika podatkov DHT11 v Proteusu: 5 korakov
Kako narediti snemalnik podatkov o vlažnosti in temperaturi v realnem času z Arduino UNO in kartico SD | Simulacija zapisovalnika podatkov DHT11 v Proteusu: Uvod: zdravo, to je Liono Maker, tukaj je povezava YouTube. Z Arduinom ustvarjamo projekt in delamo na vgrajenih sistemih. Data-Logger: Zapisovalnik podatkov (tudi zapisovalnik podatkov ali zapisovalnik podatkov) je elektronska naprava, ki sčasoma beleži podatke z
Posthirt: Odkrivanje nosljive drže v realnem času: 9 korakov
Posthirt: Odkrivanje nosljive drže v realnem času: Postshirt je brezžični sistem za odkrivanje drže, ki v realnem času prenaša in razvršča podatke merilnika pospeška iz Adafruit Feather v aplikacijo Android prek Bluetootha. Celoten sistem lahko v realnem času zazna, če ima uporabnik slabo držo in