Sommario:
- Passaggio 1: comprensione dell'architettura:
- Passaggio 2: elenco delle parti
- Passaggio 3: cablaggio e posizionamento delle cose insieme
- Passaggio 4: imposta Blynk
- Passaggio 5: configurare il contenitore per alimenti, la pompa dell'acqua e la telecamera live
- Passaggio 6: come utilizzare il pannello di controllo
- Passaggio 7: sfide, limiti e piani futuri
Video: IDC2018IOT Connected Pet Food, acqua e sistema di monitoraggio: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
introduzione
Che tu sia uno studente sotto pressione, una persona che lavora sodo o semplicemente lontano da casa per più di poche ore al giorno. Come proprietari di animali premurosi, vogliamo assicurarci che i nostri cari rimangano sani, nutriti e, naturalmente, NON sdraiati sul divano (bastardo!). È ora di smettere di chiedere favori, o anche solo di pagare per tali servizi.
Con questo fantastico progetto miriamo a fornirti la possibilità di fare da te (ho sentito che ora è una cosa). Costruiremo una soluzione per monitorare meglio i nostri animali domestici e persino agiremo mentre siamo in ufficio, a scuola o semplicemente in giro con i nostri amici o altri significativi.
Questo sistema ti consentirà di nutrire il tuo animale domestico a distanza controllando la quantità di cibo che versi dal contenitore, riempiendo la ciotola dell'acqua ogni volta che si svuota. Inoltre, ora possiamo monitorare i livelli dell'acqua della ciotola in tempo reale, misurare il contenuto del contenitore di cibo e, soprattutto, guardare l'animale dal vivo utilizzando un semplice modulo telecamera.
Chi siamo
Tomer Maimon, Gilad Ram e Alon Shprung. Tre appassionati studenti di informatica dell'IDC Herzeliya. Questo è il nostro primo progetto Instructables come parte di un workshop IoT - speriamo che lo troverai interessante e divertente da costruire!
Passaggio 1: comprensione dell'architettura:
Possiamo dividere questo sistema in due parti principali:
-
Canali dati in entrata:
- Sensore dell'acqua: campionando i livelli dell'acqua all'interno della ciotola dell'animale domestico, i dati vengono trasmessi dall'unità Node-MCU al server Blynk e infine vengono presentati tramite la Pet Dashboard.
- Sensore sonar: campionando il contenuto del contenitore di cibo, i dati vengono trasmessi dall'unità Arduino (con estensione dello shield Ethernet) al server Blynk e infine vengono presentati tramite la Pet Dashboard.
- Modulo fotocamera Pi: campiona costantemente i fotogrammi dell'area dell'animale domestico, il Pi ospita il proprio server che fornisce il feed live alla Dashboard dell'animale domestico.
-
Flusso di comando:
- Pulsante Feed (Dashboard) - aggiornando un valore di pin virtuale tramite Blynk, la relativa funzione viene attivata sulla scheda Arduino, il Servo si muove per consentire il passaggio del cibo attraverso il coperchio.
- Give Water (Dashboard) - aggiorna attivamente un valore pin virtuale tramite Blynk, la relativa funzione viene attivata sulla scheda Node-MCU, il relè viene acceso, la pompa dell'acqua inizierà a far scorrere l'acqua nella ciotola dell'animale.
- Pet Live Feed (Dashboard) - integrato nel dashboard e che presenta dati in tempo reale tramite il server flask che viene eseguito sul dispositivo Pi.
Passaggio 2: elenco delle parti
Per iniziare a lavorare su questo sistema, avrai bisogno delle seguenti parti (o simili):
-
Fisico:
- Contenitore per alimenti: abbiamo utilizzato un tubo industriale a due lati da 45 cm, che abbiamo acquistato in un grande magazzino di casa. È importante avere 2 uscite. Una per la misurazione del contenuto e una seconda uscita per il meccanismo di apertura/chiusura.
- Nastro adesivo: per tenere insieme le cose;)
- Ponticelli: più siamo meglio è, è sempre bene avere qualcosa in più se qualcosa va storto.
- Cavo Ethernet: per collegare il nostro Arduino (con scudo ethernet) a Internet.
- Lattina da giardinaggio: usata come contenitore per l'acqua e la pompa dell'acqua.
- Tubo dell'acqua corto: collegato alla pompa e versa l'acqua nella ciotola dell'animale.
-
Sensori:
- Sensore di livello dell'acqua WINGONEER: misura il livello dell'acqua all'interno della ciotola dell'animale.
- Sensore sonar - Misura la distanza del livello del cibo dal coperchio superiore all'interno del contenitore.
- Relè TONGLING: permette di accendere/spegnere la pompa dell'acqua che fa scorrere l'acqua.
- Modulo fotocamera Pi: collegato a un dispositivo Raspberry Pi e trasmette in streaming le immagini dell'area dell'animale domestico.
- Servo generico: blocca e sblocca il contenitore del cibo.
-
Dispositivi elettronici / Schede:
- Arduino Uno: controlla l'implementazione dell'unità contenitore per alimenti.
- Arduino Ethernet Shield: fornisce la connessione Internet alla nostra scheda.
- NodeMCU (ESP-8266): controlla l'unità dell'acqua, sia per misurare che per versare l'acqua. Questa scheda ha la possibilità di connettersi tramite WiFi.
- Raspberry Pi 3 - ospita il server della fotocamera e fornisce feed live al dashboard dell'animale domestico.
- Pompa sommergibile dell'acqua VicTsing 80 GPH: fa scorrere l'acqua dalla lattina da giardinaggio alla ciotola, insieme al tubo dell'acqua.
Passaggio 3: cablaggio e posizionamento delle cose insieme
Cablaggio
Prima di iniziare, si consiglia di posizionare Arduino/Node-MCU su una breadboard per facilitare l'unione di tutti i cavi e il posizionamento in qualsiasi posizione fisica. Inoltre, si consiglia di utilizzare fili lunghi per evitare errori derivanti dal distacco del cavo. Ti abbiamo fornito uno schema elettrico per Node-MCU (Water Unit) e Arduino (Food Unit).
-
Unità Alimentare (Arduino):
-
Sensore ecoscandaglio:
- GND (Nero) = GND
- VCC (rosso) = 5V
- Trigonometro (Viola) = 3
- Eco (Blu) = 4
-
Servo:
- GND (Nero) = GND
- VCC (rosso) = 5V
- Segnale (giallo) = 9
-
-
Unità Idrica (Nodo):
-
Sensore di livello dell'acqua:
- S (Blu) = A0
- + (Rosso) = 3v3
- - (Nero) = GND
-
Relè (cablato elettricamente alla pompa dell'acqua):
- IN (giallo) = D1
- VCC (rosso) = Vin
- GND (Nero) = GND
-
-
Unità fotocamera (Pi):
-
Sensore della fotocamera:
- Collegati alla porta della fotocamera singola del Pi (cavo di flusso)
- Se cerchi di saperne di più su Pi con il modulo fotocamera - Link
-
Assemblare le parti insieme
In questa parte, puoi personalizzare e modificare questo progetto per "fartelo tuo". Ma ti forniremo immagini e descrizione per ricostruire la nostra versione del prodotto.
-
Food Unit (Arduino): il contenitore è piuttosto semplice, ci concentreremo sulla creazione dei due coperchi.
- Coperchio superiore: praticate 2 fori nel coperchio per far entrare il sensore sonar (vedi immagine allegata).
- Coperchio inferiore + meccanismo: inizia prendendo uno degli attacchi di plastica (forniti con il servosensore) e costruisci una forma a "martello da mazza" usando nastro adesivo / bastoncini di legno (abbiamo usato solo nastro adesivo). Quindi, collegalo al servo. Ora, abbiamo bisogno di 2 fori sul coperchio stesso. Il primo dovrebbe consentire al servo di adattarsi al meccanismo che abbiamo costruito sul "lato interno" del coperchio. Taglia un altro foro in base al lato della "testa del martello" che hai creato. In questo modo, ogni volta che il servo si apre, la coda del martello spazzerà il cibo verso l'uscita ed eviterà che i pezzi grandi si incastrino tra loro.
- Unità idrica (Node-MCU): collega semplicemente il tubo dell'acqua alla pompa dell'acqua, ora posizionalo all'interno della lattina da giardinaggio (assicurati di NON posizionare la parte sbagliata con il relè e i cavi elettrici all'interno dell'acqua).
- Unità fotocamera: tutto ciò che devi fare è posizionare il Pi con il modulo della fotocamera in una posizione a tua scelta.
Passaggio 4: imposta Blynk
Tutte le funzionalità remote in questo progetto sono basate su Blynk. Questo servizio ci fornisce fondamentalmente un server Web gratuito e un'API RESTful per comunicare con i nostri dispositivi Arduino/Node-MCU su Internet utilizzando il protocollo HTTP. Blynk ci consente di definire pin virtuali, che verranno utilizzati come indirizzo per l'esecuzione di funzioni specifiche relative al versamento dell'acqua, all'alimentazione e al campionamento dei diversi sensori (abbiamo fatto questa parte per te, tutto ciò che devi fare è ottenere il tuo token dell'applicazione, che verrà spiegato in seguito).
Come ottenere il mio token di autenticazione Blynk
- Scarica l'app Blynk tramite AppStore/PlayStore per il tuo dispositivo mobile.
- Iscriviti a questo servizio (è gratuito).
- Avvia un nuovo progetto, assicurati di selezionare il dispositivo corretto (nel nostro caso ESP8266).
- Dopo la creazione, verrà inviata un'e-mail con TOKEN DI AUTENTICAZIONE - Salva il token per i passaggi successivi.
Nota: Blynk può essere completamente utilizzato tramite l'app, ma abbiamo deciso di implementare la nostra dashboard personalizzata.
Infine, per procedere al passaggio successivo, è necessario scaricare e installare la libreria Blynk - Link (passare alla parte 3)
Passaggio 5: configurare il contenitore per alimenti, la pompa dell'acqua e la telecamera live
A questo punto, abbiamo finito di assemblare tutte le parti insieme e abbiamo ottenuto il nostro blynkAuthAppToken (vedi passaggio 3).
Ti abbiamo fornito tutto il codice necessario per eseguire questo progetto, tutto ciò che devi fare è modificare alcune variabili nel codice, che lo renderanno "il tuo" sistema privato.
Prima di tutto, inizia con il download dell'IDE Arduino (se non l'hai ancora fatto) - Link
Contenitore per alimenti Arduino
- Configura l'IDE sulla scheda Arduino: Strumenti -> Scheda -> Arduino/Genuino Uno
-
Assicurati di avere queste librerie installate: Schizzo -> Includi libreria -> Gestisci librerie
Staffetta (di Rafael)
-
Apri il file sketch PetFeeder.ino, configura i seguenti parametri (vedi immagine allegata per aiuto):
auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
- Compila e carica lo schizzo sul tuo dispositivo Arduino.
Nodo-MCU Water Unit
-
Imposta l'IDE sulla scheda Node-MCU:
Vedi la prima parte di questo istruibile per una spiegazione dettagliata
-
Assicurati di avere queste librerie installate: Schizzo -> Includi libreria -> Gestisci librerie
WiFi Manager (di tzapu)
-
Apri il file di schizzo PetFeeder.ino, configura i seguenti parametri (vedi l'immagine allegata per aiuto):
- auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
- ssid = "YOUR_WIFI_SSID"; // Fondamentalmente è il nome della tua rete WiFi
- pass = "YOUR_WIFI_PASSWORD"; // se non hai la password, usa la stringa vuota ""
- Compila e carica lo schizzo sul tuo dispositivo Node-MCU.
Modulo Fotocamera Pi Live
- Connetti il modulo fotocamera pi
- Esegui " sudo raspi-config " e attiva l'opzione "fotocamera".
-
Prova la fotocamera usando il comando "raspistill" per catturare un'immagine
r aspistill -o image.jpg
-
Imposta il server della webcam Flask:
- Installa tutti i requisiti usando pip install -r requisiti.txt
- Usa python per eseguire camera_server.py
- Dai un'occhiata su 127.0.0.1: 5000/video_feed
-
Imposta il server Web Flask per l'esecuzione all'avvio:
-
Aggiungi la seguente riga a /etc/rc.local (prima della riga di uscita):
python /camera_server.py
-
Passaggio 6: come utilizzare il pannello di controllo
Impostare
Questa parte è abbastanza semplice, tutto ciò che devi fare è inserire il "token app blynk" nel file "index.js" come segue:
const blynkToken = "YOUR_BLYNK_APP_TOKEN" // usa lo stesso token dei passaggi precedenti.
utilizzo
- Aprire la dashboard facendo doppio clic sul file "index.html".
- La dashboard campiona automaticamente il sistema ogni 10 minuti.
- Le misure del contenitore di acqua e cibo possono essere prese manualmente.
- I pulsanti "Give Water" e "Feed" vengono utilizzati per fornire attivamente cibo e acqua al tuo animale domestico.
- La parte inferiore della dashboard presenterà il feed live dal modulo della fotocamera se hai seguito attentamente le istruzioni del passaggio precedente.
Nota: se desideri personalizzare il numero di volte in cui il contenitore del cibo si apre quando dai da mangiare, apri il file "index.js" e modifica il "valore" nella riga successiva da "3" a qualsiasi numero a tua scelta:
fetch(baseURL + '/update/V1?value=3');
Passaggio 7: sfide, limiti e piani futuri
Sfide
Le principali sfide per noi in questo progetto riguardavano la progettazione del meccanismo di apertura/chiusura del contenitore per alimenti e la creazione di un codice simultaneo stabile per il controllo e la misurazione dell'unità alimentare. Credo che abbiamo provato almeno 4 versioni diverse finché non siamo rimasti soddisfatti. La preoccupazione principale era il cibo che bloccava l'uscita. Per evitare ciò, abbiamo scelto un design Sledge-Hammer, in questo modo ogni volta che apriamo il contenitore, la coda del "martello" sta spazzando il cibo verso l'uscita. Inoltre, l'utilizzo di un tubo a due lati ha reso la nostra vita molto più semplice durante la costruzione del contenitore per alimenti. Tale oggetto è perfetto per posizionare il meccanismo di uscita da un lato e un sensore di distanza dall'altro lato per misurarne il contenuto.
limiti
In questa fase del progetto, ci sono poche limitazioni al sistema:
- Non è completamente automatizzato, il che significa che l'alimentazione e il versamento dell'acqua vengono eseguiti manualmente tramite il dashboard di monitoraggio senza alcun programmatore intelligente (che potrebbe essere aggiunto in futuro o implementato da te!).
- La dashboard è in esecuzione localmente dal tuo laptop, per renderla più accessibile può essere ospitata su piattaforme popolari come "Heroku".
- Abbiamo utilizzato un modulo telecamera molto semplice, che può essere sostituito con un modulo molto più complicato per consentire una migliore qualità dell'immagine e l'eventuale aggiunta di un canale di comunicazione con il tuo animale domestico (utilizzando un altoparlante).
Progetti futuri
Se avessimo il tempo e il budget per continuare a sviluppare questo sistema, avremmo avuto in mente alcune idee e un possibile programma:
- Aggiunta del sistema di pianificazione automatica per l'alimentazione degli animali domestici - 2~3 giorni di lavoro.
- Costruire un sito web per consentire agli utenti del nostro sistema di creare dashboard personalizzati che sono ospitati online e accessibili da qualsiasi dispositivo connesso - 1-2 mesi di lavoro.
- Lavorando su una versione industriale per questo sistema, consentendo a più proprietari di animali domestici di controllare e comunicare meglio con i loro animali domestici online, abbiamo riscontrato molto interesse da parte degli amici che hanno visto l'esito di questo Instructable. Quindi, se hai la passione del tempo per portare il progetto al livello successivo, hai il pieno supporto!
Speriamo che ti sia piaciuto leggere (e, si spera, costruire!) questo progetto:)
Consigliato:
Monitoraggio del livello del sale dell'addolcitore d'acqua: 7 passaggi
Monitoraggio del livello del sale dell'addolcitore d'acqua: Gli addolcitori d'acqua funzionano utilizzando un processo chiamato scambio ionico in cui gli ioni di calcio e magnesio dell'acqua dura vengono scambiati con cloruro di sodio (sale) tramite una resina speciale. L'acqua entra in un recipiente a pressione dove si muove attraverso le perle di resina
Sistema di monitoraggio del livello dell'acqua: 9 passaggi (con immagini)
Sistema di monitoraggio del livello dell'acqua: come produttore fai-da-te, cerco sempre di trovare un modo per rendere la mia vita e quella degli altri più facile e sicura. Il 30 marzo 2013, almeno 11 persone sono morte a causa di piogge improvvise che hanno provocato allagamenti nella capitale mauriziana Port louis. Nello stesso giorno diverse case abbiamo
Monitoraggio del livello dell'acqua con display Oled con Raspberry Pi: 4 passaggi
Monitoraggio del livello dell'acqua con display Oled con Raspberry Pi: Ciao a tutti, sono Shafin, un membro di Aiversity. Condividerò su come costruire un sensore di livello dell'acqua con un display Oled per serbatoi d'acqua con un Raspberry pi. Il display oled mostrerà la percentuale del secchio pieno d'acqua
Sistema di allarme per bere acqua/Monitoraggio della presa d'acqua: 6 passaggi
Sistema di allarme per bere acqua/monitor dell'assunzione di acqua: dovremmo bere una quantità sufficiente di acqua ogni giorno per mantenerci in salute. Inoltre ci sono molti pazienti a cui viene prescritto di bere una certa quantità d'acqua ogni giorno. Ma sfortunatamente abbiamo perso il programma quasi tutti i giorni. Quindi disegno
Sistema di monitoraggio dell'acqua (Arduino Uno) WIP: 9 passaggi
Sistema di monitoraggio dell'acqua (Arduino Uno) WIP: questo sistema funge da iterazione di un dispositivo di monitoraggio dell'acqua a basso costo in un fattore di forma ridotto. L'ispirazione per questo design deriva da un evento delle Olimpiadi della scienza chiamato Water Quality. Quello che inizialmente era solo un misuratore di salinità, si è evoluto in questo