Indholdsfortegnelse:

DIY SmartMirror: 6 trin
DIY SmartMirror: 6 trin

Video: DIY SmartMirror: 6 trin

Video: DIY SmartMirror: 6 trin
Video: DIY Smart Mirror (that doesn't steam up!) 2024, November
Anonim
DIY SmartMirror
DIY SmartMirror

Ja, det er meget smart.

Trin 1: Indledende design og udvikling

Indledende design og udvikling
Indledende design og udvikling

Min første idé var at oprette et smart-mirror, der viser alle former for information, du har brug for, når du gør dig klar til dagen. Vejr, nyheder og aktier var mine første ideer til at inkludere i designet. Jeg ville også have stemmegenkendelse til at tænde skærmen og fortælle dig vigtige oplysninger. Dette viste sig at være for dybt et kaninhul til at dække på et semester, så jeg næsten øjeblikkeligt tanken om stemmegenkendelse.

Den oprindelige idé havde en slags board som en Pi eller en Arduino til at drive displayet og hente data fra internettet. Efter lidt research besluttede jeg mig for et 7 'LCD -display og en Raspberry Pi3 med en dekoder til displayet. Derefter måtte jeg finde en passende API for at give mig alle relevante oplysninger om vejret (forhåbentlig gratis) og en GUI til at vise oplysningerne. Da jeg først begyndte at kode, indså jeg, at tilføjelse af andre funktioner end vejret ikke ville være muligt inden for tidsbegrænsningen.

Mit sidste design er displayet tilsluttet en dekoder, der kommunikerer med Raspberry Pi3. Pi kører et python -script, der henter vejret med en API kaldet OpenWeatherMap og viser dataene ved hjælp af GUI Kivy.

Trin 2: Forskning

Forskning
Forskning

Jeg havde allerede idéen til at lave et smart-mirror i mit hoved fra mange Youtube-tutorials, jeg så om emnet. Mange af disse mennesker brugte dog en API, som de skulle betale for, og havde en indbygget GUI. Jeg ville ikke betale, og ikke at kode det selv føltes som snyd.

Dette projekt var relativt let at undersøge. Jeg havde et klart sæt materialer, jeg havde brug for til projektet: et display, en computer til at drive displayet og et spejl.

Jeg vælger en Raspberry Pi3, fordi den havde et stort bibliotek med allerede færdige projekter, jeg kunne se på, hvis jeg nogensinde stødte på problemer, som der var et par af. Det display, jeg vælger, var det mest overkommelige og største display, jeg kunne finde, og som var tyndt nok til at passe bag spejlets profil. Jeg endte med at skulle konstruere mit eget spejl, fordi jeg ikke kunne finde med den rigtige størrelse og billigt.

Afslutningsvis fandt jeg det meget billigere bare at lave det selv, så længe du er okay med, at det sandsynligvis har et subprofessionelt udseende.

Trin 3: Vanskeligheder og hjælp

Vanskeligheder og hjælp
Vanskeligheder og hjælp

En af de første vanskeligheder var en fejl fra min side. Jeg kunne ikke kontrollere pin -output fra displayet og input på min Pi. Pin output var 40, men Pi input var 32. Men heldigvis fandt jeg en dekoder online, der var billig og tog pres fra Pi, hvilket er et plus. Det kostede mig et par ekstra dollars i forsendelse, hvis jeg havde kigget over det, før jeg bestilte alle delene.

Den næste forhindring, jeg stødte på, var at finde en GUI. Jeg vidste ikke engang, hvad en af dem hed, en grafisk brugergrænseflade. Heldigvis havde min professor Chuck nogle forslag til, hvor jeg skulle starte. Han gav mig flere forslag, som jeg var nødt til at tage stilling til på egen hånd. Jeg endte med at komme til en konklusion ret hurtigt ved hjælp af nogle online forslag også.

En måde, jeg tror, at M5 kan effektivisere læringen i denne klasse, er at have en beskrivelse på personalebordet af, hvad de virkelig ved meget om. Eksempler som 'Python' eller 'RaspberryPi' under hver person ville hjælpe med at finde ud af, hvem jeg skulle gå til, når jeg havde spørgsmål. Det meste af tiden ville jeg finde den nærmeste person, og de ville sige noget i retning af "Uff, jeg ved det ikke rigtigt. Men sådan og sådan vil helt sikkert." Så ville jeg finde den person og forhåbentlig få et svar. Hvis jeg kunne gå til bestyrelsen og se, om jeg ser nogen færdigheder, der vedrører mit problem, ville det hjælpe meget med at få hjælp.

Trin 4: Opgaver

En af mine største præstationer er rejsen og gennemførelsen af dette projekt. Dette er det første store projekt, jeg var nødt til at gennemføre på egen hånd, og der var meget læring inden for projekt- og tidsstyring. Processen med at gå fra design til implementering var vanskelig, og det fornyede min tro på planlægning. Fra at undersøge dele til simpelthen at strukturere python -kode effektivt, handlingen med at planlægge og holde organiseret var vanskelig i øjeblikket. Men da jeg først indså dette, satte jeg mig ned og planlagde det, ikke fordi det blev tildelt, eller fordi jeg havde brug for en god karakter, men jeg kom organisk til den konklusion, at det var nødvendigt.

De andre præstationer, jeg er mest stolt over, er min øgede færdighed i python og min introduktion til GUI. Dette var den første GUI, jeg nogensinde havde kodet, og den havde en stejl indlæringskurve med sig. At lære widgets (kivy 'objekter') og hvordan den generelle struktur i et GUI fungerer var fremmed for mig. Jeg føler mig nu mere velafrundet, og jeg har det bestemt bedre, når det kommer til at lære anden GUI i fremtiden.

Trin 5: Replikering

Den første ting, jeg ville gøre for at rekonstruere dette projekt for at bestemme din skala og mål.

Hvis du vil lave en smart-mirror DIY-stil, skal du følge mit design, men du er velkommen til at afvige fra stien.

Hvis du bare vil have et færdigt projekt, kan du kopiere alle mine trin, og jeg har koden på min Github.

Trin 6: Opgraderinger

Det første, jeg vil gøre, er at få et nyt spejl. Selvom mit virker, har det ufuldkommenheder fra min ansøgning.

Den næste ting, jeg ville tilføje til displayet, er de andre ideer som nyheder og aktier -banner til GUI, og sandsynligvis opgradere skærmen til en skærm eller større LCD, så den passer til alle informationerne.

Hvis alle disse var fuldstændigt, ville jeg endelig tilføje enten bevægelsesfornemmelse eller en søvnfunktion, så den ikke altid er tændt, eller tilføje stemmegenkendelse, så igen er displayet ikke altid tændt.

Anbefalede: