Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Pobierz, zmodyfikuj pliki i wydrukuj pliki 3D
- Krok 2: Przylutuj/złóż komponenty - część a (klawiatura i numer boczny)
- Krok 3: Przylutuj/złóż komponenty - część B (skrzydełka i czujniki)
- Krok 4: Przylutuj/złóż komponenty - część C (klawiatura do czujnika pojemnościowego i pióro w obudowie)
- Krok 5: OPCJONALNIE - Lutowane/zmontuj elementy - Część D (Pióro INA219)
- Krok 6: Przykręć tylną pokrywę i podłącz USB
- Krok 7: Przygotuj środowisko AWS
- Krok 8: Pobierz klucze oprogramowania i skonfiguruj usługi innych firm
- Krok 9: Zmodyfikuj i prześlij kod AWS
- Krok 10: Przygotuj Arduino IDE i pobierz biblioteki
- Krok 11: Zaktualizuj i zainstaluj kod Arduino i zaangażuj się
Wideo: Zrób to tak! Komputer inżynierski Star Trek TNG Mini: 11 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Przegląd
Dorastałem oglądając Star Trek: The Next Generation. Zawsze chciałem zbudować urządzenie o tematyce Star Trek, więc w końcu zabrałem się do zremiksowania jednego z moich starych projektów, aby stworzyć Star Trek Display Terminal.
Terminal podaje następujące informacje:
- Pogoda - za pomocą National Weather Service
- Temperatura wewnętrzna, wilgotność i wytrzymałość lotnych związków organicznych (LZO)
- Artykuły z wiadomościami - z News.org
- Harmonogram (z funkcją alarmu) - z Microsoft Outlook
- Informacje o kondycji (kroki, minuty ruchu, punkty kardio, waga, spalone kalorie) – z Google Fitness
- Tabela kodów kolorów rezystora
- kalkulator rezystora LED (w celu określenia wartości rezystora na podstawie prądu i mocy źródła)
- Narzędzie do pomiaru mocy i prądu
Informacje te są udostępniane przez połączenie interfejsów API i czujników sprzętowych. Używam ESP32 dla mikrokontrolera i wykorzystuję AWS Cloud do zbierania i agregacji danych.
Dołączyłem też kilka „jajek wielkanocnych”:
-
Hołd Rona McNaira - Dr McNair jest powodem, dla którego zostałem inżynierem; dorastał 45 minut od mojego rodzinnego miasta. Zginął w eksplozji Challengera.
- Nazwa mojego statku gwiezdnego to „USS Ronald E McNair”
- Numer rejestru pochodzi z daty urodzenia s. McNaira; Kod Prefiksu to dzień, w którym stracił życie.
- Użycie „kodu prefiksu” jest ukłonem w stronę Star Trek: Wrath of Khan (największego filmu Star Trek wszechczasów; nie @mnie).
- Numery po prawej stronie sprawy końcowej odnoszą się do mojego bractwa (1906 - Alpha Phi Alpha) oraz mojej macierzystej uczelni i kierunku studiów - (University of Oklahoma, College of Engineering)
Masz możliwość dostosowania numeracji, liter i nazwy statku, rejestru itp. do własnych „jajek wielkanocnych”.
Tło
W zeszłym roku potrzebowałem taniego sposobu pomiaru mocy i zużycia baterii w projekcie do noszenia. Kupiłem Adafruit INA219 Featherwing i użyłem kilku różnych części zamiennych do zbudowania prostego urządzenia do pomiaru mocy (więcej na ten temat możesz przeczytać tutaj).
W tym roku postanowiłem zmodernizować urządzenie… aby było bardziej „techniczne”. Pierwotnie planowałem zbudować działający trikorder ze Star Trek (wersja Mark IV TR-590 Mark IX, dla tych, którym to zależy)… ale szybko zdałem sobie sprawę, że bardziej sensowne jest stworzenie czegoś, co będzie siedzieć na moim biurku (to znaczy dlaczego zadać sobie tyle trudu, aby zrobić fajne urządzenie, tylko po to, aby je zamknąć i włożyć do szuflady, gdy nie jest używane).
Więc zwróciłem się do stworzenia wersji wyświetlaczy komputerowych, które można zobaczyć w Star Trek TNG lub Voyager (lub innych filmach). Bawiłem się różnymi projektami, a potem natknąłem się na wersję stworzoną przez Ruiz Brothers of Adafruit. Adafruit wykonuje świetną robotę dostarczając pliki źródłowe do swoich projektów drukowanych w 3D, więc mogłem wziąć ich oryginalną wersję i zremiksować ją dla mojego sprzętu, przycisków i innych urządzeń peryferyjnych.
Co warto wiedzieć przed przystąpieniem do pracy
- Podaję instrukcje krok po kroku dotyczące wykonania mojej wersji projektu; jednak nie wchodzę w szczegóły dotyczące niektórych kroków (podam link do instrukcji pomocniczych lub dokumentacji)
-
To złożony projekt. To „wielodyscyplinowa marka”, która wymaga następujących umiejętności
- IDE Arduino
- AWS - będziesz potrzebować konta i musisz zrozumieć S3, Lambda i Node JS
- Lutowanie
- drukowanie 3d
- Dostępne są opcjonalne „dodatki”, aby ulepszyć projekt w celu uzyskania informacji o Kalendarzu i Fitness. Funkcjonalność jest zawarta w bazie kodu; jednak będziesz musiał utworzyć „aplikacje” w chmurach Azure i Google, aby obsługiwać te funkcje.
- Jest to ostatecznie konfigurowalne… możesz zamienić czujnik prądu na inne piórko. Możesz użyć innej kombinacji pióra / Wi-Fi.
Kieszonkowe dzieci
Części elektroniczne
- Adafruit ESP32 Pióro Huzzah
- Mini zestaw Adafruit Featherwing Tripler
- Adafruit 12-klawiszowy pojemnościowy czujnik dotykowy Breakout
- Adafruit TFT FeatherWing - ekran dotykowy 3,5" 480x320
- Adafruit BME680 - Czujnik temperatury, wilgotności, ciśnienia i gazu
- Gniazdo 2.1 do montażu na panelu DC (2)
- Polimerowa bateria litowo-jonowa - 3,7 V 500 mAh
- Brzęczyk piezoelektryczny
- Kabel Mirco USB i ładowarka 5V (działa typowa ładowarka USB do telefonu)
- Miedziana taśma foliowa z klejem
- Opcjonalnie - Adafruit INA219 Pióroskrzydło
- Opcjonalnie - wtyki męskie 2.1 - (do użytku z czujnikiem prądu INA219)
Link do wszystkich elementów elektronicznych z wyjątkiem wtyczek 2.1:
Komponenty filamentu 3D i opcjonalne komponenty do malowania/szlifowania
- Proto Pasta Przewodzące PLA
- Dodatkowe filamenty 3D - użyłem 4 kolorów - Grey, Black, Aqua (jasnoniebieski) i White
- Dysze.25 i 0.4mm (ja użyłam 0.25 do szczegółów liternictwa).
Elementy i narzędzia do montażu sprzętu
- Śruby M2x5 i M3x5
- Piny nagłówka prostego i prostego (patrz lista życzeń Adafruit, aby uzyskać linki)
- Lutownica (i szpula lutowia, lutownica, przyssawka itp.)
- Zestaw wkrętaków z łbem Philips
- Folia termokurczliwa
- Linka 22AWG - pięć lub sześć kolorów
- Drut lity 22AWG - pięć lub sześć kolorów
- Imadło do PCB i pomocne dłonie (opcjonalne, ale ułatwiające lutowanie)
- Przecinaki do drutu po przekątnej
- Narzędzia do ściągania izolacji
- Xacto Knife (do usuwania podpór z części drukarki 3D)
- Drukarka 3D (jeśli planujesz samodzielnie drukować)
- Szpachlówka lub taśma (do przyklejenia baterii do wnętrza drukowanego etui)
- Suwmiarki cyfrowe
- Klej Krazy
- Opcjonalnie - jednorazowe rękawiczki nitrylowe
- Opcjonalnie - Mata lutownicza (opcjonalna, ale chroni powierzchnie)
Uwaga: jeśli nie masz tych narzędzi, proponuję sprawdzić witrynę Becky Stern, aby uzyskać zalecenia dotyczące dobrych opcji.
Oprogramowanie
Krok 1: Pobierz, zmodyfikuj pliki i wydrukuj pliki 3D
Możesz przesłać pliki do usługi drukowania 3D (np. 3D Hubs) lub wydrukować własne. Pliki są dostępne na PrusaPrinters.org.
Ten przypadek jest remiksem budzika Py Portal ze strony Adafruit. Mój projekt wykorzystuje podobny wyświetlacz TFT, więc udało mi się zminimalizować ilość prac projektowych potrzebnych do tego, aby obudowa działała z moimi akcesoriami.
Do drukowania użyłem następujących ustawień:
- Przód i tył-drukowane na wysokości warstwy 0,2 mm z dyszą 0,4 mm, bez podpór
- Numer boczny - drukowany na wysokości warstwy 0,10 mm z dyszą 0,25 mm, bez podpór
- Klucze - drukowane na wysokości warstwy 0,2 mm z dyszą 0,4 mm. Będziesz musiał wydrukować 7 i będziesz musiał drukować z Proto-Pasta Conductive Filament.
-
Etui - wydrukowane na wysokości warstwy 0,2 mm.
Podpory są potrzebne, ale nie wszędzie (tylko po bokach i na środku, gdzie znajduje się klawiatura)
Kilka rzeczy, które powinieneś wiedzieć:
- Prusa MK3 pozwala na zmianę kolorów na różnych wysokościach warstw. Użyłem tej funkcji do kawałka numeru bocznego.
-
Również w odniesieniu do kawałka numeru bocznego:
- Ekipa produkcyjna Star Trek TNG posypywała rekwizyty wielkanocnymi jajkami. Jeśli przyjrzysz się uważnie różnym tabliczkom i panelom, zobaczysz imiona ludzi, teksty piosenek itp. Chciałem stworzyć własną „pisankę” na numer boczny, więc używam „06” - co odnosi się do mojego bractwa (założona w 1906 r. oraz „OUCOE” – co odnosi się do mojej macierzystej uczelni (University of Oklahoma, College of Engineering).
- Stworzyłem „pusty” element numeru bocznego, który możesz modyfikować, aby stworzyć własny niestandardowy numer i tekst.
Krok 2: Przylutuj/złóż komponenty - część a (klawiatura i numer boczny)
Najpierw umieścimy numer boczny. Użyj niewielkiej ilości kleju, aby umieścić numer boczny na miejscu.
Następnie zmontujemy klawiaturę
-
Będziesz musiał wyciąć 7 kawałków skręconego drutu - każdy o długości od 10 do 12 cali. Zostaną one podłączone do styków 0-6 pojemnościowego czujnika dotykowego. Sugeruję użycie różnych kolorów (i zapisanie mapowania kolorów/pinów, ponieważ będziesz potrzebować tych informacji później). Użyłem następującej kombinacji kolorów:
- Żółty - Pin 0/Przycisk 1
- Szary - Pin 1/Przycisk 2
- Czerwony - Pin 2 /Przycisk 3
- Niebieski - Pin 3 //Przycisk 4
- Zielony - Pin 4 //Przycisk 5
- Biały - Pin 5 //Przycisk 6
- Czarny - Pin 6 //Przycisk 7
- Zdejmij 1/2 cala z końca każdego drutu.
- Odetnij 7 kawałków taśmy przewodzącej (każdy o szerokości około 1/2 cala) i przylutuj przewody do miedzianej strony taśmy.
- Usuń samoprzylepną podkładkę i przyklej je do spodu klawiszy. Może być konieczne odcięcie części miedzianej taśmy.
Uwaga: klucze mogą być przyklejone od dołu (tak, aby zrównały się z górą) lub przyklejone od góry (tak, aby „pływały” kilka mm od góry). Ja wybrałem klejenie od góry.
Gdy wykonasz wszystkie 7, użyj niewielkiej ilości kleju, aby przymocować klawisze do klawiatury. Łatwiej mi jest:
- Najpierw "węż" drut przez otwór od klucza.
- Następnie nałóż niewielką ilość kleju na grzbiet/obrzeże klucza
- Szybko włóż klucz na miejsce.
Uwaga: Klej Krazy działa tutaj najlepiej; możesz chcieć używać rękawiczek, aby ograniczyć wypadki i ryzyko podrażnienia skóry.
Krok 3: Przylutuj/złóż komponenty - część B (skrzydełka i czujniki)
Następnym krokiem jest przygotowanie i montaż elementów sprzętowych. Ostatecznie oznacza to lutowanie pinów i przewodów listwy do późniejszego wykorzystania. W tym przewodniku założono, że czujesz się komfortowo z lutowaniem; jeśli nie, sprawdź ten „Przewodnik po doskonałym lutowaniu” od Adafruit.
Najpierw przygotujemy materiały. W tym kroku będziesz potrzebować:
- TFT 3.5 Skrzydła Pióra
- ESP32 Pióro
- INA219 Pióroskrzydło
- Potrójne Pióro Skrzydło
- Pojemnościowy czujnik dotykowy MPR121
- Czujnik BME680
- Kołki nagłówka prostego i pod kątem prostym
- Drut lity i linka
- Narzędzia lutownicze i pomocne dłonie
- Ukośne nożyce do drutu i ściągacze izolacji
- Suwmiarka
Uwaga: Proponuję najpierw przeczytać ten krok i odciąć wszystkie przewody i nagłówki przed rozpoczęciem lutowania. W ten sposób nie będziesz musiał zatrzymywać się, aby mierzyć/wycinać.
Przygotuj TFT 3.5 Pióroskrzydło
TFT jest gotowy do użycia po wyjęciu z pudełka z tylko jedną regulacją. Będziesz musiał przylutować przewód między padem „Lite” a padem lutowniczym pinów. Nasz kod używa ESP32 Pin 21 do sterowania TFT lite. Ułóż TFT w „długi” sposób, z przyciskiem resetowania na dole. Pin 21 będzie lewym dolnym pinem.
Wytnij 40-milimetrowy kawałek skręconego drutu. Zdejmij końce tak, aby na każdym końcu było kilka milimetrów drutu. Używając lutownicy, ostrożnie przylutuj oba piny.
Uwaga: potrzebujesz tylko około 35 mm długości… więc możesz przyciąć drut w razie potrzeby. Uważam też, że najłatwiejszym podejściem jest dodanie lutu do padu, a następnie do drutu, a następnie przylutowania drutu do padu. Wreszcie – te pady są małe… jeśli nie czujesz się komfortowo, zawsze możesz pominąć ten krok: służy on tylko do wyłączania TFT za pomocą klawiatury.
Przygotuj pióro ESP32
Do ESP32 będziesz musiał przylutować standardowe męskie piny nagłówka. Twój ESP32 powinien być wyposażony w nagłówki, chociaż może być konieczne przycięcie ich, aby uzyskać odpowiednią długość (16 pinów na długim boku; 12 pinów na krótkim boku). Kołki hedera są wykonane tak, aby „odrywać”, dzięki czemu możesz użyć nożyc do cięcia ukośnego, aby przyciąć hedery do odpowiedniej długości. Ponownie, Adafruit ma świetne instrukcje, jak to zrobić, więc sprawdź to, jeśli potrzebujesz wskazówek.
OPCJONALNIE - Przygotuj INA219 Featherwing
Najpierw przylutuj męskie nagłówki do pióra (używając tych samych instrukcji, co w przypadku ESP32). Następnie odetnij cztery odcinki 20 mm skrętki. Zrobiłbym 2 CZARNE, a pozostałe w innym kolorze. Do wyboru koloru użyłam SZARY i NIEBIESKI.
Zdejmij końce drutu tak, aby na każdym końcu odsłonić 3-4 mm drutu miedzianego. Przylutujesz po jednym z każdego przewodu, jak poniżej:
- SZARY -> V+ (plus)
- NIEBIESKI -> V- (minus)
- CZARNY -> GND (masa)
- CZARNY -> GND (masa)
W tym momencie pozostaw pozostałe końce przewodów; ostatecznie przylutujemy je do wtyczek DC 2.1.
Podłącz brzęczyk piezoelektryczny
INA Featherwing ma mały obszar do prototypowania; użyjemy tego do przymocowania naszego piezo. Piezo da naszemu projektowi możliwość emitowania sygnałów dźwiękowych i dźwiękowych, alarmów itp.
Piezo łączy się z ESP32 PIN 13; jest to skorelowane z pinem obok pinu USB na pióropuszu (patrz zdjęcie strzałek). Drugi pin piezo łączy się z masą. Piny pieze są wystarczająco długie, aby przylutować je bezpośrednio do pióra… wystarczy wygiąć piny w kształt „człowieka z łukowatymi nogami” (patrz zdjęcie). Po umieszczeniu szpilek użyj pomocniczych dłoni (lub taśmy), aby przytrzymać piezo na miejscu i przylutuj od spodu pióra.
Uwaga - Jeśli nie używasz INA219, musisz przylutować piezo bezpośrednio do płyty z piórami.
Przygotuj potrójnego pierzastego skrzydła
Skrzydło piórowe oszczędza nam dużo lutowania; może pomieścić 3 pióra/pióra… więc użyjemy go do wykonania połączeń elektrycznych między TFT, ESP32, INA219 (a także piezo i pinem TFT Lite).
Aby prawidłowo wykonać połączenia, będziemy musieli przylutować dwie pary nagłówków do łączenia w stos i jedną parę standardowych nagłówków męskich.
- Zwykłe męskie nagłówki wejdą w „górne” miejsce, ale zostaną przylutowane do dolnej części Triplera.
- Dwie głowice do układania w stosy zostaną przylutowane w punktach 2 i 3 na górnej stronie Triplera.
Jest to trochę mylące, więc spójrz na obrazy, aby zrozumieć, gdzie znajduje się każdy nagłówek. Ponadto połączenie imadła do PCB i pomocnych dłoni może znacznie pomóc w lutowaniu komponentów.
Przygotuj czujnik BME 680 i pojemnościowy czujnik dotykowy MPR121
Ostatnie dwa czujniki są najtrudniejsze do zamocowania. Musimy przymocować szpilki nagłówka do tablic zaciskowych przed sfinalizowaniem montażu.
Czujnik BME jest zamocowany pod kątem 90, dzięki czemu mogę wyrównać czujnik do otworu w obudowie (aby czujnik mógł rejestrować temperaturę, gaz, wilgotność). Będziesz musiał przylutować kołki pod kątem prostym do otworów. Zobacz obrazy, aby upewnić się, że są one prawidłowo wyrównane.
Czujnik pojemnościowy dotykowy jest prosty - wystarczy przylutować proste męskie styki złączy, jak opisano tutaj. Uwaga: NIE NALEŻY lutować pinów do pojemnościowych pinów dotykowych (0 - 11).
Podłącz czujniki BME 680 i MPR121 do płytki Tripler
Oba czujniki komunikują się przez I2C… co oznacza, że musimy wykonać tylko 4 połączenia między tablicami rozdzielczymi a skrzydłem piórowym. Dla uproszczenia lutuję wszystkie połączenia między płytami.
BME 680
W przypadku tego czujnika używam Helping Hands i imadła do PCB, aby utrzymać oba komponenty na miejscu (patrz zdjęcie powyżej). Czujnik BME680 należy umieścić na końcu pióra. Zobacz powyższe obrazy, aby potwierdzić umieszczenie.
Proces lutowania połączeń jest żmudny, więc idź powoli. Do połączeń używam drutu litego:
- CZARNY - GND
- CZERWONY - VIN
- ŻÓŁTY - SCL (pin SCK na czujniku do
- POMARAŃCZOWY - SDA (pin SDA na czujniku)
Uwaga: Piny SCL i SDA są potrzebne dla obu czujników, więc może być łatwiej użyć pinu SCL lub SDA w innej części Featherwing.
MPR121
Pomocne dłonie pomagają również przy lutowaniu tego czujnika na miejscu (taśma też działa). Kod używał I2C do komunikacji z ESP32, więc będziesz łączył piny SCA i SDA.
Krok 4: Przylutuj/złóż komponenty - część C (klawiatura do czujnika pojemnościowego i pióro w obudowie)
W tym kroku przylutujesz przewody od klawiatury do czujnika pojemnościowego dotyku. Użyj tego samego mapowania kolorów co wcześniej. Jeśli postępowałeś zgodnie z moim schematem kolorów, kolorowe przewody przylutujesz w następujący sposób:
- Żółty - Pin 0/Przycisk 1
- Szary - Pin 1/Przycisk 2
- Czerwony - Pin 2 /Przycisk 3
- Niebieski - Pin 3 /Przycisk 4
- Zielony - Pin 4/Przycisk 5
- Biały - Pin 5/Przycisk 6
- Czarny - Pin 6/Przycisk 7
Po zakończeniu lutowania użyj skręcanej opaski, aby utrzymać przewody na miejscu.
Następnie przykręć ekran TFT do elementu „Front”. Użyjesz śrub M3 (w sumie cztery). Po umieszczeniu TFT przykręć element „Front” do obudowy. Ponownie użyjesz śrub M3 (dwóch).
Następnie podłącz Featherwing Tripler z podłączonymi wszystkimi komponentami do TFT.
Uwaga - Jeśli planujesz używać baterii, pamiętaj, aby podłączyć ją do portu ESP32-JST przed włożeniem TFT. Użyj taśmy, aby przymocować baterię do wewnętrznej części obudowy.
Krok 5: OPCJONALNIE - Lutowane/zmontuj elementy - Część D (Pióro INA219)
Jeśli używasz czujnika INA219, to tutaj podłączasz przewody do wtyczek DC.
- Włóż wtyczki prądu stałego do tylnej pokrywy i wkręć je na miejsce.
-
Użyj lutownicy do podłączenia przewodów INA219.
- Czarne przewody powinny iść do MASY dla każdej wtyczki DC.
- Szary przewód powinien iść do wtyczki INPUT DC
- Niebieski przewód powinien iść do wtyczki OUTPUT.
Krok 6: Przykręć tylną pokrywę i podłącz USB
Ostatnim etapem montażu sprzętu jest przykręcenie tylnej pokrywy - za pomocą śrub M2 (4). Stamtąd podłącz kabel USB, podłącz go do komputera i przejdź do kroków oprogramowania!
Krok 7: Przygotuj środowisko AWS
Jak wspomniałem we wstępie, założenie rozwiązania jest następujące:
- Terminal, zasilany przez ESP32, wykorzystuje połączenie MQTT (przez Wifi) do komunikacji z chmurą AWS.
- Chmura AWS wykonuje większość przetwarzania i służy jako przekaźnik między Monitorem a żądanymi usługami.
W tym kroku musimy zrobić kilka rzeczy:
Najpierw musisz skonfigurować swoje środowisko AWS, jeśli jeszcze tego nie zrobiłeś. Ta instrukcja zakłada, że masz już skonfigurowane konto AWS, więc instrukcje dotyczące konfigurowania konta w chmurze nie są uwzględnione. Biorąc to pod uwagę, kroki są proste i można je znaleźć tutaj.
Gdy miniesz ten krok, musisz utworzyć kilka usług, więc zaloguj się do konsoli AWS.
Stwórz rzecz i pobierz klucze
AWS IoT Core ułatwia komunikację między chmurą AWS a wyświetlaczem. Będziesz musiał stworzyć „rzecz” i pobrać certyfikaty do obsługi komunikacji.
[Uwaga: większość tych instrukcji została zaczerpnięta z przewodnika napisanego przez Moheeba Zarę, ewangelistę AWS]
- Otwórz konsolę AWS i wybierz AWS IoT Core.
- W konsoli AWS IoT wybierz Zarejestruj nową rzecz, Utwórz jedną rzecz.
- Nazwij nową rzecz „starTrekESP32”. W pozostałych polach pozostaw wartości domyślne. Wybierz Dalej.
- Wybierz Utwórz certyfikat. Tylko certyfikat rzeczy, klucz prywatny i pobranie Amazon Root CA 1 są potrzebne, aby ESP32 mógł się połączyć. Pobierz je i zapisz w bezpiecznym miejscu, ponieważ są używane podczas programowania urządzenia ESP32.
- Wybierz Aktywuj, Dołącz politykę.
- Pomiń dodawanie zasad i wybierz opcję Zarejestruj rzecz.
- W menu bocznym konsoli AWS IoT wybierz Bezpieczne, Zasady, Utwórz zasadę.
- Nazwij zasadę AllowEverything. Wybierz kartę Zaawansowane.
- Wklej następujący szablon zasad.
- { { "Wersja": "2012-10-17", "Oświadczenie": [{ "Efekt": "Zezwól", "Akcja": "iot:*", "Zasób": "*" }] }
- Wybierz Utwórz. (Uwaga: jest to zalecane tylko na początek. Gdy wszystko działa poprawnie, wróć i zmień to na coś bardziej restrykcyjnego.)
- W konsoli AWS IoT wybierz Bezpieczne, Certyfikacja.
- Wybierz ten utworzony dla Twojego urządzenia i wybierz Akcje, Dołącz zasady.
- Wybierz Zezwalaj na wszystko, Dołącz.
- Zanim wyjdziesz, kliknij „Ustawienia” (w lewym menu). Zostanie wyświetlony Twój „Niestandardowy punkt końcowy”; zapisz to do pliku tekstowego… będziesz go potrzebować podczas konfiguracji ESP32.
Utwórz pusty plik Lambda
Lambda jest formą obliczeń bezserwerowych, więc nie musimy się tutaj martwić o żaden sprzęt. Ostatecznie w tym miejscu umieścimy nasz zaktualizowany kod (co zrobimy w kilku krokach). Na razie chcemy tylko utworzyć symbol zastępczy, więc…
- Zaloguj się ponownie do konsoli AWS (jeśli się wylogowałeś) i kliknij Lambda.
- Kliknij przycisk „Utwórz funkcję”.
- Na następnej stronie wprowadź podstawową nazwę, np. starTrekDisplay
- Wybierz Node.js 12. X
-
W ramach uprawnień:
- Jeśli znasz się na Lambdzie i znasz ją, możesz wybrać dowolną opcję, która ma sens. Będziesz potrzebować uprawnień do CloudWatch, IotCore, S3 (odczyt i zapis).
- Jeśli nie masz pewności co do uprawnień, wybierz „Utwórz nową rolę z podstawowymi uprawnieniami Lambda”. Zapisz nazwę roli. Później zmodyfikujemy uprawnienia.
- Kliknij opcję Utwórz funkcję.
- Po minucie pojawi się nowy ekran z fragmentem kodu „hello world”. Przewiń w dół do Ustawień podstawowych i kliknij „Edytuj”
- Zmień limit czasu z 3 sekund na 2 minuty i 0 sekund. Uwaga: Twój kod nigdy nie powinien działać dłużej niż 5-10 sekund… jednak potrzebujemy dłuższego czasu na wstępne uwierzytelnienie w firmie Microsoft (dla funkcji kalendarza). Po uwierzytelnieniu możesz zmienić to na 20 sekund.
- Hit Zapisz.
Utwórz regułę Iot
- Pozostań w konsoli Lambda i przewiń w górę. Wybierz „Dodaj wyzwalacz”.
- Wybierz AWS IoT. Następnie wybierz „Reguła niestandardowa”.
-
Wybierz „Utwórz nową regułę”.
- Nazwa reguły: Połączenie ESP
- Instrukcja zapytania reguły: „SELECT * FROM 'starTrekDisplay/pub'
- Kliknij „Dodaj”
Utwórz zasobnik i folder S3
- Przejdź do konsoli AWS i wybierz S3.
- Do przechowywania plików uwierzytelniania będziesz potrzebować zasobnika i folderu. Ten folder powinien być prywatny. Proponuję użyć dowolnego wiadra, który już posiadasz i nazwać folder tworzenia o nazwie „starTrekDisplay”. Uwaga - jeśli nie masz wiadra, utwórz go, korzystając z instrukcji tutaj.
Uprawnienia do aktualizacji - jeśli pozwoliłeś Lambdzie utworzyć dla Ciebie rolę, musisz wykonać ten krok
- Zaloguj się do konsoli AWS i wybierz Uprawnienia
- Kliknij ROLES, a następnie wybierz nazwę roli, którą utworzyłeś wcześniej.
-
Kliknij Dołącz zasady, a następnie wybierz następujące zasady:
- AWSIOTFullAccess
- AmazonSNSPełny dostęp
- CloudWatchPełny dostęp
- AmazonS3Pełny dostęp
Krok 8: Pobierz klucze oprogramowania i skonfiguruj usługi innych firm
W projekcie korzystam z następujących usług firm trzecich:
- Worldtime API - na czas
- Interfejsy API National Weather Service - dla pogody
- Microsoft Graph API umożliwiający dostęp do mojego kalendarza
- Google Fitness API umożliwiający dostęp do informacji o kondycji
Będziesz musiał założyć konta i pobrać klucze, aby korzystać z tych samych usług
Worldtime API - na czas
Ten interfejs API nie wymaga klucza, więc nie trzeba podejmować żadnych działań, aby to zadziałało.
Interfejsy API National Weather Service - dla pogody
Interfejs API National Weather Service jest bezpłatny i nie jest wymagany klucz API. Jednak żądają podania informacji kontaktowych (w formie wiadomości e-mail) w każdym żądaniu (w ramach pliku nagłówkowego). W następnym kroku dodasz informacje kontaktowe do kodu.
OPCJONALNIE – Microsoft Graph API i Google Fitness API
To najbardziej złożona część konfiguracji kodu. Nasze urządzenie nie ma pełnoprawnej klawiatury… dlatego używamy czegoś, co nazywa się OAUTH dla urządzeń z limitem, aby uzyskać dostęp do naszego kalendarza. Niestety, musisz utworzyć „aplikację” platformy Azure i aplikację Google, aby kod mógł używać protokołu OAUTH na ograniczonych urządzeniach.
Instrukcje tworzenia aplikacji są tutaj dla Microsoftu, tutaj dla Google. Oto kilka rzeczy, które powinieneś wiedzieć:
- Będziesz musiał utworzyć konto w chmurze Azure i Google. To nic nie kosztuje i nie zostaniesz obciążony żadnymi opłatami
-
Microsoft:
- Zostaniesz poproszony o określenie, jacy użytkownicy mogą korzystać z aplikacji. Proponuję wybrać opcję „Konta w dowolnym katalogu organizacyjnym i osobiste konta Microsoft”. Umożliwi to korzystanie z osobistych kont Microsoft i kont firmowych (w większości przypadków).
- Będziesz chciał wybrać aplikacje „Mobilne i komputerowe”, jednak nie musisz wypełniać wszystkich informacji (ponieważ jest to aplikacja osobista). Oznacza to, że nie możesz udostępnić swojej aplikacji światu…. ale w tym przypadku jest to w porządku
- Po skonfigurowaniu aplikacji musisz wybrać potrzebne uprawnienia. Poprosiłem o uprawnienia związane z profilami i kalendarzami (zobacz zdjęcie w galerii, aby zobaczyć pełną listę uprawnień). Musisz wybrać ten sam zestaw. Jeśli dodasz więcej uprawnień, będziesz musiał odpowiednio zmienić zakres w następnym kroku.
Krok 9: Zmodyfikuj i prześlij kod AWS
Ta instrukcja zakłada, że znasz się na rozwoju Node.js i Lambda. Pobierz połączony plik i wprowadź modyfikacje w celu aktualizacji:
- Informacje o aplikacji i kliencie firmy Microsoft
- Klucz Google
- Adres e-mail do śledzenia przez National Weather Service
- Nazwa wiadra S3
- Nazwa folderu S3
- Punkt końcowy AWS
Musisz także pobrać następujące biblioteki węzłów:
- aws-sdk
- strefa czasowa chwili
- akcenty
Po wprowadzeniu tych zmian prześlij kod do utworzonej wcześniej zastępczej lambdy.
Krok 10: Przygotuj Arduino IDE i pobierz biblioteki
W tym przewodniku założono również, że znasz Arduino. Musisz upewnić się, że Twoje IDE jest skonfigurowane do pracy z Adafruit ESP32. Postępuj zgodnie z instrukcjami tutaj, jeśli potrzebujesz pomocy.
Po zakończeniu pobierz następujące biblioteki:
- Adafruit_GFX (od zarządcy biblioteki)
- Adafruit_HX8357 (od kierownika biblioteki)
- TFT_eSPI (od kierownika biblioteki)
- TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
- PubSubClient (od zarządcy biblioteki)
- ArduinoJson (od kierownika biblioteki)
- Adafruit_STMPE610 (od kierownika biblioteki)
- Adafruit_MPR121 (od kierownika biblioteki)
- Adafruit_INA219 (od kierownika biblioteki)
- Adafruit_Sensor (od kierownika biblioteki)
- Adafruit_BME680 (od kierownika biblioteki)
- Tone32 (https://github.com/lbernstone/Tone)
Następnie będziemy musieli zmodyfikować kilka bibliotek:
- Otwórz folder PubSubClient (w folderze Arduino/Library) i otwórz „PubSubClient.h”. Znajdź wartość MQTT_MAX_PACKET_SIZE i zmień ją na 2000.
- Następnie otwórz folder TFT_eSPI i otwórz plik „User_Setup_Select.h”. Skomentuj wszystkie wiersze „includes users_setup…” i dodaj ten wiersz:
#włączać
Następnie pobierz połączony plik Custom_Tricorder.zip i wyodrębnij plik „.h” do lokalizacji „TFT_eSPI / User_Setups” w folderze bibliotek Arduino. i
Teraz możemy przejść do aktualizacji kodu Arduino
Krok 11: Zaktualizuj i zainstaluj kod Arduino i zaangażuj się
Kod Arduino
Pobierz i rozpakuj połączony plik dla kodu Arduino. Przejdź do zakładki secrets.h. Musisz zaktualizować następujące informacje:
- WIFI_SSID = aktualizacja za pomocą swojego SSID Wi-Fi
- WIFI_PASSWORD = zaktualizuj hasło do Wi-Fi
- TIMEZONE = zaktualizuj strefę czasową z tej listy
- LAT (możesz skorzystać z usługi takiej jak „https://www.latlong.net”, aby znaleźć swoją szerokość i długość geograficzną
- LNG
- AWS_IOT_ENDPOINT = powinieneś to zapisać wcześniej. Powinien wyglądać jak „dx68asda7sd.iot.us-east1-amazonaws.com”
- AWS_CERT_CA
- AWS_CERT_CRT
- AWS_CERT_PRIVATE
Pobrałeś również certyfikaty z wcześniejszego kroku. Otwórz następnie w edytorze notatek (np. notatnik) i wklej tekst pomiędzy ' R"EOF(' i ')EOF";'. Pamiętaj, aby dołączyć „-----BEGIN CERTIFICATE-----” lub „-----BEGIN RSA PRIVATE KEY-----”.
Pliki obrazów
ESP32 jest dostarczany z małym systemem plików. Używamy tego systemu plików do zapisywania obrazów dla naszego programu. Musisz zainstalować narzędzie umożliwiające przesyłanie plików.
- Najpierw odwiedź szczegółowy samouczek dotyczący samouczków Random Nerd.
- Gdy już to zrobisz, możesz przesłać pliki w folderze danych (również zawartym w pliku zip).
Angażować się
Prześlij ostateczny kod Arduino i gotowe!
Uwaga - nazwa Star Trek i obrazy Star Trek są własnością CBS/Paramount. Mają dość luźną politykę, jeśli chodzi o cosplay i fan fiction - przeczytaj tutaj, jeśli masz pytania.
I nagroda w Konkursie Fandomu
Zalecana:
Projekt inżynierski: 3 kroki
Projekt inżynieryjny: Jest to obwód, który działa na podstawie 2 źródeł światła, jednego jasnego i jednego przyciemnionego, które włączają się w zależności od obecności zewnętrznych źródeł światła, takich jak słońce. Celem tego obwodu jest oszczędzanie energii elektrycznej w ciągu dnia poprzez włączanie przyciemnionego światła
Działający Star Trek Phaser: 7 kroków
Pracujący Star Trek Phaser: Uczestniczę w konkursie Made With Math. Proszę zostawić głos na górę.Ostrzeżenie! Lasery są niebezpieczne i na stałe oślepiają oczy. Nigdy nie kieruj lasera w czyjeś oczy.Ten instruktaż pokaże Ci, jak zrobić działający Phaser z
Star Track - Arduino Powered Star Pointer and Tracker: 11 kroków (ze zdjęciami)
Star Track - Arduino Powered Star Pointer and Tracker: Star Track to oparty na Arduino system śledzenia gwiazd inspirowany mocowaniem GoTo. Może wskazywać i śledzić dowolny obiekt na niebie (współrzędne niebieskie są podawane jako dane wejściowe) za pomocą 2 Arduino, żyroskopu, modułu RTC, dwóch tanich silników krokowych i drukowanej struktury 3D
Stwórz Star Trek Communicator Edition RAZR: 3 kroki (ze zdjęciami)
Stwórz Star Trek Communicator Edition RAZR: Ponieważ Star Trek Communicator był inspiracją dla dzisiejszych telefonów z klapką, dlaczego nie sprawić, by Twój telefon wyglądał bardziej jak oryginał. Zrobiłem i oto jak
10 minut. Star Trek Phaser Flashing LED Mod: 7 kroków
10 minut. Star Trek Phaser Flashing LED Mod: Myślałem o moim przyjacielu Andym, kiedy zmodyfikowałem Playmates Classic Star Trek Phaser. To było zaskakująco szybkie i łatwe do zrobienia. Chciałem czegoś, co pokazywałoby się trochę lepiej i nie było tak niebezpieczne jak modyfikator lasera Blu-Ray (nie żeby B