Cuprins:

DIY SmartMirror: 6 pași
DIY SmartMirror: 6 pași

Video: DIY SmartMirror: 6 pași

Video: DIY SmartMirror: 6 pași
Video: Tutorial de instalare folie de protectie Smart Protection iPhone 6+ 2024, Noiembrie
Anonim
DIY SmartMirror
DIY SmartMirror

Da, este foarte inteligent.

Pasul 1: Proiectare inițială și evoluție

Proiectare inițială și evoluție
Proiectare inițială și evoluție

Ideea mea inițială a fost să creez o oglindă inteligentă care să afișeze toate tipurile de informații de care aveți nevoie atunci când vă pregătiți pentru ziua respectivă. Vremea, știrile și stocurile au fost ideile mele inițiale pe care să le includ în proiectare. De asemenea, am vrut să am recunoaștere vocală pentru a porni ecranul și pentru a vă oferi informații importante. Acest lucru s-a dovedit a fi o gaură de iepure prea adâncă pentru a-l acoperi într-un semestru, așa că am înțeles aproape imediat ideea recunoașterii vocii.

Ideea originală avea un fel de placă precum un Pi sau un Arduino pentru a conduce afișajul și a obține date de pe internet. După câteva cercetări, am decis un ecran LCD de 7 'și un Raspberry Pi3 cu un decodor pentru afișaj. După aceea, a trebuit să găsesc un API adecvat care să-mi ofere toate informațiile relevante pentru vreme (gratuit, sperăm) și un GUI pentru a afișa informațiile. Odată ce am început să codez, mi-am dat seama că adăugarea unor caracteristici altele decât vremea nu va fi fezabilă în limita timpului.

Designul meu final este afișajul conectat la un decodor care comunică cu Raspberry Pi3. Pi rulează un script python care preia vremea cu un API numit OpenWeatherMap și afișează datele folosind GUI Kivy.

Pasul 2: Cercetare

Cercetare
Cercetare

Am avut deja ideea de a-mi face o oglindă inteligentă în cap din multe tutoriale Youtube pe care le-am văzut pe această temă. Mulți dintre acei oameni au folosit totuși un API pe care trebuiau să-l plătească pentru că avea un GUI încorporat. Nu am vrut să plătesc, iar dacă nu-l codific, a simțit că ai înșela.

Acest proiect a fost relativ ușor de cercetat. Aveam un set clar de materiale de care aveam nevoie pentru proiect: un afișaj, un computer pentru a conduce afișajul și o oglindă.

Am ales un Raspberry Pi3 pentru că avea o bibliotecă mare de proiecte deja terminate la care aș putea să mă uit dacă aș întâmpina vreodată probleme, dintre care erau câteva. Afișajul pe care l-am ales a fost cel mai accesibil și cel mai mare afișaj pe care l-am putut găsi, suficient de subțire pentru a se potrivi în spatele profilului unei oglinzi. Am ajuns să-mi construiesc propria oglindă pentru că nu puteam găsi cu dimensiunea potrivită și ieftină.

În concluzie, mi s-a părut mult mai ieftin doar să-l faci singur, atâta timp cât ești bine că are un aspect subprofesional cel mai probabil.

Pasul 3: Dificultăți și ajutor

Dificultăți și ajutor
Dificultăți și ajutor

Una dintre primele dificultăți a fost o gafă din partea mea. Nu am reușit să verific ieșirea pin de pe afișaj și intrarea pe Pi. Ieșirea pin a fost de 40, dar intrarea Pi a fost de 32. Dar, din fericire, am găsit un decodor online care era ieftin și a scos presiunea de pe Pi, ceea ce este un plus. M-a costat un cuplu suplimentar de dolari în transport, dacă m-aș fi uitat peste el înainte să comand toate piesele.

Următorul obstacol pe care l-am întâlnit a fost găsirea unui GUI. Nici nu știam cum se numea una dintre ele, o interfață grafică pentru utilizator. Din fericire, profesorul meu Chuck a avut câteva sugestii despre de unde să înceapă. Mi-a dat mai multe sugestii pe care trebuia să le decid singur. Am ajuns la o concluzie destul de repede, cu ajutorul unor sugestii online, de asemenea.

O modalitate prin care cred că M5 poate eficientiza învățarea în această clasă este să aibă o descriere pe tabloul personalului a ceea ce știu cu adevărat despre. Exemple precum „Python” sau „RaspberryPi” sub fiecare persoană ar ajuta la găsirea cui să mă adresez când aveam întrebări. De cele mai multe ori, găseam cea mai apropiată persoană și spuneau ceva de genul „Oof, nu știu cu adevărat. Apoi aș găsi acea persoană și, sperăm, voi primi un răspuns. Dacă aș putea merge la consiliu și să văd dacă văd abilități care se referă la problema mea, ar ajuta foarte mult la obținerea ajutorului.

Pasul 4: Împliniri

Una dintre cele mai mari realizări ale mele este călătoria și finalizarea acestui proiect. Acesta este primul proiect major pe care a trebuit să-l finalizez singur și am învățat mult în domeniul managementului proiectului și al timpului. Procesul de trecere de la proiectare la implementare a fost dificil și mi-a reînnoit credința în planificare. De la cercetarea părților până la simpla structurare eficientă a codului python, actul de planificare și menținere organizată a fost dificil în acest moment. Dar, odată ce am realizat acest lucru, m-am așezat și l-am planificat, nu pentru că a fost atribuit sau pentru că aveam nevoie de o notă bună, dar am ajuns organic la concluzia că era necesar.

Celelalte realizări de care sunt cel mai mândru sunt competența mea crescută în python și introducerea mea în GUI. Acesta a fost primul GUI pe care l-am codificat vreodată și avea o curbă de învățare abruptă cu el. Învățarea widgeturilor („obiecte” kivy) și modul în care funcționează structura generală a unei interfețe grafice mi-a fost străină. Acum mă simt mai bine rotunjit și cu siguranță mă simt mai bine atunci când vine vorba să învăț alte GUI în viitor.

Pasul 5: Replicare

Primul lucru pe care l-aș face pentru a reconstrui acest proiect pentru a decide amploarea și obiectivele tale.

Dacă doriți să creați un stil DIY cu oglindă inteligentă, urmați designul meu, dar nu ezitați să vă abateți de pe cale.

Dacă doriți doar un proiect finalizat, puteți copia toți pașii mei și am codul pe Github.

Pasul 6: upgrade-uri

Primul lucru pe care îl voi face este să obțin o nouă oglindă. Deși al meu funcționează, are imperfecțiuni din aplicația mea.

Următorul lucru pe care l-aș adăuga pe afișaj sunt celelalte idei, cum ar fi știri și stocuri de bannere pe GUI și, probabil, actualizați afișajul pe un monitor sau pe un ecran LCD mai mare pentru a se potrivi cu toate informațiile.

Dacă toate acestea ar fi complet, în cele din urmă aș adăuga fie sensul mișcării, fie o funcție de somn, astfel încât să nu fie întotdeauna activată, sau aș adăuga recunoaștere vocală, astfel încât din nou afișajul nu este întotdeauna aprins.

Recomandat: