Kazalo:

Preklop, samodejna vtičnica z merjenjem toka v realnem času: 6 korakov
Preklop, samodejna vtičnica z merjenjem toka v realnem času: 6 korakov

Video: Preklop, samodejna vtičnica z merjenjem toka v realnem času: 6 korakov

Video: Preklop, samodejna vtičnica z merjenjem toka v realnem času: 6 korakov
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, November
Anonim
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času
Preklopna, samodejna vtičnica z merjenjem toka v realnem času

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

Namestitev Rasbian
Namestitev Rasbian
Nastavitev Rasbian
Nastavitev Rasbian

Najprej bomo Rasbian prenesli na kartico SD. To bomo storili z uporabo balenaEtcher.

  1. Odprite balenaEtcher
  2. Izberite sliko Rasbian
  3. Izberite kartico SD
  4. 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:

  1. Dostopa do zagonskega imenika na kartici SD
  2. Odprite "cmdline.txt"
  3. Na koncu dokumenta dodajte "169.254.10.1" in ga shranite
  4. Dodajte datoteko z imenom "ssh" v zagonski imenik (NE DAJTE TEJ DATOTEKE PODALJŠANJA)
  5. 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.

  1. Odprite PuTTy
  2. Vnesite naš naslov APIPA kot ime gostitelja (169.254.10.1)
  3. Prepričajte se, da so vrata 22 in da je izbran SSH
  4. Zdaj lahko odprete povezavo
  5. Privzeto uporabniško ime je: pi
  6. 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

Zgrabite kodo in jo nastavite
Zgrabite kodo in jo nastavite
Zgrabite kodo in jo nastavite
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

Arduino komunikacija
Arduino komunikacija

Č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 Switch-it
Ožičenje Switch-it
Ožičenje Switch-it
Ožičenje Switch-it

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

(NEOBVEZNO) ohišje
(NEOBVEZNO) ohišje
(NEOBVEZNO) ohišje
(NEOBVEZNO) ohišje
(NEOBVEZNO) ohišje
(NEOBVEZNO) ohišje
(NEOBVEZNO) ohišje
(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: