Sommario:

Gestione intelligente della lavanderia: 7 passaggi
Gestione intelligente della lavanderia: 7 passaggi

Video: Gestione intelligente della lavanderia: 7 passaggi

Video: Gestione intelligente della lavanderia: 7 passaggi
Video: CASA PICCOLA? Ecco gli errori da evitare | Consigli dell’Architetto 2024, Luglio
Anonim
Gestione intelligente della lavanderia
Gestione intelligente della lavanderia
Gestione intelligente della lavanderia
Gestione intelligente della lavanderia
Gestione intelligente della lavanderia
Gestione intelligente della lavanderia

Dandywash è un sistema di gestione della lavanderia intelligente, orientato alle persone che hanno poco tempo da dedicare alle banali faccende domestiche come fare il bucato. Siamo stati tutti lì, solo a gettare i nostri vestiti sporchi nel cestino, sperando di trovare la motivazione per risolvere il pasticcio più tardi. Tuttavia, nessuno lo trova mai. Finché non avremo davvero bisogno di un capo di abbigliamento e non lo troveremo da nessuna parte. Questo è solo l'inizio. Poi arriva lo smistamento, il riempimento e il monitoraggio. Fare questo compito semplice e ripetitivo richiede troppa attenzione e concentrazione. Questo è esattamente il motivo per cui ho iniziato questo progetto. Dandywash elimina tutte queste attività noiose. Non dovrai più dedicare un altro secondo allo smistamento, al monitoraggio o alla misurazione dei tuoi carichi. Pur mantenendo il pieno controllo. Scopri di più e come puoi ottenere lo stesso risultato produttivo, leggendo questo articolo.

Forniture

Ho creato una distinta base dettagliata in Excel, che puoi visualizzare qui.

Questo contiene tutti i pezzi essenziali di cui hai bisogno e dove trovarli.

Oltre a questi, vorrei elencare alcuni elementi aggiuntivi che torneranno molto utili quando realizzerai questo progetto da solo, ma non sono obbligatori.

  • Dal momento che avrai bisogno di alcuni cavi per ponticelli lunghi e quelli non sono davvero una cosa, ti suggerisco di acquistare sia cavi femmina - femmina che cavi maschio - maschio. Ho anche comprato femmina - maschio ma quelli non sono realmente necessari. In questo modo, puoi creare cavi più lunghi concatenandoli insieme. Ciò elimina il lavoro di saldatura che richiede tempo.
  • Ho anche aggiunto un sacco di resistori di sicurezza nel circuito. Sentiti libero di eliminarli se ti senti più sicuro. Se stai esaurendo i resistori ti consiglio di prendere questo kit, è molto comodo avere sempre i resistori di cui hai bisogno, etichettati chiaramente.

Passaggio 1: preliminare

Preliminare
Preliminare
Preliminare
Preliminare

Avvio del Raspberry Pi

Per eseguire un'intera catena IOT dal Raspberry Pi, è necessario inizializzare il dispositivo. Questo può essere fatto scaricando l'immagine fornita e masterizzandola su una scheda micro SD (16 GB). Questo può essere fatto usando Win32DiskImager o qualsiasi altro software. Assicurati che la tua scheda SD sia completamente vuota e formattata prima di masterizzare l'immagine. Questo video spiega l'intero processo passo dopo passo. Nota che non è necessario utilizzare l'immagine raspbian ma l'immagine fornita.

Quando hai finito di scrivere la scheda SD, puoi rimuoverla e inserirla nel Pi. Assicurati che il Pi non sia ancora collegato all'alimentazione!

Quando la scheda SD è inserita, collega il Pi al tuo laptop usando un cavo ethernet. Solo allora, quando è già sotto il tuo controllo, dagli potere. Il Pi si avvierà in un paio di secondi.

Puoi monitorarlo andando nel prompt dei comandi e digitando

ping 169.254.10.1 -t

Quando ricevi una risposta anziché un "Host irraggiungibile", il tuo Pi è stato avviato correttamente. Ciò significa che possiamo interagire con esso. Uscire dal ciclo infinito di ping premendo Ctrl+C. Ora puoi inserire il Pi digitando

ssh [email protected]

questo ti chiederà la password, che è il lampone predefinito.

Quando si avvia per la prima volta, è generalmente buona norma eseguire entrambi

$ sudo apt-get update

$ sudo apt-get upgrade

Ciò garantirà che tutti i pacchetti siano aggiornati e alla versione più recente.

