Obsah:
- Zásoby
- Krok 1: Nastavení Rasbianu
- Krok 2: Uchopení kódu a jeho nastavení
- Krok 3: Komunikace Arduino
- Krok 4: Zapojení Switch-it
- Krok 5: Spuštění kódu
- Krok 6: (VOLITELNÉ) pouzdro
Video: Switch-it, automatická zásuvka s měřením proudu v reálném čase: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Moc se mi líbí automatizace, schopnost ovládat, když se něco musí stát. To je důvod, proč jsem přišel s touto myšlenkou: automatická automatická zásuvka. Lze jej použít k plánování, kdy je třeba zapnout světla, když je třeba nabíjet telefony nebo když je třeba napájet obrazovku. Kromě toho všeho máte možnost vidět, jak velký proud protéká zásuvkou.
Komponenty potřebné pro tento projekt jsou:
Zásoby
Než začneme, jsou to věci, které budete rozhodně potřebovat k vybudování krabice Switch-IT, jako je ta moje. Tyto zásoby budou stát kolem 50 až 100 eur v závislosti na vašem regionu a aktuálních cenách.
Hardware
Elektronika
- Malina pi 4
- 16 GB (nebo více) Micro SD karta
- Arduino Uno
- Měnič úrovně 5V-3,3V
- 5V reléový modul
- ACS712 20A - proudový modul
- 1838 IR přijímač 37,9 kHz modul
- IR dálkové ovládání (používám Elegoo)
- společná katoda RGB
- 3 * 330Ω odpory
- stiskněte tlačítko
- RFID-RC522
- LCD 1602A-1
- Niko zásuvka
- Potenciometr 10K Ω
- Napájení 230 až 5V - 7A
Kabely
- Kabel USB-B na USB-A
- Napájecí kabel USB-C
- ethernetový kabel
Rozličný
- Mužsko-ženské propojovací dráty
- Mužské a mužské propojovací dráty
- Pájecí cín
- Smršťovací trubice
Speciální díly kufru (VOLITELNÉ)
- 50 * matic a šroubů
- kovové pouzdro 40x40x5 cm s víkem
- oboustranná páska
- Distanční vložky 6 x 1 cm vysoké
- led držák
- Páska na suchý zip
- vedení kabelů
Software
- balenaEtcher:
- Tmel
- rasbický
- Kód Visual Studio
- Arduino IDE
Krok 1: Nastavení Rasbianu
Nejprve přeneseme Rasbian na SD kartu. Uděláme to pomocí balenaEtcher.
- Otevřená balenaEtcher
- Vyberte obrázek Rasbian
- Vyberte svou SD kartu
- Stiskněte Flash a počkejte několik minut, dokud nezačne blikat
Přidání APIPA do zaváděcího adresáře: K programování a konfiguraci nastavení na RPI použijeme adresu APIPA. Udělat toto:
- Přistupuje ke spouštěcímu adresáři na SD kartě
- Otevřete soubor „cmdline.txt“
- Na konec dokumentu přidejte „169.254.10.1“a uložte jej
- Přidejte do zaváděcího adresáře soubor s názvem „ssh“(NEPOSKYTUJTE TENTO SOUBOR ROZŠÍŘENÍ)
- Až to uděláte, můžete kartu SD vysunout z počítače.
Přistupuje k RPI pomocí PuTTy
Nyní můžeme zapojit kartu SD do našeho RPI, připojit RPI k počítači pomocí ethernetového kabelu.
K připojení k RPI použijeme PuTTy s naší adresou APIPA.
- Otevřete PuTTy
- Vyplňte naši adresu APIPA jako název hostitele (169.254.10.1)
- Ujistěte se, že je port 22 a je vybráno SSH
- Nyní můžete připojení otevřít
- Výchozí uživatelské jméno je: pi
- S výchozím heslem: malina
nastavení raspi-config
Otevřete raspi-config pomocí:
sudo raspi-config
- Změňte heslo uživatele
- V možnostech lokalizace vyberte své časové pásmo
- Nastavte WiFi pomocí možností sítě a poté možnosti Wi-Fi, kde musíte vyplnit své SSID a heslo.
Nainstalujte si Python 3
V tomto projektu používáme Python, proto nastavíme výchozí hodnotu na Python3 insteat Pythonu 2 pomocí následujících příkazů
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 Pythonu
Aby vše fungovalo správně, budeme potřebovat několik balíčků, hlavně balíčky Flask a jeden pro navázání spojení s naší DataBase. Tyto balíčky můžeme nainstalovat pomocí následujících příkazů:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Databáze
Dále nainstalujeme náš systém pro správu databází (MariaDB), uděláme to pomocí:
sudo apt nainstalovat mariadb-server
Pokračujte zadáním „Y“a Enter. Po několika sekundách je instalační proces dokončen a MariaDB je téměř připraven k použití.
Chcete -li nastavit heslo pro databázi, použijte příkaz:
sudo mysql_secure_installation
Poté stiskněte Enter, protože aktuální heslo je prázdné. Poté stiskněte „Y“pro nastavení hesla. Nyní můžete vyplnit libovolné heslo, které si přejete, nezapomeňte si ho zapamatovat, protože ho potřebujeme k vytvoření správného spojení mezi back-a front-endem.
Nyní třikrát stiskněte „Y“pro: odebrání anonymních uživatelů, vzdálené zakázání přihlášení root a odstranění testovací databáze. Nakonec znovu stiskněte „Y“a znovu načtěte oprávnění.
Nyní je MariaDB a všechny potřebné balíčky úspěšně nainstalovány.
Krok 2: Uchopení kódu a jeho nastavení
Nyní, když máme nainstalovány všechny balíčky, můžeme získat kód.
Kód je k dispozici na Githubu, takže jej můžete klonovat pomocí:
klon git
Toto je frontend
klon git
Toto je backend
Instalace samotné databáze
Chcete -li nainstalovat databázi, přejděte do souboru.sql, který je ve složce backendu, pomocí následujících příkazů (nezapomeňte nastavit vlastní cestu.
mysql
vytvořit databázi switchit ukončit mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Instalace Apache
Nyní, když máme veškerý kód a nastavení databáze, můžeme nainstalovat Apache a spustit na něm náš backend. Uděláme to pomocí:
apt -get install apache2 -y
Poté nahraďte soubory ve/var/ww/html soubory ve složce ze složky frontendu.
Pokud vše proběhlo dobře, měli byste se ke svému webu připojit pomocí adresy APIPA: 169.254.10.1 ve svém prohlížeči.
Krok 3: Komunikace Arduino
Chcete -li přečíst náš aktuální snímač a náš snímač RFID, používáme arduino, použijte k tomu níže uvedený arduino kód. Nahrajte jej pomocí kabelu USB-A na USB-B a softwaru arduino IDE. Po nahrání je arduino část hotová.
Nyní musíme na PI najít název sériového zařízení. Chcete -li to provést, ujistěte se, že v souboru /boot/config.txt je „enable_uart = 1“nastaveno správně. Ujistěte se také, že je z konzoly cmdline.txt odstraněn soubor „console = serial0, 115200“.
Poté zkontrolujte porty pomocí
ls -l /dev
Pak by jedním ze sériových názvů mělo být Arduino. Vyplňte tento název ve funkci arduinocom v app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
Udělejte to pouze v případě, že sériová komunikace nefunguje.
Krok 4: Zapojení Switch-it
Zapojení všeho je velmi jednoduché, i když byste měli mít na paměti následující věci:
- Dávejte pozor na elektrickou zásuvku, 230 voltů může být smrtelné.
- Pro komunikaci mezi RPI a Arduino nezapomeňte použít převodník úrovní.
- Před pájením RGB se ujistěte, že používáte červený a zelený pin. Vyzkoušejte to předem!
- Před napájením obvodu vyzkoušejte, zda není nic zkratováno.
Krok 5: Spuštění kódu
Nyní je vše správně připojeno, můžeme spustit náš program.
Aby se spustil automaticky při spuštění, vytvořte soubor pomocí:
sudo nano myscript.service
Poté vložte (nezapomeňte použít vlastní adresář 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 [Instalovat] WantedBy = multi-user.target
Poté stiskněte „ctrl + X“a zkopírujte jej do/etc/systemd/system.
Poté následuje automaticky následující příkaz:
sudo systemctl povolit myscript.service
Více informací o tom najdete na webu RaspBerry Pi.
Restartujte a hotovo
Nyní restartujte PI pomocí:
sudo restartujte -h nyní
Takhle se dělá Switch-it!
Děkujeme za sledování, doufáme, že to bylo užitečné. Pokud máte nějaké tipy nebo zpětnou vazbu, neváhejte zanechat komentář.
Krok 6: (VOLITELNÉ) pouzdro
Bydlení si můžete postavit zcela podle svých představ. Použil jsem kovové pouzdro o rozměrech 40x40x5 cm s víkem. Protože jsem použil kovový, musel jsem vyvrtat otvory a pomocí distančních podložek dostat všechno ze zemní desky. Rozhodl jsem se použít centrální bod, kde je k dispozici 5V, 3,3V a GND. Každé elektrické připojení je připájeno kouskem smršťovací bužírky. Ke správě kabelů jsem použil podložky s nosnými popruhy.
Doporučuje:
Jak používat modul hodin v reálném čase (DS3231): 5 kroků
Jak používat modul hodin v reálném čase (DS3231): DS3231 je levný, extrémně přesný hodiny reálného času I2C (RTC) s integrovaným teplotně kompenzovaným krystalovým oscilátorem (TCXO) a krystalem. Zařízení obsahuje bateriový vstup a udržuje přesné měření času, když je hlavní napájení
Měřič hladiny vody v reálném čase: 6 kroků (s obrázky)
Měřič hladiny vody v reálném čase: Tyto pokyny popisují, jak postavit levný měřič hladiny vody v reálném čase pro použití ve vykopaných studnách. Vodoměr je navržen tak, aby visel uvnitř kopané studny, měřil hladinu vody jednou denně a odesílal data přes WiFi nebo mobilní připojení
Měřič teploty, vodivosti a hladiny vody v reálném čase: 6 kroků (s obrázky)
Měřič teploty, vodivosti a hladiny vody ve studni v reálném čase: Tyto pokyny popisují, jak v kopaných studnách postavit levný vodoměr pro sledování teploty, elektrické vodivosti (EC) a hladiny vody v reálném čase. Měřič je navržen tak, aby visel uvnitř kopané studny, měřil teplotu vody, EC a
Bluetooth řízené RC auto s řízením rychlosti a měřením vzdálenosti: 8 kroků
Bluetooth řízené RC auto s řízením rychlosti a měřením vzdálenosti: Jako dítě mě RC auta vždy fascinovala. V dnešní době můžete najít mnoho návodů, jak si levně vyrobit RC auta ovládaná Bluetooth pomocí Arduina. Pojďme o krok dále a využijme našich praktických znalostí kinematiky k výpočtu
Greentent - první mini přenosný zelený dům na světě s měřením teploty a vlhkosti Arduino: 3 kroky
Greentent - první mini přenosný zelený dům na světě s měřením teploty a vlhkosti Arduino: Poprvé jsem přišel s myšlenkou přenosného skleníku, v němž se můžete pohybovat v noci, když jsem chtěl vytvořit způsob, jak mít malou zahradu v krabici s monitorovanou teplotou a vlhkost. Takže je pozdě v noci a já chci jít do obchodu, abych si tyhle su