Sommario:
- Forniture
- Passaggio 1: cablaggio
- Passaggio 2: alloggio
- Passaggio 3: banca dati
- Passaggio 4: configurazione
- Passaggio 5: codice
Video: SmartHome con Raspberry Pi: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Per questo progetto ho realizzato una SmartHome che può essere gestita da un sito Web e da un dispositivo mobile. Per questo utilizzo il Raspberry PI come database e server web.
Forniture
Se vuoi iniziare, hai bisogno di diverse cose:
- 5 led bianchi (5mm)
- 1 sensore di temperatura a un filo
- 1 LDR (resistenza dipendente dalla luce)
- 2 servomotori
- 1 microSD (per Raspberry Pi)
- 1 Alimentatore breadboard
- 1 Raspberry Pi 3 Modello B+
- 3 piastre in schiuma
- 1 motore passo-passo (5V)
- 1 lettore RFID-RC522
- 8 resistenze (220 Ohm)
- 1 resistenza (10K Ohm)
- 2 taglieri
- 2 confezioni di cavi per ponticelli
- 1 display LCD 16x2
- 1 PCF8574AN
- 4 piccole finestre (stampate in 3D)
- 1 porta (stampa 3D)
- 2 grandi finestre (stampate in 3D)
- 1 porta del garage (stampata in 3D)
Se hai bisogno di tutto questo per acquistare, il costo massimo sarà di circa 150€
Passaggio 1: cablaggio
Il modo più semplice per iniziare è con il cablaggio in modo da avere già le basi, con questo metodo puoi facilmente verificare se tutto funziona quando stai scrivendo il codice.
In questo modo, puoi vedere se hai abbastanza pin sul Raspberry Pi per connettere tutto. In questo caso ho usato il PCF8574AN per controllare il mio LCD con meno pin GPIO.
Per disegnare lo schema ho usato Fritzing. È un pratico programma in cui è possibile visualizzare il cablaggio in modo ben organizzato.
Come puoi vedere nella seconda foto ci sono molti cavi quindi devi ancora lavorare in modo organizzato.
Passaggio 2: alloggio
Per l'alloggiamento ho usato pannelli di schiuma come pareti. Ho usato un coltello per tagliare le tavole nelle forme desiderate. Le finestre, le porte e la porta del garage sono stampate in 3D. Ovviamente ho disegnato la casa in anticipo quindi sapevo quali dimensioni dovevo usare.
Ho usato SketchUp per disegnare la casa. Ho usato una pistola per colla per tenere le pareti dritte e tenerle insieme. Se riesci a vedere nelle foto, la finestra e la porta del garage sono attaccate con la colla in modo che fosse abbastanza forte. La scatola nera nella 3a foto c'è una scatola che ho usato per trasportare in modo che tutto rimanesse intatto
Passaggio 3: banca dati
Prima di tutto, è necessario progettare il database utilizzando Mysql Workbench. Se l'operazione riesce, è necessario installare il database Mysql sul Raspberry Pi.
Il primo passo da fare è verificare se il tuo Pi è aggiornato. Puoi usare il seguente comando:
sudo apt-get update
e
sudo apt-get upgrade
Ora puoi installare il server Mysql:
sudo apt-get install mysql-server
Se il server Mysql è installato, installa il client Mysql
sudo apt-get install mysql-client
Se ora guardi il server sql con il comando:
sudo mysql
Ora puoi importare il codice del tuo database aprendo il file.mwb con il workbench sql e forward engineer. Copia il codice e incollalo nel mysql dal Raspberry. La banca dati è fatta.
Affinché l'utente ottenga tutte le autorizzazioni, aggiungi semplicemente il tuo nome utente nella tabella
concedere tutti i privilegi su smarthome.* a 'tuonome'@'%' identificato da 'tuonome';
ovviamente devi aggiornare la tabella ora
PRIVILEGI DI SCARICO;
Per verificarlo puoi semplicemente provare:
usa casa intelligente;
seleziona * dalla cronologia;
Nella tabella utenti i nomi degli utenti sono accompagnati dal loro badge, qui puoi aggiungere nuovi utenti. Nella tabella dei dispositivi puoi trovare tutti i sensori attivi con il loro id. La tabella historiek mostra tutto ciò che sta accadendo come il sensore di temperatura, il badge con lo stato della porta del garage e altro ancora.
Passaggio 4: configurazione
Per impostare l'immagine sul Raspberry Pi puoi usare Putty, questo è un programma gratuito. Puoi trovare il file dell'immagine di base qui:
Interfacce
Ovviamente devi abilitare alcune interfacce sul Pi. Per prima cosa vai alla pagina di configurazione.
sudo raspi-config
Ora puoi andare alle categorie 1-Wire e Spi ed entrambe abilitarle. Ti serviranno per il sensore di temperatura.
Wifi
Segui i passaggi successivi per ottenere il wifi sul Pi.
Primo accesso come root
sudo-i
Quindi inserisci il nome e la password della tua rete wifi
wpa_passphrase="wifiname" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf
Quindi inserisci il client WPA
wpa_cli
seleziona l'interfaccia
interfaccia wlan0
Ora ricarica la configurazione
riconfigurare
E ora puoi controllare se sei connesso
ip a
Pacchetti
La prima cosa da fare è aggiornare le ultime versioni
sudo apt update
Per Python installiamo e ci assicuriamo che il Pi stia scegliendo la versione corretta
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Affinché il server web possa eseguire il sito, è necessario installare Apache2
sudo apt install apache2 -y
Anche alcuni pacchetti Python devono essere installati
- Borraccia
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Python-socketIO
- richieste
- pip
- gpio
- Gevent
- Gevent-websocket
se ci sono problemi con un pacchetto che non viene trovato, basta fare clic destro su di esso e lasciarlo installare.
Passaggio 5: codice
backend
Per il backend, scriviamo il codice in python e usiamo pycharm per scrivere. Le rotte dal backend possono essere verificate con postino. Con questa app puoi utilizzare i metodi POST e GET. Nel backend ho usato il multithreading, quindi tutto è in esecuzione in background e può funzionare insieme. Per impostare l'immagine sul Raspberry Pi puoi usare Putty, questo è un programma gratuito.
fine frontale
Sul frontend ci sono alcuni pulsanti che possono accendere le luci, aprire la porta del garage e la porta. Usando javascript e CSS lo stile dei pulsanti cambia quando sono attivi. C'è anche una temperatura in tempo reale e un grafico con le temperature passate. Nella pagina utente puoi vedere i vari utenti, puoi anche aggiungere un utente al database e c'è una cronologia utenti dove puoi vedere chi ha aperto o chiuso la porta del garage per ultimo.
Puoi trovare il codice per il frontend e il backend su
github.com/NMCT-S2-Project-1/nmct-s2-proje…
Consigliato:
Wirenboard SmartHome (appartamento con due camere da letto): 7 passaggi
Wirenboard SmartHome (appartamento con due camere da letto): in questo tutorial spiegheremo come realizzare il tuo progetto Smart Home.WB6 - è un computer compatibile con Raspberry Pi. Dispone di interfacce I/O appositamente progettate per collegare sensori, relè e altre apparecchiature. Prendiamo come esempio questo appartamento con due camere da letto
Comunicazione wireless SmartHome: le basi estreme di MQTT: 3 passaggi
Comunicazione wireless SmartHome: le basi estreme di MQTT: Nozioni di base MQTT: ** Farò una serie di automazione domestica, seguirò i passaggi che ho seguito per imparare tutto ciò che ho fatto in futuro. Questo Instructable è la linea di base su come configurare MQTT da utilizzare nei miei futuri Instructables. Tuttavia
Smart Coffee Machine - Parte dell'ecosistema SmartHome: 4 passaggi
Smart Coffee Machine - Parte dell'ecosistema SmartHome: Hacked Coffee Machine, l'ho resa parte dell'ecosistema SmartHome Possiedo una buona vecchia macchina da caffè Delonghi (DCM) (non è una promozione e voglio che sia "intelligente". Quindi, l'ho hackerata installando ESP8266 modulo con interfaccia al suo cervello/microcontrollore usando
VW Standheizung Smarthome Einleitung: 4 passaggi
VW Standheizung Smarthome Einleitung: In diesem Projekt zeige ich, wie ich die Standheizung meines Autos in mein Smarthome implementiert habe. Ich wollte, dass sich das Auto selbstständig ohne mein Zutun heizt. Auch eine Sprachsteuerung und die Steuerung durch eine App sollte möglich se
Inatel - SmartHome - SH2Y - Sistema di monitoraggio e sicurezza ambientale: 6 passaggi
Inatel - SmartHome - SH2Y - Sistema De Monitoramento E Segurança Física De Ambiente: Foi desenvolvido um "Sistema de Monitoramento e Segurança Física de Ambiente" para Smart Homes, com o intuito de monitorar o status de variáveis como "Temperatura", "Luminosidade" e "Sensore di