Sommario:
- Forniture
- Passaggio 1: installazione di Raspberry Pi
- Passaggio 2: creazione del circuito elettronico
- Passaggio 3: Arduino + Programmazione
- Passaggio 4: test dei sensori e degli attuatori sul Pi
- Passaggio 5: banca dati
- Passaggio 6: frontend
- Passaggio 7: backend
- Passaggio 8: mettere insieme le cose
- Passaggio 9: test
Video: Progetto ElectroTerra: 9 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Ho realizzato un terrario/vivario "intelligente" come progetto scolastico.
ElectroTerra è gestito da un Raspberry Pi che ospita un sito Web e memorizza i dati raccolti dai sensori in un database MariaDB.
Il sito web mostra la temperatura e l'umidità relativa dai sensori e consente il controllo della ventola e della striscia LED. Quella striscia può anche funzionare automaticamente con un sensore LDR.
Presumo una certa conoscenza pratica dell'uso di Raspberry Pi, Arduino, MariaDB (Mysql) e del cablaggio delle breadboard.
Forniture
Ho fatto un elenco di materiali in modo che tu possa trovare tutto il necessario per questo progetto.
Passaggio 1: installazione di Raspberry Pi
Per prima cosa devi impostare le basi per il Raspberry Pi:
Ho usato una connessione ssh per controllare il Pi con un laptop:
Per la codifica ho usato Visual Studio Code con un'estensione ssh:
Per rendere disponibile il sito Web all'interno della tua rete privata, puoi controllare questo istruibile dal passaggio 1 - 3: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Non esiste una build di sicurezza aggiuntiva in questo progetto, quindi, attenzione a esporlo su Internet.
Passaggio 2: creazione del circuito elettronico
Nello schema fritzing puoi vedere ogni componente necessario in questo progetto. Il sensore di temperatura a 1 filo può essere sostituito dal sensore di temperatura integrato del DHT22.
L'Arduino è alimentato dal Pi tramite il cavo USB.
Passaggio 3: Arduino + Programmazione
Poiché le funzioni nelle librerie Arduino per il DHT22 e il driver per strisce LED sono molto elaborate, ho deciso di aggiungere un Arduino per queste parti.
Pertanto è necessario l'IDE Arduino.
Assicurati di importare queste librerie:
- Libreria DHT:
- RGBdriver: nel repository github di electroterra
Passaggio 4: test dei sensori e degli attuatori sul Pi
Nel repository Github ci sono alcuni file di test per i singoli componenti.
Queste sono le classi: mcp.py (che copre i dati analogici dall'LDR) pcf.py (comunica i dati I2C) e pcf_lcd.py (che si interfaccia con l'LCD).
Passaggio 5: banca dati
Crea il database electroterra su Mysql worckbench tramite il file dump (final_dump_electroterra.sql nel repository Github) con alcuni dati di test.
Si è verificato un problema di compatibilità utilizzando la procedura guidata "Forward Engineer to Database" in Mysql Workbench. Assicurati di rimuovere il parametro VISIBLE nelle istruzioni sql poiché questo non funziona in MariaDB.
Passaggio 6: frontend
Il codice HTML, CSS e Javascript può essere trovato nel repository Github. Dovrebbero essere inseriti nella directory in cui verrà ospitato il sito Web. Il design è ottimizzato per l'uso mobile ed è stato testato sulle ultime versioni stabili di Chrome, Firefox ed Edge.
Passaggio 7: backend
Il codice app.py, datarepository.py e Database.py deve trovarsi nella home directory dell'utente Pi. Per fare in modo che il Pi esegua il file automaticamente al riavvio, usa queste istruzioni:
Puoi trovare il codice nel repository github:
Passaggio 8: mettere insieme le cose
Questa configurazione è una prova del concetto.
La ventola è fissata in posizione con colla a caldo. Alcuni fori extra sono stati praticati nella striscia di ventilazione per il cablaggio.
Poi c'era una scatola per conservare le parti elettroniche. È stata utilizzata una semplice scatola di plastica. Considerare l'aggiunta di una striscia di ventilazione in caso di surriscaldamento.
Passaggio 9: test
Accendi il Raspberry Pi e gli alimentatori.
Navigare fino all'indirizzo IP mostrato sul display LCD.
In questo modo è possibile monitorare i dati e controllare gli attuatori.