Spisu treści:

DIY SmartMirror: 6 kroków
DIY SmartMirror: 6 kroków

Wideo: DIY SmartMirror: 6 kroków

Wideo: DIY SmartMirror: 6 kroków
Wideo: DIY Smart Mirror (that doesn't steam up!) 2024, Czerwiec
Anonim
DIY inteligentne lustro
DIY inteligentne lustro

Tak, jest bardzo sprytny.

Krok 1: Wstępny projekt i ewolucja

Wstępny projekt i ewolucja
Wstępny projekt i ewolucja

Moim początkowym pomysłem było stworzenie inteligentnego lustra, które będzie wyświetlać wszystkie rodzaje informacji, których potrzebujesz, gdy przygotowujesz się do dnia. Pogoda, aktualności i zapasy były moimi pierwszymi pomysłami na uwzględnienie w projekcie. Chciałem też mieć rozpoznawanie głosu, aby włączyć wyświetlacz i przekazać ważne informacje. Okazało się, że to zbyt głęboka królicza nora, by zakryć ją w jeden semestr, więc prawie natychmiast porzuciłem pomysł rozpoznawania głosu.

Pierwotny pomysł miał jakąś płytkę, taką jak Pi lub Arduino, która sterowała wyświetlaczem i pobierała dane z Internetu. Po kilku poszukiwaniach zdecydowałem się na 7' wyświetlacz LCD oraz Raspberry Pi3 z dekoderem do wyświetlacza. Potem musiałem znaleźć odpowiednie API, które dałoby mi wszystkie istotne informacje o pogodzie (mam nadzieję, że za darmo) i GUI do wyświetlania informacji. Kiedy zacząłem kodować, zdałem sobie sprawę, że dodanie funkcji innych niż pogoda nie będzie możliwe w ramach ograniczeń czasowych.

Mój ostateczny projekt to wyświetlacz połączony z dekoderem komunikującym się z Raspberry Pi3. Pi uruchamia skrypt Pythona, który pobiera pogodę za pomocą interfejsu API o nazwie OpenWeatherMap i wyświetla dane za pomocą GUI Kivy.

Krok 2: Badania

Badania
Badania

Pomysł na zrobienie inteligentnego lustra miałem już w głowie z wielu tutoriali na Youtube, które widziałem na ten temat. Wiele z tych osób korzystało jednak z interfejsu API, za który musieli zapłacić, a który miał wbudowany GUI. Nie chciałem płacić, a nie kodowanie samemu czułem się jak oszustwo.

Ten projekt był stosunkowo łatwy do zbadania. Miałem jasny zestaw materiałów, których potrzebowałem do projektu: wyświetlacz, komputer do sterowania wyświetlaczem i lustro.

Wybrałem Raspberry Pi3, ponieważ miał dużą bibliotekę gotowych już projektów, do których mógłbym się przyjrzeć, gdybym kiedykolwiek napotkał problemy, których było kilka. Wybrany przeze mnie wyświetlacz był najbardziej przystępnym cenowo i największym wyświetlaczem, jaki udało mi się znaleźć, i był wystarczająco cienki, aby zmieścić się za profilem lustra. Skończyło się na tym, że musiałem zbudować własne lustro, ponieważ nie mogłem znaleźć odpowiedniego rozmiaru i taniego.

Podsumowując, uważam, że jest to o wiele tańsze, aby zrobić to samemu, o ile najprawdopodobniej nie masz nic przeciwko temu, aby wyglądał na nieprofesjonalny.

Krok 3: Trudności i pomoc

Trudności i pomoc
Trudności i pomoc

Jedną z pierwszych trudności był błąd z mojej strony. Nie udało mi się sprawdzić wyjścia pinów z wyświetlacza i wejścia na moim Pi. Wyjście pinowe miało 40, ale wejście Pi było 32. Ale na szczęście znalazłem dekoder online, który był tani i odciążył Pi, co jest plusem. Kosztowało mnie to dodatkowe kilka dolarów w wysyłce, jeśli przejrzałem to przed zamówieniem wszystkich części.

Następną przeszkodą, którą napotkałem, było znalezienie GUI. Nie wiedziałem nawet, jak nazywa się jeden z nich, graficzny interfejs użytkownika. Na szczęście mój profesor Chuck miał kilka sugestii, od czego zacząć. Dał mi kilka sugestii, na które musiałam sama zdecydować. Skończyło się na tym, że dość szybko doszedłem do wniosku, korzystając również z kilku sugestii online.

Myślę, że jednym ze sposobów, w jaki M5 może usprawnić naukę w tej klasie, jest umieszczenie na tablicy personelu opisu tego, o czym naprawdę dużo wiedzą. Przykłady takie jak „Python” lub „RaspberryPi” pod każdą osobą pomogłyby w ustaleniu, do kogo się udać, gdy mam pytania. Przez większość czasu znajdowałem najbliższą osobę, a oni mówili coś w stylu „Oof, naprawdę nie wiem. Ale tak a tak na pewno będzie”. Wtedy znajdę tę osobę i mam nadzieję, że uzyskam odpowiedź. Gdybym mógł podejść do tablicy i zobaczyć, czy widzę jakieś umiejętności, które dotyczą mojego problemu, bardzo pomogłoby to w uzyskaniu pomocy.

Krok 4: Osiągnięcia

Jednym z moich największych osiągnięć jest podróż i zakończenie tego projektu. To pierwszy duży projekt, który musiałem wykonać sam, a dużo się nauczyłem w zakresie zarządzania projektami i czasem. Proces przejścia od projektu do realizacji był trudny i odnowił moją wiarę w planowanie. Od badania części do prostego konstruowania kodu Pythona, czynność planowania i utrzymywania porządku była w tej chwili trudna. Ale kiedy zdałem sobie z tego sprawę, usiadłem i zaplanowałem to, nie dlatego, że został wyznaczony lub dlatego, że potrzebowałem dobrej oceny, ale organicznie doszedłem do wniosku, że jest to konieczne.

Inne osiągnięcia, z których jestem najbardziej dumny, to moja zwiększona biegłość w pytonie i moje wprowadzenie do GUI. To był pierwszy GUI, jaki kiedykolwiek zakodowałem, i wymagało od niego stromej krzywej uczenia się. Nauka widżetów (kivy 'obiektów') i tego, jak działa ogólna struktura GUI, była mi obca. Teraz czuję się bardziej zaokrąglony i zdecydowanie lepiej jest, jeśli chodzi o naukę innych GUI w przyszłości.

Krok 5: Replikacja

Pierwszą rzeczą, którą zrobię, będzie zrekonstruowanie tego projektu, aby zdecydować o skali i celach.

Jeśli chcesz stworzyć styl inteligentnego lustra DIY, podążaj za moim projektem, ale nie krępuj się zboczyć ze ścieżki.

Jeśli chcesz po prostu ukończony projekt, możesz skopiować wszystkie moje kroki, a kod mam na moim Github.

Krok 6: Aktualizacje

Pierwszą rzeczą, jaką zrobię, to zdobędę nowe lustro. Chociaż moja działa, ma niedoskonałości z mojej aplikacji.

Następną rzeczą, którą dodałbym do wyświetlacza, są inne pomysły, takie jak baner wiadomości i akcji do GUI i prawdopodobnie uaktualnienie wyświetlacza do monitora lub większego LCD, aby zmieścić wszystkie informacje.

Gdyby to wszystko było całkowicie, na koniec dodałbym albo zmysł ruchu, albo funkcję uśpienia, aby nie zawsze był włączony, albo dodałby rozpoznawanie głosu, więc znowu wyświetlacz nie zawsze jest włączony.

Zalecana: