Sommario:

Mini-Serre: 11 Passi
Mini-Serre: 11 Passi

Video: Mini-Serre: 11 Passi

Video: Mini-Serre: 11 Passi
Video: #11 Growing a Small Vegetable Garden on my Balcony (8sqm) (2020) 2024, Dicembre
Anonim
Mini-Serre
Mini-Serre
Mini-Serre
Mini-Serre

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

I materiali
I materiali

Per costruire questo progetto, avrai bisogno dei seguenti elementi:

Elettronica

  1. Raspberry pi 3 - kit
  2. tagliere
  3. Connettori maschio-maschio
  4. Connettori maschio-femmina
  5. Dallas 18B20 (sensore di temperatura)
  6. Rilevamento di fotoresistenza Sensore di luce fotosensibile
  7. MCP3008
  8. Potenziometro
  9. Display LCD
  10. resistori
  11. LED blu
  12. 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

Fare il circuito
Fare il circuito
Fare il circuito
Fare 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

Crea un database
Crea 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

Visualizzare il tuo IP sul display
Visualizzare il tuo 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

Misurazione dei sensori ogni 10 minuti
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

Fare il sito web
Fare il 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

Fare la serra
Fare la serra
Fare la serra
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

Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
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: