Obsah:
- Zásoby
- Krok 1: Nastavte Rasbian
- Krok 2: Získať kód a nastaviť ho
- Krok 3: Komunikácia Arduino
- Krok 4: Zapojenie Switch-it
- Krok 5: Spustenie kódu
- Krok 6: (VOLITEĽNÉ) bývanie
Video: Switch-it, automatická zásuvka s meraním prúdu v reálnom čase: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Mám veľmi rád automatizáciu, schopnosť ovládať, keď sa niečo musí stať. To je dôvod, prečo som prišiel s týmto nápadom: vlastná, automatická zásuvka. Dá sa použiť na plánovanie, kedy je potrebné zapnúť svetlá, keď je potrebné nabíjať telefóny alebo napájať obrazovku. Okrem toho všetkého máte možnosť vidieť, koľko prúdu preteká zásuvkou.
Komponenty potrebné pre tento projekt sú:
Zásoby
Predtým, ako začneme, sú to veci, ktoré budete určite potrebovať na vybudovanie boxu Switch-IT, ako je ten môj. Tieto zásoby budú stáť okolo 50 až 100 eur v závislosti od vášho regiónu a aktuálnych cien.
Hardvér
Elektronika
- Malina pi 4
- 16 GB (alebo viac) Micro SD karta
- Arduino Uno
- Radič úrovne 5V-3,3V
- 5V reléový modul
- ACS712 20A - prúdový modul
- 1838 IR prijímač 37,9 kHz modul
- IR diaľkové ovládanie (používam elegantné)
- spoločná katóda RGB
- 3 * 330Ω odpory
- tlačidlo
- RFID-RC522
- LCD 1602A-1
- Niko zásuvka
- Potenciometer 10K Ω
- Napájanie 230 až 5V - 7A
Káble
- Kábel USB-B na USB-A
- Napájací kábel USB-C
- ethernetový kábel
Rôzne
- Mužsko-ženské prepojovacie drôty
- Mužsko-mužské prepojovacie drôty
- Spájkovací cín
- Zmršťovacia trubica
Špeciálne diely na prípad (VOLITEĽNÉ)
- 50 * matíc a skrutiek
- kovové puzdro 40x40x5 cm s vekom
- obojstranná lepiaca páska
- Rozperky 6 x 1 cm vysoké
- led-držiak
- Páska na suchý zips
- vedenie káblov
Softvér
- balenaEtcher:
- PuTTy
- rasba
- Kód Visual Studio
- Arduino IDE
Krok 1: Nastavte Rasbian
Najprv na kartu SD prenesieme Rasbian. Urobíme to pomocou balenaEtcher.
- Otvorená balenaEtcher
- Vyberte obrázok Rasbian
- Vyberte svoju SD kartu
- Stlačte tlačidlo Flash a počkajte niekoľko minút, kým nezačne blikať
Pridanie APIPA do zavádzacieho adresára: Na naprogramovanie a konfiguráciu nastavení RPI použijeme adresu APIPA. Robiť to:
- Prístup k zavádzaciemu adresáru na SD karte
- Otvorte súbor „cmdline.txt“
- Na koniec dokumentu pridajte „169.254.10.1“a uložte ho
- Pridajte do zavádzacieho adresára súbor s názvom „ssh“(NEPOSKYTUJTE TENTO SÚBOR ROZŠÍRENIE)
- Keď to urobíte, môžete kartu SD vysunúť z počítača.
Prístup k RPI pomocou PuTTy
Teraz môžeme kartu SD zapojiť do nášho RPI a pripojiť RPI k počítaču pomocou ethernetového kábla.
Na pripojenie k RPI použijeme PuTTy s našou adresou APIPA.
- Otvorte PuTTy
- Ako názov hostiteľa zadajte našu adresu APIPA (169.254.10.1)
- Uistite sa, že port je 22 a je vybraté SSH
- Teraz môžete otvoriť pripojenie
- Predvolené používateľské meno je: pi
- S predvoleným heslom: malina
nastavenia raspi-config
Otvorte raspi-config pomocou:
sudo raspi-config
- Zmeňte používateľské heslo
- V možnostiach lokalizácie vyberte svoje časové pásmo
- Nastavte WiFi pomocou možností siete a potom možnosti Wi-Fi, kde musíte zadať SSID a heslo.
Nainštalujte Python 3
V tomto projekte používame Python, a preto pomocou nasledujúcich príkazov nastavíme predvolené nastavenie pre Python3 Python2
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install/usr/bin/python python/usr/bin/python3 2
Balíky Python
Aby všetko fungovalo správne, budeme potrebovať niekoľko balíkov, hlavne balíky Flask a jeden na prepojenie s našou databázou dát. Tieto balíky môžeme nainštalovať pomocou nasledujúcich príkazov:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Databáza
Ďalej nainštalujeme náš systém správy databáz (MariaDB), urobíme to pomocou:
sudo apt nainštalovať mariadb-server
Pokračujte zadaním „Y“a Enter. Po niekoľkých sekundách je proces inštalácie dokončený a MariaDB je takmer pripravená na použitie.
Ak chcete nastaviť zadanie hesla databáze, použite príkaz:
sudo mysql_secure_installation
Potom stlačte kláves Enter, pretože aktuálne heslo je prázdne. Potom stlačením klávesu „Y“nastavte heslo. Teraz môžete zadať ľubovoľné požadované heslo. Nezabudnite si ho zapamätať, pretože ho potrebujeme na vytvorenie správneho prepojenia medzi zadným a predným rozhraním.
Teraz stlačte trikrát „Y“na: odstránenie anonymných používateľov, zakázanie vzdialeného prihlásenia root a odstránenie testovacej databázy. Nakoniec opätovným stlačením „Y“znova načítajte oprávnenia.
Teraz je MariaDB a všetky potrebné balíky úspešne nainštalované.
Krok 2: Získať kód a nastaviť ho
Teraz, keď máme nainštalované všetky balíky, môžeme kód chytiť.
Kód je k dispozícii na Github, takže ho môžete klonovať pomocou:
klon git
Toto je frontend
klon git
Toto je backend
Inštalácia samotnej databázy
Ak chcete nainštalovať databázu, prejdite do súboru.sql, ktorý je v priečinku typu backend, pomocou nasledujúcich príkazov (uistite sa, že ste ho nastavili na vlastnú cestu.
mysql
vytvoriť databázu switchit ukončiť mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Inštalácia Apache
Teraz, keď máme všetok kód a nastavenie databázy, môžeme nainštalovať Apache a spustiť na ňom náš backend. Urobíme to pomocou:
apt -get nainštalovať apache2 -y
Potom nahraďte súbory v priečinku/var/ww/html tými, ktoré sú v priečinku z frontendového priečinka.
Ak všetko prebehlo dobre, mali by ste sa môcť pripojiť k svojej webovej stránke pomocou adresy APIPA: 169.254.10.1 vo svojom prehliadači.
Krok 3: Komunikácia Arduino
Na prečítanie nášho aktuálneho senzora a nášho senzora RFID používame arduino, použite na to arduino kód uvedený nižšie. Nahrajte ho pomocou kábla USB-A na USB-B a softvéru arduino IDE. Po nahraní je arduino časť hotová.
Teraz musíme nájsť názov sériového zariadenia na PI. Aby ste to urobili, uistite sa, že v /boot/config.txt je „enable_uart = 1“nastavený správne. Tiež sa uistite, že "konzola = serial0, 115200" je odstránená z cmdline.txt.
Potom skontrolujte porty pomocou
ls -l /dev
Potom by jedným zo sériových názvov malo byť Arduino. Vyplňte tento názov vo funkcii arduinocom v app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
Urobte to iba vtedy, ak sériová komunikácia nefunguje.
Krok 4: Zapojenie Switch-it
Zapojenie všetkého je veľmi jednoduché, aj keď by ste mali mať na pamäti nasledujúce veci:
- Dávajte si pozor na sieťovú zásuvku, 230 voltov môže byť smrteľných.
- Na komunikáciu medzi RPI a Arduino určite použite prevodník úrovní.
- Pred spájkovaním RGB použite červený a zelený kolík. Skúste to vopred!
- Pred napájaním obvodu vyskúšajte, či nie je nič skratované.
Krok 5: Spustenie kódu
Teraz je všetko správne pripojené, môžeme spustiť náš program.
Aby sa spustil automaticky pri štarte, vytvorte súbor pomocou:
sudo nano myscript.service
Potom prilepte (nezabudnite použiť vlastný adresár app.py:
[Unit] Description = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // change to app.py directory // StandardOutput = inherit StandardError = inherit Restart = always User = pi [Inštalovať] WantedBy = multi-user.target
Potom stlačte „ctrl + X“a skopírujte ho do/etc/systemd/system.
Potom nasledujúci príkaz, aby sa spustil automaticky:
sudo systemctl povoliť myscript.service
Viac informácií o tomto nájdete na stránke RaspBerry Pi.
Reštartujte a hotovo
Teraz reštartujte svoje PI pomocou:
sudo reboot -h teraz
Takto urobíte Switch-it!
Ďakujeme za sledovanie, dúfame, že to bolo užitočné. Ak máte nejaké tipy alebo pripomienky, neváhajte zanechať komentár.
Krok 6: (VOLITEĽNÉ) bývanie
Bývanie si môžete postaviť úplne podľa svojich predstáv. Použil som kovové puzdro s vekom 40 x 40 x 5 cm. Keďže som použil kovový, musel som vyvŕtať otvory a pomocou rozperiek dostať všetko zo základovej dosky. Rozhodol som sa použiť centrálny bod, kde je k dispozícii 5V, 3,3V a GND. Každé elektrické pripojenie je spájkované kusom zmršťovacej trubice. Na správu káblov som použil podložky s nosnými popruhmi.
Odporúča:
Ako používať modul hodín v reálnom čase (DS3231): 5 krokov
Ako používať hodinový modul v reálnom čase (DS3231): DS3231 je nízkonákladový, extrémne presný hodiny v reálnom čase I2C (RTC) s integrovaným kryštálovým oscilátorom (TCXO) s teplotnou kompenzáciou a kryštálom. Zariadenie má vstup na batériu a udržiava presné meranie času pri napájaní
Merač hladiny vody v studni v reálnom čase: 6 krokov (s obrázkami)
Merač hladiny vody v studni v reálnom čase: Tieto pokyny popisujú, ako zostrojiť lacný merač hladiny vody v reálnom čase na použitie v kopaných studniach. Merač hladiny vody je navrhnutý tak, aby visel vo vykopanej studni, meral hladinu vody raz denne a odosielal údaje prostredníctvom WiFi alebo mobilného pripojenia
Merač teploty, vodivosti a hladiny vody v studni v reálnom čase: 6 krokov (s obrázkami)
Merač teploty, vodivosti a hladiny vody v studni v reálnom čase: Tieto pokyny popisujú, ako v kopaných studniach postaviť lacný vodomer na sledovanie teploty, elektrickej vodivosti (EC) a hladiny vody v reálnom čase. Merač je určený na zavesenie do vykopanej studne, na meranie teploty vody,
Vykreslenie grafu v reálnom čase pre Android od systému Arduino prostredníctvom krokov HC-05: 3
Vykreslenie grafu v reálnom čase pre Android od Arduina cez HC-05: Ahoj, tu je návod, ako vykresliť graf hodnôt v reálnom čase z mikroovládača, akým je napríklad Arduino, do aplikácie. Využíva modul Bluetooth, ako je HC-05, aby slúžil ako zariadenie na odosielanie správ na prenos a príjem údajov medzi
RC auto ovládané Bluetooth s reguláciou rýchlosti a meraním vzdialenosti: 8 krokov
RC auto ovládané pomocou Bluetooth s ovládaním rýchlosti a meraním vzdialenosti: Ako dieťa ma RC autá vždy fascinovali. V súčasnej dobe nájdete mnoho návodov na výrobu lacných RC automobilov ovládaných Bluetooth sami pomocou Arduina. Poďme ešte o krok ďalej a využime naše praktické znalosti kinematiky na výpočet