MariaDB e Apache2 saranno già installati. Quindi non dobbiamo preoccuparci di quelli. Tuttavia, dobbiamo impostare alcune altre cose per far funzionare tutto come vogliamo.

Tuttavia, dovresti prima riavviare, per assicurarti che tutto sia pronto per il passaggio successivo.

$ sudo reboot

Passaggio 2: configurazione del database

Configurazione del database
Configurazione del database
Configurazione del database
Configurazione del database

Imposteremo il database utilizzando il tuo laptop/desktop, non il Pi. Apri MySQL Workbench (guida per il download) e aggiungi una nuova connessione.

Successivamente, ti verrà richiesto con una finestra di configurazione. Il mio è riempito come dovrebbe essere il tuo. Prestare molta attenzione ai campi contrassegnati. Le frecce indicano le password che devi memorizzare nel vault. Questi sono solo valori predefiniti e possono essere modificati a tuo piacimento.

Quando tutte le informazioni sono state inserite, fare clic su Prova connessione, ignorare l'avviso e, si spera, visualizzare la finestra di successo. In caso contrario, alcuni campi sono errati. Puoi procedere facendo clic su Ok nella finestra con tutti i campi di input.

La connessione dovrebbe ora essere visibile nella finestra iniziale. Fare clic su di esso per provare a connettersi. La password dovrebbe essere inserita automaticamente poiché l'abbiamo archiviata nel caveau.

L'ultimo passaggio consiste nell'importare il database. Puoi scaricare il dump qui. Questo video spiega come aprire ed eseguire un file.sql. Assicurati di essere connesso al Raspberry Pi e non all'istanza locale sul tuo laptop!

Passaggio 3: configurazione del repository Git

Configurazione del repository Git
Configurazione del repository Git
Configurazione del repository Git
Configurazione del repository Git
Configurazione del repository Git
Configurazione del repository Git
Configurare il repository Git
Configurare il repository Git

Lavorare con un repository git è praticamente necessario qui. Soprattutto se vuoi passare facilmente dal tuo pc al raspi. Git dovrebbe essere già installato sul dispositivo, quindi puoi semplicemente clonare git qualunque repository tu voglia in qualunque cartella tu voglia. Tuttavia, poiché stiamo usando apache, dobbiamo inserire il nostro codice Frontend (html, css, javascript) nella cartella /var/www/html. Non voglio mettere qui l'intero repository e sicuramente non voglio un repository separato.

Questo può essere risolto creando un collegamento simbiotico, che è essenzialmente lo stesso di un collegamento in Windows. Può essere facilmente configurato digitando il seguente comando nel terminale raspi (dopo aver clonato il repository!)

$ git clone

La creazione di un collegamento simbiotico ha la seguente struttura

$ ln -s /percorso/a/dir /percorso/a/link simbolico

Applicato a questo caso d'uso, il comando dovrebbe assomigliare a questo

$ ln -s ~/home/pi/project1/git-repo/ /var/www/html

Ora, se tutto è andato bene, puoi navigare su https://169.254.10.1/Frontend dovrebbe vedere index.html dal repository git.

In questa cartella troverai il codice frontend reattivo completo. Compreso HTML5, CSS e JavaScript.

Passaggio 4: backend

Backend
Backend
Backend
Backend

Per questo progetto, utilizzeremo Flask in combinazione con Socketio. Questo ci permette di configurare un webserver flessibile con routing e websocket. Questa app Flask interagirà anche con il database per eseguire azioni CRUD. La cosa migliore di questo intero stack è che richiede pochissimo tempo e fatica per l'impostazione. Innanzitutto, assicurati che i seguenti pacchetti Python di terze parti siano installati. Questi dovrebbero essere inclusi nell'immagine, ma eseguendo i seguenti comandi puoi assicurarti / aggiornare alle versioni più recenti.

$ pip3 installa mysql-connector-python

$ pip3 installa flask-socketio $ pip3 installa flask-cors $ pip3 installa gevent $ pip3 installa gevent-websocket

Ora dovresti essere in grado di eseguire lo script app.py senza problemi. Potrebbe essere che ottieni un attributoError che dice che il tipo oggetto "Database" non ha attributo "cursore". Ciò è causato da un errore nel file config.py. Assicurati che la password del nome utente e il nome del database siano corretti e di avere accesso al database che abbiamo appena importato. Ciò è particolarmente degno di nota nel caso in cui hai modificato il nome utente e la password predefiniti in MySQL.

Passaggio 5: circuito

Circuito
Circuito
Circuito
Circuito
Circuito
Circuito

Non posso davvero dire molto sul circuito. Dovrai solo creare questo ed eseguire gli script di test nel repository git. Ho creato uno script di test per ogni sensore e attuatore nel circuito, in modo da poter testare singolarmente ogni parte/componente.

Potrebbe essere necessario modificare i numeri dei pin nel codice. Ho anche aggiunto un sacco di resistori di sicurezza nel circuito. Sentiti libero di eliminarli se ti senti più sicuro. Se stai esaurendo i resistori ti consiglio di prendere questo kit, è molto comodo avere sempre i resistori di cui hai bisogno, etichettati in modo chiaro.

Se il circuito ti spaventa, non scoraggiarti. Prova a suddividerlo in sezioni. Costruisci prima i pulsanti, assicurati che funzionino e poi passa al sensore successivo. Questo è qualcosa che non puoi costruire in un colpo solo, a meno che tu non abbia un talento sorprendente.

Infine, tieni presente che il Raspberry Pi non è adatto a nessun software PWM serio. Linux non è un sistema operativo in tempo reale. Ciò significa che avrai un leggero tremolio nei servomotori. Il pin 18 GPIO supporta l'hardware pwm, ma abbiamo bisogno di più di un solo pin.

Passaggio 6: caso

Caso
Caso
Caso
Caso
Caso
Caso

Avevo un intero progetto pianificato nella mia testa, che non poteva essere realizzato a causa dell'attuale pandemia. Ovviamente questa è una situazione che richiede flessibilità da parte di tutti, ed è esattamente come ho reagito. Ho ancora la scena 3D originale che ho realizzato e condividerò anche questa qui, se desideri costruire il caso in questo modo. Tuttavia, per il resto di questo articolo, parlerò di come è stato costruito il caso.

L'inconveniente principale era la piastra in abs che avrei usato per montare la parte superiore su quella inferiore. Questo era il materiale perfetto. Esteticamente gradevole e molto pratico. Tuttavia, questo potrebbe non essere realizzato, quindi ho dovuto trovare un'alternativa. Dato che non riuscivo a pensare ad un altro materiale della stessa resistenza che potesse essere piegato allo stesso modo, ho deciso di sostituirlo con un sosia di legno. Ciò rendeva impossibili le curve arrotondate, ma in realtà creava un'altra superficie piana che poteva essere utilizzata per riporre oggetti come prodotti per il bucato o mollette. Ho finito per usarlo per memorizzare una seconda breadboard, rendendo la mia vita di circuito molto più semplice per questo prototipo.

Notare il foro rettangolare che è stato praticato nella parte posteriore. Ciò consente di instradare i cavi al Raspbarry Pi.

Per le tavole ho fatto una visita al mio negozio di fai da te locale. Hanno sempre del legno di scarto in giro e sono disposti a tagliarlo a pezzi per un piccolo prezzo. Ho pagato un totale di 5 € in totale. Un enorme ringraziamento a Louis da Hubo Wevelgem per renderlo possibile. Dopo si è trattato solo di fare dei buchi e avvitare tutto al suo posto. Una panoramica dettagliata su dove tagliare e dove perforare è disponibile qui.

Per i pezzi stampati in 3D, ho dovuto fare affidamento sulle persone intorno a me, poiché la scuola non poteva più fornire questo servizio a causa della pandemia. Tramite un amico di un amico sono entrato in contatto con qualcuno che stava appena iniziando a costruire la sua attività di stampa 3D. È stato abbastanza generoso da stampare il mio pezzo principale. La qualità era piuttosto scadente a causa di un'errata configurazione della stampante. Ho acquistato un primer spray e gli ho dato 3 mani, ripristinando l'aspetto generale.

I supporti del sensore di distanza sono stati fatti da un altro amico. Ha anche stampato i portelli che erano attaccati ai servomotori. All'inizio le ho provate con il cartone, ma non aderivano molto bene. Nota che se stampi in 3D questi bit, avrai bisogno di bottom_hatch.stl due volte, oltre a distanceSensorHolder.stl. main_piece.stl e middle_hatch.stl devono essere stampati solo una volta.

Passaggio 7: domande?

Se una parte non ti è ancora del tutto chiara, non esitare a contattarmi e consentirmi di aiutarti.

Sentiti libero di contattare via e-mail su [email protected]

Consigliato: