Sommario:

SmartMirror fai da te: 6 passaggi
SmartMirror fai da te: 6 passaggi

Video: SmartMirror fai da te: 6 passaggi

Video: SmartMirror fai da te: 6 passaggi
Video: DIY Smart Mirror [Complete Guide] 2024, Dicembre
Anonim
SmartMirror fai da te
SmartMirror fai da te

Sì, è molto intelligente.

Passaggio 1: progettazione iniziale ed evoluzione

Progettazione iniziale ed evoluzione
Progettazione iniziale ed evoluzione

La mia idea iniziale era quella di creare uno specchio intelligente che mostrasse tutti i tipi di informazioni di cui hai bisogno quando ti prepari per la giornata. Meteo, notizie e scorte sono state le mie prime idee da includere nel design. Volevo anche avere il riconoscimento vocale per accendere il display e comunicarti informazioni importanti. Questa si è rivelata una tana del coniglio troppo profonda da coprire in un semestre, quindi ho quasi immediatamente eliminato l'idea del riconoscimento vocale.

L'idea originale prevedeva una sorta di scheda come un Pi o un Arduino per pilotare il display e ottenere dati da Internet. Dopo alcune ricerche ho deciso per un display LCD da 7' e un Raspberry Pi3 con un decoder per il display. Dopodiché ho dovuto trovare un'API adatta per darmi tutte le informazioni rilevanti per il tempo (si spera gratuitamente) e una GUI per visualizzare le informazioni. Una volta che ho iniziato a programmare, mi sono reso conto che l'aggiunta di funzionalità diverse dal meteo non sarebbe stata fattibile entro i limiti di tempo.

Il mio progetto finale è il display collegato a un decoder che comunica con il Raspberry Pi3. Il Pi esegue uno script Python che recupera il meteo con un'API chiamata OpenWeatherMap e visualizza i dati utilizzando la GUI Kivy.

Fase 2: ricerca

Ricerca
Ricerca

Ho già avuto l'idea di creare uno specchio intelligente nella mia testa da molti tutorial di Youtube che ho visto sull'argomento. Molte di quelle persone però usavano un'API che dovevano pagare e che aveva una GUI incorporata. Non volevo pagare, e non codificarlo da solo mi sembrava di barare.

Questo progetto è stato relativamente facile da ricercare. Avevo una serie chiara di materiali di cui avevo bisogno per il progetto: un display, un computer per guidare il display e uno specchio.

Ho scelto un Raspberry Pi3 perché aveva una vasta libreria di progetti già finiti che potevo guardare se avessi mai riscontrato problemi, di cui ce n'erano alcuni. Il display che ho scelto è stato il display più economico e più grande che ho trovato, abbastanza sottile da stare dietro il profilo di uno specchio. Alla fine ho dovuto costruire il mio specchio perché non riuscivo a trovarlo della giusta dimensione ed economico.

In conclusione, ho trovato molto più economico farlo da soli, a patto che tu stia bene con un aspetto sub-professionale molto probabilmente.

Passaggio 3: difficoltà e aiuto

Difficoltà e aiuto
Difficoltà e aiuto

Una delle prime difficoltà è stato un mio errore. Non sono riuscito a controllare l'uscita del pin dal display e l'ingresso sul mio Pi. L'uscita del pin era 40 ma l'ingresso Pi era 32. Ma fortunatamente ho trovato un decoder online che era economico e ha tolto la pressione dal Pi, il che è un vantaggio. Mi è costato un paio di dollari in più per la spedizione, se l'avessi guardato prima di ordinare tutte le parti.

Il prossimo ostacolo che ho incontrato è stato trovare una GUI. Non sapevo nemmeno come si chiamasse uno di loro, un'interfaccia utente grafica. Fortunatamente, il mio professore Chuck ha avuto alcuni suggerimenti su dove iniziare. Mi ha dato diversi suggerimenti che dovevo decidere da solo. Ho finito per arrivare a una conclusione piuttosto rapidamente, anche con l'aiuto di alcuni suggerimenti online.

Un modo in cui penso che M5 possa semplificare l'apprendimento in questa classe è avere una descrizione nella bacheca del personale di ciò di cui sanno davvero molto. Esempi come "Python" o "RaspberryPi" sotto ogni persona aiuterebbero a trovare a chi rivolgersi quando avevo domande. La maggior parte delle volte, trovavo la persona più vicina e loro dicevano qualcosa sulla falsariga di "Oof, non lo so davvero. Ma, così e così sicuramente lo farà". Allora troverei quella persona e spero di ottenere una risposta. Se potessi andare al consiglio e vedere se vedo qualche abilità che riguarda il mio problema, sarebbe di grande aiuto per ottenere aiuto.

Passaggio 4: risultati

Uno dei miei più grandi successi è il viaggio e il completamento di questo progetto. Questo è il primo grande progetto che ho dovuto completare da solo, e c'è stato molto da imparare nell'ambito del progetto e della gestione del tempo. Il processo di passaggio dalla progettazione alla realizzazione è stato difficile e ha rinnovato la mia fiducia nella pianificazione. Dalla ricerca delle parti alla semplice strutturazione efficiente del codice Python, l'atto di pianificare e mantenere organizzato era difficile in quel momento. Ma una volta capito questo, mi sono seduto e l'ho pianificato, non perché fosse stato assegnato o perché avessi bisogno di un buon voto, ma sono arrivato organicamente alla conclusione che era necessario.

Gli altri risultati di cui sono più orgoglioso sono la mia maggiore competenza in Python e la mia introduzione alla GUI. Questa è stata la prima GUI che abbia mai codificato e ha avuto una ripida curva di apprendimento. I widget di apprendimento (kivy "oggetti") e il funzionamento della struttura generale di una GUI mi erano estranei. Ora mi sento più a mio agio e sto decisamente meglio quando si tratta di imparare altre GUI in futuro.

Passaggio 5: replica

La prima cosa che farei per ricostruire questo progetto è decidere la tua scala e i tuoi obiettivi.

Se vuoi creare uno stile fai-da-te smart-mirror, segui il mio design ma sentiti libero di allontanarti dal percorso.

Se vuoi solo un progetto finito, puoi copiare tutti i miei passaggi e ho il codice sul mio Github.

Passaggio 6: aggiornamenti

La prima cosa che farò è procurarmi un nuovo specchio. Sebbene il mio funzioni, presenta imperfezioni dalla mia applicazione.

La prossima cosa che aggiungerei al display sono le altre idee come il banner delle notizie e delle scorte alla GUI e probabilmente aggiornerei il display a un monitor o un LCD più grande per adattarsi a tutte le informazioni.

Se tutti questi fossero completamente, infine aggiungerei il rilevamento del movimento o una funzione di sospensione in modo che non sia sempre attivo, o aggiungerei il riconoscimento vocale, quindi di nuovo il display non è sempre attivo.

Consigliato: