Innehållsförteckning:

Gör det så! Star Trek TNG Mini Engineering Computer: 11 steg (med bilder)
Gör det så! Star Trek TNG Mini Engineering Computer: 11 steg (med bilder)

Video: Gör det så! Star Trek TNG Mini Engineering Computer: 11 steg (med bilder)

Video: Gör det så! Star Trek TNG Mini Engineering Computer: 11 steg (med bilder)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, November
Anonim
Image
Image
Gör det så! Star Trek TNG Mini Engineering Computer
Gör det så! Star Trek TNG Mini Engineering Computer
Gör det så! Star Trek TNG Mini Engineering Computer
Gör det så! Star Trek TNG Mini Engineering Computer

Översikt

Jag växte upp och tittade på Star Trek: The Next Generation. Jag har alltid velat bygga en enhet med Star Trek -tema, så jag fick äntligen göra om ett av mina gamla projekt för att göra en Star Trek Display Terminal.

Terminalen tillhandahåller följande information:

  • Väder - med hjälp av National Weather Service
  • Inomhus temperatur, luftfuktighet och flyktig organisk förening (VOC) styrka
  • Nyhetsartiklar - från News.org
  • Schema (med larmfunktion) - från Microsoft Outlook
  • Fitnessinformation (steg, rörliga minuter, hjärtpoäng, vikt, förbrända kalorier) - från Google Fitness
  • ett motståndsfärgkodschema
  • en LED -motståndskalkylator (för att bestämma motståndsvärdet baserat på ström och källkraft)
  • Effekt- och strömmätningsverktyg

Denna information görs tillgänglig genom en kombination av API: er och hårdvarusensorer. Jag utnyttjar en ESP32 för mikrokontrollern och utnyttjar AWS Cloud för all datainsamling och aggregering.

Jag inkluderade också några "påskägg":

  • Ron McNair hyllning - Dr McNair är anledningen till att jag blev ingenjör; han växte upp 45 minuter från min hemstad. Han dog i Challenger -explosionen.

    • Namnet på mitt stjärnfartyg är "USS Ronald E McNair"
    • Registreringsnumret är från Sr McNairs födelsedatum; prefixkoden är dagen då han förlorade sitt liv.
  • Användningen av en "prefixkod" är en nick till Star Trek: Wrath of Khan (den största Star Trek -filmen genom tiderna; don't @ me).
  • Siffrorna till höger om terminalfallet hänvisar till mitt brödraskap (1906 - Alpha Phi Alpha) och min alma mater och studieretning - (University of Oklahoma, College of Engineering)

Du har möjlighet att anpassa numreringen, bokstäverna och fartygets namn, register osv för dina egna "påskägg".

Bakgrund

Förra året behövde jag ett billigt sätt att mäta ström och batteriladdning för ett bärbart projekt. Jag köpte en Adafruit INA219 Featherwing och använde några olika reservdelar för att bygga en enkel kraftmätare (du kan läsa mer om det här).

I år bestämde jag mig för att uppgradera enheten … för att göra den mer "techy". Jag planerade ursprungligen att bygga en fungerande Star Trek-tricorder (versionen Mark IV TR-590 Mark IX, för dem som bryr sig) … men jag insåg snabbt att det var mer meningsfullt att skapa något som skulle sitta på mitt skrivbord (jag menar varför gå till allt detta problem för att göra en cool enhet, bara för att stänga den och lägga den i en låda när den inte används).

Så jag vände mig till att göra en version av datorskärmarna som du ser på Star Trek TNG eller Voyager (eller de olika filmerna). Jag lekte med olika mönster och kom sedan över en version som skapades av Ruiz Brothers of Adafruit. Adafruit gör ett bra jobb med att tillhandahålla källfiler för deras 3D -tryckta projekt, så jag kunde ta deras originalversion och remixa den för min hårdvara, knappar och andra kringutrustning.

Saker att veta innan du fortsätter

  1. Jag ger steg för steg instruktioner för att göra min version av projektet; Jag går dock inte in på detaljer om vissa steg (jag länkar till stödinstruktioner eller dokumentation)
  2. Detta är ett komplext projekt. Det är ett "multidisciplinerat märke", som kräver följande färdigheter

    • Arduino IDE
    • AWS - Du behöver ett konto och måste förstå S3, Lambda och Node JS
    • Lödning
    • 3d-utskrivning
  3. Det finns valfria "add ins" för att förbättra projektet för att få information om kalender och fitness. Funktionaliteten ingår i kodbasen; men du måste skapa "appar" i Azure- och Google -molnen för att stödja funktionerna.
  4. Detta är i slutändan anpassningsbart … du kan byta ut den aktuella sensorn med en annan fjäderving. Du kan använda en annan fjäder/wifi -kombination.

Tillbehör

Elektroniska komponenter

  • Adafruit ESP32 Huzzah fjäder
  • Adafruit Featherwing Tripler Mini Kit
  • Adafruit 12-tangents kapacitiv beröringssensor
  • Adafruit TFT FeatherWing - 3,5 "480x320 pekskärm
  • Adafruit BME680 - Temperatur, luftfuktighet, tryck och gassensor
  • DC Panel Mount 2.1 Barrel Jack (2)
  • Litiumjonpolymerbatteri - 3,7 V 500mAh
  • Piezo summer
  • Mirco USB -kabel och 5V -laddare (en typisk USB -telefonladdare fungerar)
  • Kopparfolie tejp med lim
  • Valfritt - Adafruit INA219 Featherwing
  • Tillval - 2.1 hankontakter - (för användning med INA219 strömgivare)

Länk till alla elektroniska komponenter utom 2.1 -kontakter:

3D -filamentkomponenter och valfria färg-/slipkomponenter

  • Proto Pasta Conductive PLA
  • Ytterligare 3D -filament - jag använde 4 färger - Grå, svart, Aqua (ljusblå) och vit
  • .25 och 0.4 mm munstycken (jag använde 0.25 för bokstäverna).

Komponenter och verktyg för hårdvara

  • M2x5 och M3x5 skruvar
  • Raka och rätvinkliga huvudstiften (se Adafruit önskelista för länkar)
  • Lödkolv (och spole av löd, spetsburk, lödsugare, etc.)
  • Philips huvudskruvmejselsats
  • Inplastning
  • Stranded Wire 22AWG - fem eller sex färger
  • Solid Wire 22AWG - fem eller sex färger
  • PCB Vise och Helping hands (tillval, men gör lödning enklare)
  • Diagonal trådskärare
  • Wire Strippers
  • Xacto Knife (för att ta bort stöd från 3D -skrivardelar)
  • 3D -skrivare (om du planerar att skriva ut själv)
  • Spackel eller tejp (för att fästa batteriet på insidan av det tryckta fodralet)
  • Digitala bromsok
  • Krazy Lim
  • Valfritt - Engångshandskar av nitril
  • Valfritt - Lödmatta (tillval, men skyddar ytor)

Obs! Om du inte har dessa verktyg föreslår jag att du besöker Becky Sterns webbplats för rekommendationer om bra alternativ.

programvara

  • Arduino IDE
  • Node JS -editor (som Microsoft Code)
  • AWS -konto
  • Valfritt - Google Cloud -konto (för fitnessinformation)
  • Valfritt - Microsoft Azure Cloud -konto (för kalenderinformation)
  • Steg 1: Ladda ner, ändra filer och skriv ut 3D -filer

    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer
    Ladda ner, ändra filer och skriv ut 3D -filer

    Du kan skicka filerna till en 3D -utskriftstjänst (som 3D -hubbar) eller så kan du skriva ut dina egna. Filer finns tillgängliga på PrusaPrinters.org.

    Detta fall är en remix av Py Portal Alarm Clock som finns på Adafruit webbplats. Mitt projekt använder en liknande TFT så jag kunde minimera mängden designarbete som behövs för att få fallet att fungera med mina tillbehör.

    Jag använde följande inställningar för utskrift:

    • Fram och bak- tryckt på 0,2 mm lagerhöjd med ett 0,4 mm munstycke, inga stöd
    • Sidonummer - tryckt på 0,10 mm lagerhöjd med ett 0,25 mm munstycke, inga stöd
    • Nycklar - tryckta på 0,2 mm lagerhöjd med ett 0,4 mm munstycke. Du måste skriva ut 7 och du måste skriva ut med Proto-Pasta Conductive Filament.
    • Fodral - tryckt med 0,2 mm lagerhöjd.

      Stöd behövs, men behövs inte överallt (endast på sidorna och mitten där knappsatsen sitter

    Några saker du bör veta:

    1. Med Prusa MK3 kan du ändra färger i olika lagerhöjder. Jag använde den här funktionen för sidnumret.
    2. När det gäller sidnumret:

      • Star Trek TNG -produktionsbesättningen skulle strö påskägg i rekvisita. Om du tittar noga på olika plattor och paneler ser du människors namn, sångtexter etc. Jag ville skapa mitt eget "påskägg" för sidnumret, så jag använder "06" - som refererar till mitt brödraskap (bildades 1906) och "OUCOE" - som refererar till min alma mater (University of Oklahoma, College of Engineering).
      • Jag skapade en "tom" sida_nummer -bit som du kan ändra för att skapa ditt eget anpassade nummer och text.

    Steg 2: Lödning/montering av komponenter - del a (knappsats och sidnummer)

    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)
    Löd/montera komponenter - del a (knappsats och sidnummer)

    Först fäster vi sidnumret. Använd en liten klick lim för att sätta sidnumret på plats.

    Därefter monterar vi knappsatsen

    1. Du måste klippa 7 bitar av strängad tråd - var och en mellan 10-12 tum lång. Dessa kommer att anslutas till stiften 0-6 på den kapacitiva beröringssensorn. Jag föreslår att du använder olika färger (och skriver färgerna/pin -mappningen, eftersom du behöver denna information senare). Jag använde följande färgkombination:

      • Gul - Pin 0/knapp 1
      • Grå - Pin 1/Knapp 2
      • Röd - Pin 2 /knapp 3
      • Blå - Pin 3 // Knapp 4
      • Grön - Pin 4 // Knapp 5
      • Vit - Pin 5 // Knapp 6
      • Svart - Pin 6 // Knapp 7
    2. Ta av 1/2 in från slutet av varje tråd.
    3. Skär 7 bitar av ledande tejp (vardera ca 1/2 tum i bredd) och löd trådarna till kopparsidan av tejpen.
    4. Ta bort den självhäftande baksidan och fäst dem på undersidan av tangenterna. Du kan behöva klippa av några av koppartejpen.

    Obs: Nycklarna kan antingen limas nedifrån (så att de är i linje med toppen) eller limmas uppifrån (så att de "flyter" några mm från toppen). Jag valde att limma min uppifrån.

    När du har slutfört alla 7 använder du en liten klick lim och fäster nycklarna på knappsatsen. Jag tycker det är lättare att:

    • "Snake" först tråden genom nyckelhålet.
    • Lägg sedan en liten klick lim på åsen/kanten på nyckeln
    • Sätt snabbt nyckeln på plats.

    Obs: Krazy Lim fungerar bäst här; du kanske vill använda handskar för att begränsa olyckor och risk för hudirritation.

    Steg 3: Lödning/montering av komponenter - del B (fjädervingar och sensorer)

    Löd/montera komponenter - del B (fjädervingar och sensorer)
    Löd/montera komponenter - del B (fjädervingar och sensorer)
    Löd/montera komponenter - del B (fjädervingar och sensorer)
    Löd/montera komponenter - del B (fjädervingar och sensorer)
    Löd/montera komponenter - del B (fjädervingar och sensorer)
    Löd/montera komponenter - del B (fjädervingar och sensorer)

    Nästa steg är att förbereda och montera hårdvarukomponenterna. I slutändan innebär detta att lödningspinnar och trådar för senare användning. Denna guide förutsätter att du är bekväm med lödning; om inte, kolla in denna "Guide till utmärkt lödning" från Adafruit.

    Först förbereder vi material. För detta steg behöver du:

    • TFT 3.5 Fjädervingar
    • ESP32 Fjäder
    • INA219 Fjädervinga
    • Tripler Featherwing
    • MPR121 kapacitiv beröringssensor
    • BME680 -sensor
    • Rak och höger vinkel Header pins
    • Solid och strandad tråd
    • Lödningsverktyg och hjälpande händer
    • Diagonal Wire cutters och wire strippers
    • Skjutmått

    Obs! Jag föreslår att du först läser igenom det här steget och klipper alla dina trådar och sidhuvuden innan du börjar lödning. På det sättet behöver du inte sluta för att mäta/klippa.

    Förbered TFT 3.5 Featherwing

    TFT är redo att användas ur lådan med den enda justeringen. Du måste löda en tråd mellan "Lite" -dynan och en nållödningsplatta. Vår kod använder ESP32 Pin 21 för att styra TFT lite. Ordna TFT på den "långa vägen" med återställningsknappen längst ner. Pin 21 är den nedre vänstra stiftet.

    Klipp en 40 mm strängad tråd. Ta bort ändarna så att några millimeter tråd visas i varje ände. Använd ditt lödkolv och löd försiktigt till båda stiften.

    Obs: du behöver bara cirka 35 mm längd … så att du kan trimma din tråd efter behov. Jag tycker också att det är det enklaste sättet att lägga till lödning till dynan, sedan till tråden, sedan lödning av tråden till dynan. Slutligen - dessa kuddar är små … om du känner dig obekväm kan du alltid hoppa över det här steget: det är bara för att stänga av TFT med knappsatsen.

    Förbered ESP32 -fjädern

    Du måste löda standard hanstiften till ESP32. Din ESP32 bör levereras med rubriker, men du kan behöva trimma dem för att komma till rätt längd (16 stift på långsidan; 12 stift på kortsidan). Sidhuvudspinnar är gjorda för att "snäppa bort", så att du kan använda dina diagonala skär för att klippa rubrikerna till rätt längd. Återigen har Adafruit bra instruktioner om hur du gör det, så kolla in det om du behöver vägledning.

    TILLVAL - Förbered INA219 Featherwing

    Först, löd hanrubriker till fjädervingen (med samma instruktioner som för ESP32). Skär sedan fyra 20 mm strängade trådar. Jag skulle göra 2 SVARTA och de andra en annan färg. Jag använde GRÅ och BLÅ för mina färgval.

    Ta bort trådändarna så att 3-4 mm koppartråd exponeras i varje ände. Du kommer att löda en var och en av varje tråd enligt nedan:

    • GRÅ -> V+ (plus)
    • BLÅ -> V- (minus)
    • SVART -> GND (mark)
    • SVART -> GND (mark)

    Lämna de andra ändarna av trådarna vid denna tidpunkt; vi löd dem slutligen till DC 2.1 -kontakterna.

    Fäst Piezo -summern

    INA Featherwing kommer med ett litet prototypområde; vi använder det för att fästa vår piezo. Piezoen ger vårt projekt möjlighet att pipa och aviseringar, larm etc.

    Piezoen ansluts till ESP32 PIN 13; detta korrelerar med stiftet bredvid USB -stiftet på fjädervingan (se bild för pilar). Den andra piezostiftet ansluts till marken. Pizzastiften är tillräckligt långa för att lödda dem direkt till fjädervingen … du behöver bara böja stiften till en "bågbenad man" -form (se bild). När du har stiften på plats, använd en hjälpande hand (eller tejp) för att hålla piezoen på plats och löd från undersidan av fjädervingan.

    Obs - Om du inte använder INA219 måste du löda piezoen direkt till fjädervingskortet.

    Förbered Tripler Featherwing

    Fjädringen sparar oss mycket lödning; den rymmer 3 fjädrar/fjädervingar … så vi använder den för att göra elektriska anslutningar mellan TFT, ESP32, INA219 (samt piezo och TFT Lite -stift).

    För att göra anslutningarna korrekt måste vi löda två par staplingshuvuden och ett par vanliga manliga rubriker.

    • De vanliga manliga rubrikerna fortsätter på den "översta" platsen, men kommer att lödas till undersidan av Tripler.
    • De två staplingshuvudena kommer att lödas på plats 2 och 3, på ovansidan av triplern.

    Det här är lite förvirrande, så se till att titta på bilderna för att förstå var varje rubrik är placerad. Dessutom kan en kombination av PCB Vise och Helping Hands i hög grad hjälpa till vid lödning av komponenterna.

    Förbered BME 680 -sensorn och MPR121 kapacitiv beröringssensor

    De två sista sensorerna är svårast att fästa. Vi måste fästa huvudstiften på brytbrädorna innan vi slutför monteringen.

    BME -sensorn är fäst i 90 vinkel, så att jag kan rikta in sensorn mot ett hål i fodralet (så att sensorn kan fånga temperatur, gas, fuktighet). Du måste löda rätvinkliga stift till hålen. Se bilderna för att se till att du justerar dem korrekt.

    Capacitive Touch -sensorn är okomplicerad - löd bara raka hankontakter, som beskrivs här. Obs: du SKA INTE lödstift till de kapacitiva pekpinnarna (0 - 11).

    Fäst BME 680- och MPR121 -sensorer på triplerkortet

    Båda sensorerna kommunicerar via I2C … vilket innebär att vi bara behöver göra 4 anslutningar mellan breakout -korten och Featherwing. För enkelhetens skull löd jag alla anslutningar mellan brädorna.

    BME 680

    För denna sensor använder jag Helping Hands och en PCB Vise för att hålla båda komponenterna på plats (se bilden ovan). BME680 -sensorn ska placeras i slutet av fjädervingan. Se bilderna ovan för att bekräfta placeringen.

    Lödningsprocessen är tråkig, så gå långsamt. Jag använder solid core wire för anslutningarna:

      • SVART - GND
      • RÖD - VIN
      • GUL - SCL (SCK -stift på sensorn till
      • ORANGE - SDA (SDA -stift på sensorn)

    Obs: SCL- och SDA -stiften behövs för båda sensorerna, så det kan vara lättare att använda en SCL- eller SDA -stift på en annan del av Featherwing.

    MPR121

    Hjälpande händer hjälper också till vid lödning av den här sensorn (tejpen fungerar också). Koden använde I2C för kommunikation till ESP32, så du ansluter SCA- och SDA -stiften.

    Steg 4: Lödning/montering av komponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)

    Löd-/monteringskomponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)
    Löd-/monteringskomponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)
    Löd-/monteringskomponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)
    Löd-/monteringskomponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)
    Löd-/monteringskomponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)
    Löd-/monteringskomponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)

    Du kommer att löda ledningarna från knappsatsen till den kapacitiva touchsensorn i detta steg. Använd samma färgkartläggning från tidigare. Om du följde mitt färgschema lödde du de färgade trådarna enligt följande:

    • Gul - Pin 0/knapp 1
    • Grå - Pin 1/Knapp 2
    • Röd - Pin 2 /knapp 3
    • Blå - Pin 3 /knapp 4
    • Grön - Pin 4/knapp 5
    • Vit - Pin 5/knapp 6
    • Svart - Pin 6/knapp 7

    När lödningen är klar, använd en twisty-tie för att hålla trådarna på plats.

    Skruva därefter TFT -skärmen till "Front" -stycket. Du använder M3 -skruvarna (fyra totalt). När TFT -enheten är på plats, skruva fast den "främre" delen på fodralet. Återigen använder du M3 -skruvar (två).

    Anslut sedan Featherwing Tripler, med alla komponenter inkopplade, till TFT.

    Obs - Om du planerar att använda ett batteri, se till att ansluta det till ESP32 -JST -porten innan du sätter i TFT. Använd tejp för att fästa batteriet på insidan av fodralet.

    Steg 5: VALFRITT - Lödning/montering av komponenter - del D (INA219 fjäder)

    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)
    VALFRITT - Löd/montera komponenter - del D (INA219 fjäder)

    Om du använder INA219 -sensorn är det här du kopplar kablarna till likströmskontakterna.

    1. Sätt i likströmskontakterna på bakstycket och skruva fast dem.
    2. Använd ett lödkolv för att ansluta INA219 -ledningarna.

      • De svarta ledningarna ska gå till JORDEN för varje likströmskontakt.
      • Den grå ledningen ska gå till INPUT DC -kontakten
      • Den blå ledningen ska gå till OUTPUT -kontakten.

    Steg 6: Skruva på baksidan och anslut USB

    Det sista steget i hårdvaruaggregatet är att skruva fast bakstycket med hjälp av M2 -skruvar (4). Därifrån ansluter du USB -kabeln, ansluter den till din dator och fortsätter till programvarusteg!

    Steg 7: Förbered AWS -miljö

    Förbered AWS -miljö
    Förbered AWS -miljö

    Som jag sade i inledningen är utgångspunkten för lösningen följande:

    1. Terminalen, som drivs av en ESP32, använder en MQTT -anslutning (över Wifi) för kommunikation med AWS -molnet.
    2. AWS -molnet gör huvuddelen av behandlingen och fungerar som ett relä mellan monitorn och de efterfrågade tjänsterna.

    Det finns några saker vi måste göra i det här steget:

    Först måste du konfigurera din AWS -miljö om du inte har gjort det ännu. Denna instruerbara förutsätter att du redan har ett AWS-konto, så instruktioner om hur du skapar ett molnkonto ingår inte. Med detta sagt är stegen raka fram och kan hittas här.

    När du har passerat det steget måste du skapa några tjänster, så logga in på AWS -konsolen.

    Skapa en sak och ladda ner nycklar

    AWS IoT Core underlättar kommunikationen mellan AWS -molnet och displayen. Du måste skapa en "sak" och ladda ner certifikat för att stödja kommunikationen.

    [Obs: de flesta av dessa instruktioner är hämtade från en guide skriven av Moheeb Zara, AWS Evangelist]

    1. Öppna AWS -konsolen och välj AWS IoT Core.
    2. I AWS IoT -konsolen väljer du Registrera en ny sak, Skapa en enda sak.
    3. Ge det nya namnet "starTrekESP32". Lämna de återstående fälten som standard. Välj Nästa.
    4. Välj Skapa certifikat. Endast ting cert, privat nyckel och Amazon Root CA 1 nedladdningar är nödvändiga för att ESP32 ska kunna anslutas. Ladda ner och spara dem någonstans säkert, eftersom de används när du programmerar ESP32 -enheten.
    5. Välj Aktivera, Bifoga en policy.
    6. Hoppa över att lägga till en policy och välj Registrera sak.
    7. I sidmenyn på AWS IoT -konsolen väljer du Säker, Policies, Skapa en policy.
    8. Namnge policyn AllowEverything. Välj fliken Avancerat.
    9. Klistra in i följande policymall.
    10. {{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": "iot:*", "Resource": "*"}]}
    11. Välj Skapa. (Obs! Detta rekommenderas bara för att komma igång. När du är bekväm med att allt fungerar, vänligen gå tillbaka och ändra detta till något mer restriktivt.)
    12. I AWS IoT -konsolen väljer du Säker, certifiering.
    13. Välj den som skapats för din enhet och välj Åtgärder, Bifoga policy.
    14. Välj Tillåt allt, Bifoga.
    15. Innan du lämnar, klicka på "Inställningar" (i den vänstra menyn). Din "Anpassad slutpunkt" visas. spara det i en textfil … du behöver det när du konfigurerar ESP32.

    Skapa en tom Lambda -fil

    Lambda är en form av serverlös beräkning, så vi behöver inte oroa oss för någon hårdvara här. I slutändan är det här vi ska placera vår uppdaterade kod (som vi gör det några steg). För tillfället vill vi bara skapa en platshållare, så …

    1. Logga in på AWS -konsolen igen (om du loggade ut) och klicka på Lambda.
    2. Klicka på knappen "Skapa funktion".
    3. På nästa sida anger du ett grundläggande namn, som starTrekDisplay
    4. Välj Node.js 12. X
    5. Under behörigheter:

      • Om du kan din väg runt Lambda och är bekant med det kan du välja vilket alternativ som är vettigt. Du behöver behörigheter på CloudWatch, IotCore, S3 (läs och skriv).
      • Om du är osäker på behörigheter väljer du "Skapa en ny roll med grundläggande Lambda -behörigheter". Skriv ner rollens namn. Senare ändrar vi behörigheterna.
    6. Klicka på Skapa funktion.
    7. Efter en minut kommer du in i en ny skärm med ett "hej värld" -kodavsnitt. Rulla ner till botten till Grundinställningar och klicka på "Redigera"
    8. Ändra timeout från 3 sekunder till 2 minuter och 0 sekunder. Obs: din kod bör aldrig köras längre än 5-10 sekunder … men vi behöver en längre timeout för din första autentisering med Microsoft (för kalenderfunktioner). När du har verifierat kan du ändra detta till 20 sekunder.
    9. Tryck på spara.

    Skapa en Iot -regel

    1. Stanna kvar i Lambdakonsolen och rulla uppåt. Välj "Lägg till utlösare".
    2. Välj AWS IoT. Välj sedan "Anpassad regel".
    3. Välj "Skapa en ny regel".

      • Regelnamn: ESP -anslutning
      • Regelfrågeformulär: "VÄLJ * FRÅN 'starTrekDisplay/pub'
    4. Klicka på "Lägg till"

    Skapa en S3 -hink och mapp

    1. Navigera till AWS -konsolen och välj S3.
    2. Du behöver en hink och en mapp för att lagra autentiseringsfiler. Den här mappen ska vara privat. Jag föreslår att du använder någon hink du redan har och namnge skapa en mapp som heter "starTrekDisplay". Obs - om du inte har en hink, skapa en med hjälp av instruktionerna här.

    Uppdateringstillstånd - Om du tillät Lambda att skapa en roll åt dig måste du följa detta steg

    1. Logga in på AWS -konsolen och välj IAM
    2. Klicka på ROLLER och välj sedan rollnamnet som du skapade tidigare.
    3. Klicka på bifoga policyer och välj sedan följande policyer:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Steg 8: Ladda ner programvaruknappar och konfigurera tjänster från tredje part

    Ladda ner programvaruknappar och konfigurera tjänster från tredje part
    Ladda ner programvaruknappar och konfigurera tjänster från tredje part

    Jag använder följande tjänster från tredje part i projektet:

    1. Worldtime API - för tid
    2. National Weather Service API: er - för väder
    3. Microsoft Graph API för åtkomst till min kalender
    4. Google Fitness API för åtkomst till fitnessinformation

    Du måste konfigurera konton och ladda ner nycklar för att kunna utnyttja samma tjänster

    Worldtime API - för tid

    Det här API: et kräver ingen nyckel, så ingen åtgärd behövs för att detta ska fungera.

    National Weather Service API: er - för väder

    National Weather Service API är gratis och ingen API -nyckel krävs. Men de begär att du vidarebefordrar kontaktinformation (i form av ett e -postmeddelande) i varje begäran (som en del av rubrikfilen). Du lägger till kontaktinformation i koden i nästa steg.

    VALFRITT - Microsoft Graph API och Google Fitness API

    Detta är den mest komplexa delen av koduppsättningen. Vår enhet har inte ett fullbordat tangentbord … därför använder vi något som kallas OAUTH för begränsade enheter för att komma åt vår kalender. Tyvärr måste du skapa en Azure "app" och en Google App för att du ska kunna använda OAUTH för begränsade enheter.

    Instruktioner för att skapa en app finns här för Microsoft fand här för Google. Här är några saker du bör veta:

    • Du måste skapa ett Azure- och Google -molnkonto. Detta är gratis och du kommer inte att debiteras något
    • Microsoft:

      • Du kommer att bli ombedd att specificera vad användare kan använda appen. Jag föreslår att du väljer "Konton i alla organisatoriska kataloger och personliga Microsoft -konton". Detta gör att du kan använda personliga Microsoft -konton och företagskonton (i de flesta fall).
      • Du vill välja "Mobil och skrivbord" -applikationer, men du behöver inte fylla i all information (eftersom det här är en personlig app). Det betyder att du inte kan göra din app tillgänglig för världen …. men det är ok i det här fallet
      • När din app är konfigurerad måste du välja de behörigheter som behövs. Jag bad om behörigheter relaterade till profiler och kalendrar (se bilden i galleriet för hela listan över behörigheter). Du måste välja samma uppsättning. Om du lägger till fler behörigheter måste du ändra omfattningen på lämpligt sätt i nästa steg.

    Steg 9: Ändra och ladda upp AWS -kod

    Denna instruerbara förutsätter att du är bekant med Node.js -utveckling och Lambda. Ladda ner den länkade filen och gör ändringar för att uppdatera:

    • Microsoft App- och klientinformation
    • Google Key
    • E -postadress för spårning av National Weather Service
    • S3 skopnamn
    • S3 -mappnamn
    • AWS -slutpunkt

    Du måste också ladda ner följande nodbibliotek:

    1. aws-sdk
    2. ögonblicks tidszon
    3. accenter

    När dessa ändringar har gjorts laddar du upp koden till platshållaren lambda du skapade tidigare.

    Steg 10: Förbered Arduino IDE och ladda ner bibliotek

    Den här guiden förutsätter också att du är bekant med Arduino. Du måste se till att din IDE är konfigurerad för att fungera med en Adafruit ESP32. Följ instruktionerna här om du behöver hjälp.

    När detta är klart laddar du ner följande bibliotek:

    • Adafruit_GFX (från bibliotekschefen)
    • Adafruit_HX8357 (från bibliotekschefen)
    • TFT_eSPI (från bibliotekschefen)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (från bibliotekschefen)
    • ArduinoJson (från bibliotekschefen)
    • Adafruit_STMPE610 (från bibliotekschefen)
    • Adafruit_MPR121 (från bibliotekschefen)
    • Adafruit_INA219 (från bibliotekschefen)
    • Adafruit_Sensor (från bibliotekschefen)
    • Adafruit_BME680 (från bibliotekschefen)
    • Tone32 (https://github.com/lbernstone/Tone)

    Därefter måste vi ändra några av biblioteken:

    1. Öppna mappen PubSubClient (i mappen Arduino/Library) och öppna "PubSubClient.h". Hitta värdet för MQTT_MAX_PACKET_SIZE och ändra det till 2000.
    2. Öppna sedan mappen TFT_eSPI och öppna filen "User_Setup_Select.h". Kommentera alla "inklusive users_setup …" -rader och lägg till den här raden:

    #omfatta

    Ladda sedan ned den länkade Custom_Tricorder.zip -filen och extrahera ".h" -filen till "TFT_eSPI / User_Setups" -platsen i din Arduino -biblioteksmapp. I

    Nu kan vi gå vidare med att uppdatera Arduino -koden

    Steg 11: Uppdatera och installera Arduino Code and Engage

    Uppdatera och installera Arduino -koden och engagera dig!
    Uppdatera och installera Arduino -koden och engagera dig!

    Arduino -kod

    Ladda ner och packa upp den länkade filen för Arduino -koden. Gå till fliken secrets.h. Du måste uppdatera följande:

    • WIFI_SSID = uppdatera med ditt wifi SSID
    • WIFI_PASSWORD = uppdatera med ditt wifi -lösenord
    • TIMEZONE = uppdatera med din tidszon från den här listan
    • LAT (du kan använda en tjänst som "https://www.latlong.net" för att hitta din latitud och longitud
    • LNG
    • AWS_IOT_ENDPOINT = du borde ha sparat detta från tidigare. Det ska se ut som "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Du kommer också att ha laddat ner certifikaten från ett tidigare steg. Öppna sedan i anteckningsredigeraren (t.ex. anteckningsblock) och klistra in texten mellan "R" EOF ('och') EOF "; '. Var noga med att inkludera "----- BEGIN CERTIFICATE -----" eller "----- BEGIN RSA PRIVATE KEY -----".

    Bildfiler

    ESP32 levereras med ett litet filsystem. Vi använder detta filsystem för att spara bilder för vårt program. Du måste installera verktyget som låter dig ladda upp filer.

    1. Besök först den djupgående handledningen om Random Nerd Tutorials.
    2. När du har gjort det här kan du ladda upp filerna i datamappen (ingår också i zip -filen).

    Förlova sig

    Ladda upp den sista Arduino -koden och du är klar!

    Obs - Star Trek -namnet och Star Trek -bilderna ägs av CBS/Paramount. De har en ganska slapp politik när det gäller cosplay och fan fiction - läs gärna här om du har frågor.

    Fandom -tävling
    Fandom -tävling
    Fandom -tävling
    Fandom -tävling

    Första pris i Fandom Contest

    Rekommenderad: