Sommario:
- Passaggio 1: i materiali
- Passaggio 2: realizzare il circuito
- Passaggio 3: creare un database
- Passaggio 4: scrittura dei dati del sensore nel database
- Passaggio 5: visualizzare il proprio IP sul display
- Passaggio 6: misurazione dei sensori ogni 10 minuti
- Passaggio 7: creazione del sito Web
- Passaggio 8: creazione del back-end
- Passaggio 9: creazione del front-end
- Passaggio 10: fare la serra
- Passaggio 11: mettere tutto insieme
Video: Mini-Serre: 11 Passi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Da studente, ho la cattiva abitudine di dimenticare le cose. Per questo motivo, se voglio coltivare un certo tipo di pianta, di solito me ne dimentico e muore perché non c'è nessuno che se ne occupi.
Cercherò di risolvere questo problema con Mini-Serre. Mini-Serre è un sistema di monitoraggio del giardinaggio automatizzato che invia i dati dei diversi tipi di sensori installati a un server web in esecuzione sul Raspberry Pi. In questo modo l'utente può monitorare i propri impianti su un sito web ovunque si trovi. Questo concetto è stato sviluppato come progetto finale entro il primo anno di tecnologia multimediale e di comunicazione, a Howest Kortrijk, Belgio.
Passaggio 1: i materiali
Per costruire questo progetto, avrai bisogno dei seguenti elementi:
Elettronica
- Raspberry pi 3 - kit
- tagliere
- Connettori maschio-maschio
- Connettori maschio-femmina
- Dallas 18B20 (sensore di temperatura)
- Rilevamento di fotoresistenza Sensore di luce fotosensibile
- MCP3008
- Potenziometro
- Display LCD
- resistori
- LED blu
- LED RGB
Involucro:
13. Central Park kweekkas (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Piatto di legno (fondo della cassa) 15. Chiodi 16. Viti
Utensili:
17. Martello 18. Sega 19. Cacciavite 20. Trapano
Passaggio 2: realizzare il circuito
Nel passaggio 2 realizzeremo il circuito per questo progetto. Questo è il minimo assoluto di cui hai bisogno se vuoi che funzioni. Usa la tabella fritzing e lo schema per fare una copia del circuito. Qui è dove hai bisogno di tutti i materiali elettrici dal passaggio 1.
Informazioni sul circuito:
Abbiamo 2 sensori collegati all'MCP3008 che sono il sensore di luce e il sensore di umidità del suolo. Il sensore di temperatura ha un'uscita digitale e utilizza un pin GPIO sul Raspberry Pi.
Extra:
Ho anche implementato un display LCD che semplificherà in seguito la connessione al Raspberry Pi senza la necessità di collegarsi al laptop. Questo non è necessario ma è altamente consigliato.
Passaggio 3: creare un database
È molto importante archiviare i dati dai sensori in modo organizzato ma anche sicuro. Questo è il motivo per cui ho deciso di archiviare i miei dati in un database. In questo modo solo io posso accedere a questo database (con un account personale) e mantenerlo organizzato. Nell'immagine sopra puoi trovare il mio schema dal mio database e sotto un file per esportare il database in un programma di database, ad esempio MySQL.
Programma databaseÈ importante che il nostro database possa funzionare da solo dal nostro Raspberry Pi. Puoi farlo scaricando MySQL o MariaDB per Raspberry Pi. Prima vuoi creare il database sul tuo computer in MySQL Workbench. Quindi esporti questo database come file autonomo. Ora connettiti al database del tuo Raspberry Pi tramite MySQL Workbench e ripristina il database qui. Ora hai il database in esecuzione sul tuo Raspberry Pi!
Passaggio 4: scrittura dei dati del sensore nel database
Dopo che il database è in esecuzione sul tuo Raspberry Pi, vogliamo che i nostri sensori siano in grado di memorizzare i loro dati al suo interno. Possiamo farlo creando 3 script separati (che viene fatto in PyCharm). Una bella funzionalità inclusa in PyCharm è che puoi connetterti al tuo Pi e in questo modo puoi accedere al tuo database e scriverci direttamente. I dati vengono anche letti direttamente dal Raspberry Pi e i LED si illumineranno in base a ciò di cui hai bisogno.
Il LED blu si accende: il terreno non è abbastanza umido. Il LED RGB si illumina in verde: tutto è a posto. Il LED RGB si accende in rosso: fa troppo caldo, aprire il tetto per farlo raffreddare un po'. Il LED RGB si accende in blu: fa troppo freddo, chiudi il tetto se è aperto.
Puoi scaricare tutti gli script dal mio repository github:
Nota: ho utilizzato i miei dati di accesso personali per i database, quindi potresti doverli modificare per adattarli ai tuoi.
Nota: la cartella DB1 contiene una classe 'database' che viene importata nel codice che si collegherà al tuo database.
Passaggio 5: visualizzare il proprio IP sul display
Il display mostra l'indirizzo IP su cui è in esecuzione il tuo Raspberry Pi, in questo modo puoi connetterti facilmente senza cavi al tuo Raspberry Pi. Ho anche scritto uno script per questo che legge l'IP del tuo pi e lo visualizza sul display (nota che i tuoi pin GPIO corrispondono altrimenti potrebbe non funzionare). Il Raspberry Pi esegue questo script automaticamente all'avvio. Puoi farlo aggiungendo del codice al file rc.local sul tuo Raspberry Pi. Puoi arrivarci digitando "sudo nano /etc/rc.local", prima dell'ultima riga di codice che desideri aggiungere "Python3.5 /home/user/filelocation &".
Puoi trovare lo script qui:
Nota: il '&' alla fine, questo farà eseguire lo script una volta e lo fermerà immediatamente in modo che anche altri script possano essere eseguiti.
Passaggio 6: misurazione dei sensori ogni 10 minuti
Non vogliamo che il nostro database venga riempito dai dati del sensore ogni 0,001 secondi, altrimenti questo renderà molto difficile per il database tenere il passo con tutti i dati in arrivo e potrebbe bloccarsi. Questo è il motivo per cui ho aggiunto uno scrap a "crontab" sul Raspberry Pi. Crontab è un programma che tiene traccia delle attività pianificate, quindi in questo modo puoi semplicemente eseguire lo script ogni 10 minuti solo una volta.
Come impostarlo:
Puoi configurarlo digitando prima nella riga di comando di Raspberry Pi "crontab -e", questo apre l'editor per crontab. Scorri fino alla fine del file e aggiungi 3 righe, una per ogni sensore.
'*/10 * * * * python3.5 /home/user/filepath/sensor1'
Nota: '*/10' sono i 10 minuti che vogliamo trascorrere tra ogni misurazione. Il codice che ho digitato dopo è la versione Python che stai eseguendo e il file che vuoi eseguire, quindi devi scrivere una riga per ogni sensore perché esistono su 3 file diversi.
Passaggio 7: creazione del sito Web
Ho creato il mio sito Web in un programma chiamato Atom. È un programma molto semplice da usare e consigliato se sei abbastanza nuovo nello scrivere HTML e CSS come me.
Puoi trovare tutto il codice e le immagini utilizzate a questo link:
Ho creato il front-end del sito Web in Visual Studio Code, quindi se non hai intenzione di creare tu stesso HTML e CSS, puoi semplicemente aggiungere i file a una nuova cartella in Visual Studio Code anziché Atom.
Passaggio 8: creazione del back-end
Il back-end e il front-end saranno le cose che faranno effettivamente accadere qualcosa sul sito web che abbiamo appena realizzato. Nel back-end ci colleghiamo ancora una volta al nostro database e invece di inserire i dati nel database. Ora leggeremo tutti i dati dai diversi sensori e utilizzando Socket. IO li invieremo al nostro front-end in modo da poterli visualizzare sul sito web.
Puoi trovare il codice per il back-end qui:
Nota: usiamo la classe del database che abbiamo usato in precedenza, quindi non l'ho inclusa in questo repository.
Passaggio 9: creazione del front-end
Il front-end è dove combiniamo il nostro codice HTML e CSS insieme a JavaScript e al nostro back-end. Il JavaScript che ho scritto cerca di stabilire una connessione con il back-end che deve essere in esecuzione. Ora il back-end ci invierà tutti i dati dai sensori e possiamo realizzare alcune funzioni in JavaScript che modificano il file HTML in modo che si adatti ai nostri valori correnti.
Il JavaScript può essere trovato qui:
Nota: assicurati di collegare il tuo HTML alla cartella corretta del luogo del tuo JavaScript altrimenti potrebbe non funzionare.
Passaggio 10: fare la serra
Ho acquistato un pacchetto preconfezionato da Brico:
Basta seguire i passaggi forniti con il pacchetto. Fatto ciò, non siamo ancora pronti per inserire il nostro Raspberry Pi. Per prima cosa dobbiamo creare un "pavimento" o un fondo per la serra, puoi farlo prendendo un piatto di legno e misurando quanto deve essere grande per adattarlo. Per prima cosa ho realizzato una cornice di legno in modo che il piatto di legno abbia qualcosa su cui riposare.
Passaggio 11: mettere tutto insieme
Siamo quasi pronti! Solo questo ultimo passaggio e sei pronto per partire. Prendi il Raspberry Pi e la serra, fai alcuni fori in modo da poterci inserire i LED, fai un foro per il display e un foro per l'alimentatore Raspberry Pi. Metti tutto nella serra, collega il Pi e il gioco è fatto! Hai la tua serra!
Consigliato:
MINI PSU PORTATILE MULTI TENSIONE CON USB, TORCIA, TESTER DI COMPONENTI E CARICABATTERIE INCORPORATO: 6 Passi
MINI PSU PORTATILE MULTI TENSIONE CON USB, TORCIA, TESTER DI COMPONENTI E CARICATORE INCORPORATO: benvenuto nel mio primo istruibile! Con questo istruibile sei in grado di trasformare un powerbank solare poco raccomandabile (con alcune parti extra) in qualcosa di utile. Qualcosa che puoi usare ogni giorno, come faccio io, perché è davvero fantastico da usare! La maggior parte di av
MINI Lampada da Notte: 11 Passi (con Immagini)
MINI Night Lamp: questo progetto è ispirato a Mohit Boite. L'elettronica è un oceano molto grande e per esplorarlo oggi ho realizzato una piccola lampada da notte che è controllata dal microcontrollore Arduino. Il concetto è semplice, tutto ciò che serve è un LDR (resistore dipendente dalla luce
Inverter Ladro Mini Joule 12V - Alimentazione 220V AC Lampadina LED Con Batteria 12V: 5 Passi
Inverter Ladro Mini Joule 12V - Alimentazione 220V AC Lampadina LED Con Batteria 12V: Ciao, questo è il mio primo Instructables. In questo Instructables condividerò come ho realizzato un semplice inverter per alimentare una lampadina a LED da 12 W. Questo circuito inverte 12 V CC dalla batteria a 220 V CA ad alta frequenza perché utilizzava il ladro di joule come cuore del c
Mini Tavolo Robotico (prototipo): 6 Passi
Mini Tavolo Robotico (prototipo): Cosa c'è di meglio di un tavolo con ruote? Un tavolo che puoi guidare! Questo tutorial ti insegnerà come costruire il tuo Mini Robotic Table, un progetto che è stato ideato e progettato da uno dei miei studenti (aveva 10 anni quando abbiamo iniziato). Ragnatela
IL MODO PI SEMPLICE PER FARE UNA LUCE COMPATTA!! 3 SEMPLICI PASSI!!: 3 Passi
IL MODO PI SEMPLICE PER FARE UNA LUCE COMPATTA!! 3 SEMPLICI PASSI!!: Cosa ti servirà - foglio di stagnola 1 batteria AA (alcune batterie AAA funzioneranno) 1 mini lampadina (lampadine utilizzate per la maggior parte delle torce elettriche; fare riferimento all'immagine) Righello (se necessario)