Sommario:
- Forniture
- Passaggio 1: imposta Rasbian
- Passaggio 2: afferrare il codice e configurarlo
- Passaggio 3: comunicazione Arduino
- Passaggio 4: cablaggio Switch-it
- Passaggio 5: esecuzione del codice
- Passaggio 6: (FACOLTATIVO) l'alloggiamento
Video: Switch-it, uscita automatica con misurazione della corrente in tempo reale: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Mi piace molto l'automazione, la capacità di controllare quando deve succedere qualcosa. Questo è ciò che mi ha fatto venire questa idea: uno sfogo autocostruito e automatico. Può essere utilizzato per pianificare quando è necessario accendere le luci, quando è necessario caricare i telefoni o quando è necessario alimentare uno schermo. Oltre a tutto ciò, hai la possibilità di vedere quanta corrente scorre attraverso la presa.
I componenti necessari per questo progetto sono:
Forniture
Prima di iniziare, queste sono le cose di cui avrai sicuramente bisogno per costruire una scatola Switch-IT come la mia. Queste forniture costeranno da 50 a 100 euro a seconda della regione e dei prezzi correnti.
Hardware
Elettronica
- lampone pi 4
- Scheda Micro SD da 16 GB (o più)
- Arduino Uno
- Cambio di livello 5V-3.3V
- Modulo relè 5V
- ACS712 20A - modulo corrente
- Modulo ricevitore IR 1838 37,9 kHz
- Telecomando IR (io uso un Elegoo)
- catodo comune RGB
- 3 * 330Ω resistori
- premi il bottone
- RFID-RC522
- LCD 1602A-1
- Presa a muro Niko
- Potmetro da 10K
- Alimentazione da 230 a 5V - 7A
Cavi
- Cavo da USB-B a USB-A
- Cavo di alimentazione USB-C
- cavo Ethernet
Varie
- Ponticelli maschio-femmina
- Ponticelli maschio-maschio
- stagno di saldatura
- Tubo termoretraibile
Parti specifiche della custodia (OPZIONALE)
- 50 * noci e grassetto
- valigetta in metallo 40x40x5 cm con coperchio
- nastro biadesivo
- Distanziali alti 6 * 1 cm
- porta led
- Nastro in velcro
- guide per cavi
Software
- balena incisore:
- putty
- rasbian
- Codice di Visual Studio
- Arduino IDE
Passaggio 1: imposta Rasbian
Prima di tutto installeremo Rasbian sulla scheda SD. Lo faremo usando balenaEtcher.
- Apri balenaEtcher
- Scegli l'immagine Rasbian
- Seleziona la tua scheda SD
- Premi Flash e attendi qualche minuto finché non lampeggia
Aggiunta di APIPA nella directory di avvio: utilizzeremo un indirizzo APIPA per programmare e configurare le impostazioni sull'RPI. Per fare questo:
- Accedere alla directory di avvio sulla scheda SD
- Apri "cmdline.txt"
- Aggiungi "169.254.10.1" alla fine del documento e salvalo
- Aggiungi un file chiamato "ssh" alla directory di avvio (NON DARE A QUESTO FILE UN'ESTENSIONE)
- Dopo averlo fatto, puoi espellere la scheda SD dal tuo PC.
Accedi all'RPI usando PuTTy
Ora possiamo collegare la scheda SD al nostro RPI, collegare l'RPI al PC utilizzando un cavo ethernet.
Per connetterci all'RPI useremo PuTTy con il nostro indirizzo APIPA.
- Apri PuTTy
- Inserisci il nostro indirizzo APIPA come nome host (169.254.10.1)
- Assicurati che la porta sia 22 e che sia selezionato SSH
- Ora puoi aprire la connessione
- Il nome utente predefinito è: pi
- Con password predefinita: lampone
impostazioni raspi-config
Apri raspi-config usando:
sudo raspi-config
- Cambia la password dell'utente
- Nelle opzioni di localizzazione seleziona il tuo fuso orario
- Imposta il WiFi utilizzando le opzioni di rete, quindi l'opzione Wi-Fi in cui devi inserire SSID e password.
Installa Python 3
In questo progetto stiamo usando Python, quindi imposteremo il valore predefinito su Python3 invece di Python2, usando i seguenti comandi
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Pacchetti Python
Avremo bisogno di alcuni pacchetti per far funzionare tutto correttamente, principalmente i pacchetti Flask e uno per stabilire la connessione con il nostro DataBase. Possiamo installare quei pacchetti usando i seguenti comandi:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Banca dati
Successivamente installeremo il nostro sistema di gestione del database (MariaDB) lo faremo usando:
sudo apt install mariadb-server
Digita "Y" e Invio per continuare. Dopo pochi secondi, il processo di installazione è completo e MariaDB è quasi pronto per l'uso.
Per impostare l'assegnazione di una password al database utilizzare il comando:
sudo mysql_secure_installation
Quindi premere Invio, poiché la password corrente è vuota. Quindi premi "Y" per impostare una password, ora puoi inserire qualsiasi password desideri, assicurati di ricordarla perché ne abbiamo bisogno per stabilire una connessione corretta tra back-end e front-end.
Ora, premi "Y" 3 volte per: rimuovere gli utenti anonimi, disabilitare l'accesso root in remoto e rimuovere il database di prova. Infine, premi di nuovo "Y" per ricaricare i privilegi.
Ora MariaDB e tutti i pacchetti necessari sono stati installati con successo.
Passaggio 2: afferrare il codice e configurarlo
Ora che abbiamo tutti i pacchetti installati possiamo prendere il codice.
Il codice è disponibile su Github quindi puoi clonarlo usando:
git clone
Questo è il frontend
git clone
Questo è il backend
Installazione del database stesso
Per installare il database, vai al file.sql che si trova nella cartella di backend usando i seguenti comandi (assicurati di impostarlo sul tuo percorso.
mysql
crea database switchit esci da mysql -u root -p switchit < Your_Path_to_Backend_Repo/switchit.sql
Installazione di Apache
Ora che abbiamo tutto il codice e la configurazione del database, possiamo installare Apache ed eseguire il nostro backend su di esso. Lo faremo usando:
apt-get install apache2 -y
Quindi sostituire i file in /var/ww/html con quelli nella cartella dalla cartella frontend.
Se tutto è andato bene dovresti essere in grado di connetterti al tuo sito web utilizzando l'indirizzo APIPA: 169.254.10.1 nel tuo browser.
Passaggio 3: comunicazione Arduino
Per leggere il nostro sensore attuale e il nostro sensore RFID stiamo usando un arduino, per farlo usa il codice arduino indicato di seguito. Caricalo utilizzando un cavo da USB-A a USB-B e il software Arduino IDE. Una volta caricato, la parte arduino è terminata.
Ora dobbiamo trovare il nome del dispositivo seriale sul PI. Per farlo assicurati che in /boot/config.txt "enable_uart=1" sia impostato correttamente. Assicurati anche che "console=serial0, 115200" sia rimosso da cmdline.txt.
Quindi controlla le porte usando
ls -l /dev
Quindi uno dei nomi seriali dovrebbe essere Arduino. Inserisci questo nome nella funzione arduinocom in app.py
ser = serial. Serial('/dev/ttyS0', 9600)
Fallo solo se la comunicazione seriale non funziona.
Passaggio 4: cablaggio Switch-it
Il cablaggio di tutto è piuttosto semplice, anche se dovresti tenere a mente le seguenti cose:
- Fai attenzione alla presa a muro, 230 volt possono essere mortali.
- Assicurati di utilizzare un convertitore di livello per la comunicazione tra l'RPI e Arduino.
- Prima di saldare l'RGB, assicurati di utilizzare i pin Rosso e Verde. Prova questo in anticipo!
- Verificare se nulla è in corto circuito PRIMA di alimentare il circuito.
Passaggio 5: esecuzione del codice
Ora tutto è collegato correttamente possiamo eseguire il nostro programma.
Per farlo funzionare automaticamente all'avvio, crea un file usando:
sudo nano myscript.service
Quindi incolla (assicurati di utilizzare la tua directory app.py:
[Unit]Description=Switchit After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=//cambia nella directory app.py// StandardOutput=inherit StandardError=inherit Restart=sempre Utente= pi [Installa] WantedBy=multi-user.target
Quindi premi "ctrl + X" e copialo in /etc/systemd/system.
Quindi il seguente comando per farlo funzionare automaticamente:
sudo systemctl abilita myscript.service
Puoi trovare maggiori informazioni al riguardo sul sito RaspBerry Pi.
Riavvia e fatto
Ora riavvia il tuo PI usando:
sudo reboot -h ora
Ecco come fai Switch-it!
Grazie per avermi seguito, spero di esserti stato utile. Se hai suggerimenti o feedback, non esitare a lasciare un commento.
Passaggio 6: (FACOLTATIVO) l'alloggiamento
Puoi costruire l'alloggio interamente a tuo piacimento. Ho usato una custodia in metallo di 40x40x5 cm con coperchio. Dato che ne ho usato uno di metallo, ho dovuto praticare dei fori e utilizzare dei distanziatori per togliere tutto dalla piastra di terra. Ho scelto di utilizzare un punto centrale in cui sono disponibili 5V, 3.3V e gnd. Ogni collegamento elettrico è saldato con un pezzo di tubo termoretraibile sopra di esso. Per fare la gestione dei cavi ho usato i cuscinetti con cinghie di supporto.
Consigliato:
Postshirt: rilevamento della postura indossabile in tempo reale: 9 passaggi
Postshirt: rilevamento della postura indossabile in tempo reale: Postshirt è un sistema di rilevamento della postura wireless in tempo reale che trasmette e classifica i dati dell'accelerometro da un'Adafruit Feather a un'applicazione Android tramite Bluetooth. Il sistema completo è in grado di rilevare in tempo reale se l'utente ha una cattiva postura e c
Misurazione della temperatura automatica e informazioni vocali: 5 passaggi (con immagini)
Misurazione della temperatura automatica e informazioni vocali: di recente, il mondo intero sta lottando con il virus Covid19. Il primo controllo per le persone colpite (o sospettate di essere colpite) è la misurazione della temperatura corporea. Quindi questo progetto è fatto per modellare in grado di misurare automaticamente la temperatura corporea e informare tramite vo
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED - Dashboard Covid19 in tempo reale: 4 passaggi
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED | Dashboard Covid19 in tempo reale: visita il sito Web Techtronic Harsh: http://techtronicharsh.com Ovunque c'è un enorme focolaio del Novel Corona Virus (COVID19). È diventato necessario tenere d'occhio l'attuale scenario di COVID-19 nel mondo. Quindi, essendo a casa, questo è stato il p
Accendimi! un controllo della striscia LED multipiattaforma in tempo reale: 5 passaggi (con immagini)
Accendimi! un controllo della striscia LED multipiattaforma in tempo reale: LightMeUp! è un sistema che ho inventato per controllare una striscia LED RGB in tempo reale, mantenendo bassi i costi e alte le prestazioni. Il server è scritto in Node.js e quindi multipiattaforma. Nel mio esempio, utilizzo un Raspberry Pi 3B per un uso a lungo termine
Simulatore di bici con regolazione della velocità in tempo reale: 5 passaggi
Simulatore di bici con regolazione della velocità in tempo reale: questo progetto utilizza un interruttore magnetico reed per creare un tachimetro e controllare la velocità video dei video di ciclismo in prima persona su YouTube o altri media. L'Arduino calcola le miglia orarie e quindi utilizza tali informazioni per simulare la pressione di un pulsante del computer