Innholdsfortegnelse:

Gjør det slik! Star Trek TNG Mini Engineering Computer: 11 trinn (med bilder)
Gjør det slik! Star Trek TNG Mini Engineering Computer: 11 trinn (med bilder)

Video: Gjør det slik! Star Trek TNG Mini Engineering Computer: 11 trinn (med bilder)

Video: Gjør det slik! Star Trek TNG Mini Engineering Computer: 11 trinn (med bilder)
Video: Иоша Бах: время, гипотеза моделирования, существование 2024, November
Anonim
Image
Image
Gjør det slik! Star Trek TNG Mini Engineering Computer
Gjør det slik! Star Trek TNG Mini Engineering Computer
Gjør det slik! Star Trek TNG Mini Engineering Computer
Gjør det slik! Star Trek TNG Mini Engineering Computer

Oversikt

Jeg vokste opp med å se Star Trek: The Next Generation. Jeg har alltid ønsket å bygge en enhet med Star Trek -tema, så jeg endelig kom til å remikse et av mine gamle prosjekter for å lage en Star Trek Display Terminal.

Terminalen gir følgende informasjon:

  • Vær - ved hjelp av National Weather Service
  • Innetemperatur, fuktighet og flyktig organisk forbindelse (VOC)
  • Nyhetsartikler - fra News.org
  • Tidsplan (med alarmfunksjon) - fra Microsoft Outlook
  • Treningsinformasjon (trinn, bevegelsesminutter, hjertepoeng, vekt, forbrente kalorier) - fra Google Fitness
  • et motstands fargekodediagram
  • en LED -motstandskalkulator (for å bestemme motstandsverdien basert på strøm og kildeeffekt)
  • Effekt- og strømmålingsverktøy

Denne informasjonen blir gjort tilgjengelig gjennom en kombinasjon av APIer og maskinvaresensorer. Jeg bruker en ESP32 for mikrokontrolleren, og bruker AWS Cloud for all datainnsamling og aggregering.

Jeg inkluderte også noen "påskeegg":

  • Ron McNair hyllest - Dr McNair er grunnen til at jeg ble ingeniør; han vokste opp 45 minutter fra hjembyen min. Han døde i Challenger -eksplosjonen.

    • Navnet på stjerneskipet mitt er "USS Ronald E McNair"
    • Registreringsnummeret er fra Sr McNairs fødselsdato; prefiks -koden er dagen han mistet livet.
  • Bruken av en "prefiks kode" er en nikk til Star Trek: Wrath of Khan (tidenes største Star Trek -film; ikke @ meg).
  • Tallene til høyre i terminalsaken refererer til mitt brorskap (1906 - Alpha Phi Alpha) og mitt alma mater og studieretning - (University of Oklahoma, College of Engineering)

Du har muligheten til å tilpasse nummerering, bokstaver og skipsnavn, register osv. For dine egne "påskeegg".

Bakgrunn

I fjor trengte jeg en rimelig måte å måle strøm og batteridrift for et bærbart prosjekt. Jeg kjøpte en Adafruit INA219 Featherwing, og brukte noen forskjellige reservedeler til å bygge en enkel kraftmåleenhet (du kan lese mer om det her).

I år bestemte jeg meg for å oppgradere enheten … for å gjøre den mer "teknisk". Jeg planla opprinnelig å bygge en fungerende Star Trek-tricorder (Mark IV TR-590 Mark IX-versjonen, for de som bryr seg) … men jeg skjønte raskt at det var mer fornuftig å lage noe som ville sitte på skrivebordet mitt (jeg mener hvorfor gå til alt dette problemet for å lage en kul enhet, bare for å lukke den og legge den i en skuff når den ikke brukes).

Så jeg gikk over til å lage en versjon av datamaskinskjermene du ser på Star Trek TNG eller Voyager (eller de forskjellige filmene). Jeg lekte rundt med forskjellige design, og så kom jeg over en versjon laget av Ruiz Brothers of Adafruit. Adafruit gjør en god jobb med å levere kildefiler for sine 3D -trykte prosjekter, så jeg kunne ta den originale versjonen og remikse den for maskinvaren, knappene og andre eksterne enheter.

Ting å vite før du fortsetter

  1. Jeg gir trinnvise instruksjoner for hvordan jeg lager min versjon av prosjektet; Imidlertid går jeg ikke inn på detaljer om visse trinn (jeg linker til støttende instruksjoner eller dokumentasjon)
  2. Dette er et komplekst prosjekt. Det er et "flerdisiplinert merke", som krever følgende ferdigheter

    • Arduino IDE
    • AWS - Du trenger en konto og må forstå S3, Lambda og Node JS
    • Lodding
    • 3D -utskrift
  3. Det er valgfrie "add ins" for å forbedre prosjektet for å få informasjon om kalender og trening. Funksjonaliteten er inkludert i kodebasen; men du må opprette "apper" i Azure- og Google -skyene for å støtte funksjonene.
  4. Dette kan til slutt tilpasses … du kan bytte ut gjeldende sensor med en annen fjærving. Du kan bruke en annen fjær/wifi -kombinasjon.

Rekvisita

Elektroniske komponenter

  • Adafruit ESP32 Huzzah fjær
  • Adafruit Featherwing Tripler Mini Kit
  • Adafruit 12-tasters kapasitiv berøringssensorutbrudd
  • Adafruit TFT FeatherWing - 3,5 "480x320 berøringsskjerm
  • Adafruit BME680 - Temperatur, fuktighet, trykk og gass sensor
  • DC -panelmontering 2.1 fatkontakt (2)
  • Litiumionpolymerbatteri - 3,7 V 500mAh
  • Piezo summer
  • Mirco USB -kabel og 5V lader (en typisk USB -telefonlader fungerer)
  • Kobberfolie tape med lim
  • Valgfritt - Adafruit INA219 Featherwing
  • Valgfritt - 2.1 mannlige plugger - (for bruk med INA219 nåværende sensor)

Lenke til alle elektroniske komponenter unntatt 2.1 plugger:

3D -filamentkomponenter og valgfrie malings-/slipekomponenter

  • Proto Pasta Conductive PLA
  • Ytterligere 3D -filamenter - jeg brukte 4 farger - Grå, svart, Aqua (lyseblå) og hvit
  • .25 og 0.4 mm dyser (jeg brukte 0.25 for bokstavdetaljene).

Komponenter og verktøy for maskinvare

  • M2x5 og M3x5 skruer
  • Hodestifter for rett og rett vinkel (se Adafruit ønskeliste for lenker)
  • Loddejern (og spole av loddetinn, tinntynner, loddetinn, etc.)
  • Philips skrutrekkersett
  • Krymp vikle
  • Stranded Wire 22AWG - fem eller seks farger
  • Solid Wire 22AWG - fem eller seks farger
  • PCB Vise og Helping hands (valgfritt, men gjør lodding enklere)
  • Diagonal Wire Cutters
  • Wire strippere
  • Xacto Knife (for fjerning av støtter fra 3D -skriverdeler)
  • 3D -skriver (hvis du planlegger å skrive ut selv)
  • Kitt eller tape (for å feste batteriet på innsiden av det trykte etuiet)
  • Digitale kalipre
  • Krazy Lim
  • Valgfritt - Engangshansker av nitril
  • Valgfritt - Loddematte (valgfritt, men beskytter overflater)

Merk: Hvis du ikke har disse verktøyene, foreslår jeg at du sjekker ut Becky Sterns nettsted for anbefalinger for gode alternativer.

Programvare

  • Arduino IDE
  • Node JS editor (som Microsoft Code)
  • AWS -konto
  • Valgfritt - Google Cloud -konto (for treningsinformasjon)
  • Valgfritt - Microsoft Azure Cloud -konto (for kalenderinformasjon)
  • Trinn 1: Last ned, endre filer og skriv ut 3D -filer

    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer
    Last ned, endre filer og skriv ut 3D -filer

    Du kan sende filene til en 3D -utskriftstjeneste (for eksempel 3D -hubber), eller du kan skrive ut dine egne. Filer er tilgjengelige på PrusaPrinters.org.

    Denne saken er en remiks av Py Portal -vekkerklokken på Adafruit -nettstedet. Prosjektet mitt bruker en lignende TFT, så jeg kunne minimere mengden designarbeid som trengs for å få saken til å fungere med tilbehøret mitt.

    Jeg brukte følgende innstillinger for utskrift:

    • Front og bakside- trykt på 0,2 mm laghøyde med en 0,4 mm dyse, ingen støtter
    • Sidetall - trykt med 0,10 mm laghøyde med 0,25 mm dyse, ingen støtter
    • Nøkler - trykt på 0,2 mm laghøyde med en 0,4 mm dyse. Du må skrive ut 7, og du må skrive ut med Proto-Pasta Conductive Filament.
    • Etui - trykt med 0,2 mm laghøyde.

      Støtte er nødvendig, men er ikke nødvendig overalt (bare på sidene og midten der tastaturet sitter

    Noen ting du bør vite:

    1. Prusa MK3 lar deg endre farger i forskjellige laghøyder. Jeg brukte denne funksjonen for sidetallstykket.
    2. Også når det gjelder sidetallstykket:

      • Star Trek TNG -produksjonsmannskapet ville drysset påskeegg i rekvisittene. Hvis du ser nøye på forskjellige plaketter og paneler, ser du folks navn, sangtekster, etc. Jeg ønsket å lage mitt eget "påskeegg" for sidenummeret, så jeg bruker "06" - som refererer til brorskapet mitt (dannet i 1906), og "OUCOE" - som refererer til alma mater (University of Oklahoma, College of Engineering).
      • Jeg laget et "tomt" side_nummer -stykke som du kan endre for å lage ditt eget tilpassede nummer og tekst.

    Trinn 2: Lodding/montering av komponenter - del a (tastatur og sidetall)

    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)
    Loddetinn/monter komponenter - del a (tastatur og sidetall)

    Først fester vi sidetallet. Bruk en liten klatt lim for å sette sidenummeret på plass.

    Deretter monterer vi tastaturet

    1. Du må kutte 7 stykker strandet ledning - hver mellom 10-12 tommer i lengden. Disse kobles til Pins 0-6 på den kapasitive berøringssensoren. Jeg foreslår at du bruker forskjellige farger (og skriver ned fargene/pin -kartleggingen, da du trenger denne informasjonen senere). Jeg brukte følgende fargekombinasjon:

      • Gul - Pin 0/Knapp 1
      • Grå - Pin 1/Knapp 2
      • Rød - Pin 2 /knapp 3
      • Blå - Pin 3 // Knapp 4
      • Grønn - Pin 4 // Knapp 5
      • Hvit - Pin 5 // Knapp 6
      • Svart - Pin 6 // Knapp 7
    2. Strip 1/2 i fra enden av hver ledning.
    3. Skjær 7 stykker ledende tape (hver ca. 1/2 tomme i bredden) og lodd ledningene til kobbersiden av tapen.
    4. Fjern den selvklebende baksiden og fest dem til bunnen av tastene. Du må kanskje klippe av noen av kobberbåndet.

    Merk: Tastene kan enten limes fra bunnen (slik at de er i flukt med toppen) eller limes fra toppen (slik at de "flyter" noen mm fra toppen). Jeg valgte å lime min fra toppen.

    Når du har fullført alle 7, bruker du en liten klatt lim på tastene på tastaturet. Jeg synes det er lettere å:

    • Først "slanger" ledningen gjennom nøkkelhullet.
    • Legg deretter en liten klatt lim på ryggen/kanten av nøkkelen
    • Sett nøkkelen raskt på plass.

    Merk: Krazy Lim fungerer best her; Det kan være lurt å bruke hansker for å begrense ulykker og sjanser for hudirritasjon.

    Trinn 3: Lodde-/samlekomponenter - del B (fjærvinger og sensorer)

    Loddetinn/monter komponenter - del B (fjærvinger og sensorer)
    Loddetinn/monter komponenter - del B (fjærvinger og sensorer)
    Loddetinn/monter komponenter - del B (fjærvinger og sensorer)
    Loddetinn/monter komponenter - del B (fjærvinger og sensorer)
    Loddetinn/monter komponenter - del B (fjærvinger og sensorer)
    Loddetinn/monter komponenter - del B (fjærvinger og sensorer)

    Det neste trinnet er å forberede og montere maskinvarekomponentene. Til syvende og sist betyr dette lodding av toppnål og ledninger for senere bruk. Denne guiden forutsetter at du er komfortabel med lodding; hvis ikke, sjekk denne "Guide to Excellent Lodding" fra Adafruit.

    Først forbereder vi materialer. For dette trinnet trenger du:

    • TFT 3.5 Fjærving
    • ESP32 fjær
    • INA219 Fjærving
    • Tripler Featherwing
    • MPR121 Kapasitiv berøringssensor
    • BME680 sensor
    • Hodestifter for rett og rett vinkel
    • Solid og strandet ledning
    • Loddeverktøy og hjelpende hender
    • Diagonal Wire cutters og wire strippers
    • Calipers

    Merk: Jeg foreslår at du først leser gjennom dette trinnet og kutter alle ledninger og overskrifter før du begynner å lodde. På den måten trenger du ikke stoppe for å måle/kutte.

    Forbered TFT 3.5 Featherwing

    TFT -en er klar til bruk ut av esken med den eneste justeringen. Du må lodde en ledning mellom "Lite" -puten og en pinloddepute. Koden vår bruker ESP32 Pin 21 til å kontrollere TFT lite. Ordne TFT på den "lange" veien, med tilbakestillingsknappen nederst. Pin 21 vil være den nederste venstre pinnen.

    Klipp et stykke 40 mm tråd. Strip endene slik at noen millimeter ledning vises i hver ende. Bruk loddejernet til å lodde forsiktig til begge pinnene.

    Merk: du trenger bare omtrent 35 mm lengde … slik at du kan trimme tråden etter behov. Jeg synes også at det er den enkleste måten å legge loddetinn til puten, deretter til ledningen, og deretter lodde ledningen til puten. Til slutt - disse putene er små … hvis du er ukomfortabel, kan du alltid hoppe over dette trinnet: det er bare for å slå av TFT med tastaturet.

    Forbered ESP32 -fjæren

    Du må lodde standard mannlige toppnål til ESP32. ESP32 skal komme med overskrifter, selv om du kanskje må trimme dem for å få riktig lengde (16 pinner på langsiden; 12 pinner på kortsiden). Toppstifter er laget for å "snappe vekk", slik at du kan bruke dine diagonale kuttere til å klippe overskriftene til riktig lengde. Igjen, Adafruit har gode instruksjoner om hvordan du gjør det, så sjekk det ut hvis du trenger veiledning.

    VALGFRITT - Forbered INA219 Featherwing

    Først lodder hanhodene til fjærvinget (ved å bruke de samme instruksjonene som for ESP32). Skjær deretter fire 20 mm lengder med tråd. Jeg ville lage 2 SVART og de andre en annen farge. Jeg brukte GRÅ og BLÅ for fargevalgene mine.

    Strip endene av tråden slik at 3-4 mm kobbertråd blir eksponert i hver ende. Du lodder en hver av hver ledning som nedenfor:

    • GRÅ -> V+ (pluss)
    • BLÅ -> V- (minus)
    • SVART -> GND (bakken)
    • SVART -> GND (bakken)

    La de andre endene av ledningene være nå; vi vil til slutt lodde dem til DC 2.1 -pluggene.

    Fest Piezo -summeren

    INA Featherwing kommer med et lite prototypeareal; Vi bruker det til å feste piezo. Piezo vil gi prosjektet vårt muligheten til å pippe og varsle varsler, alarmer, etc.

    Piezoen kobles til ESP32 PIN 13; dette korrelerer med pinnen ved siden av USB -pinnen på fjærvinget (se bildet for piler). Den andre piezopinnen kobles til bakken. Piesepinnene er lange nok til å lodde dem direkte til fjærvinget … du trenger bare å bøye pinnene til en "buebenet mann" -form (se bildet). Når du har pinnene på plass, bruker du en hjelpende hånd (eller tape) til å holde piezoen på plass og loddes fra undersiden av fjærvingen.

    Merk - Hvis du ikke bruker INA219, må du lodde piezo direkte til fjærvingebrettet.

    Forbered Tripler Featherwing

    Fjærvinga sparer oss for mye lodding; den kan inneholde 3 fjær/fjærvinger … så vi bruker den til å lage elektriske forbindelser mellom TFT, ESP32, INA219 (samt piezo og TFT Lite pin).

    For å få tilkoblingene skikkelig, må vi lodde to par stabelhoder og ett par standard hannhoder.

    • De vanlige mannlige hodene vil fortsette på det "øverste" stedet, men vil bli loddet til undersiden av Tripler.
    • De to stabelhodene blir loddet på punkt 2 og 3, på oversiden av tripleren.

    Dette er litt forvirrende, så sørg for å se på bildene for å forstå hvor hvert topptekst er plassert. Også en kombinasjon av PCB Vise og Helping Hands kan i stor grad hjelpe til med lodding av komponentene.

    Forbered BME 680 -sensoren og MPR121 kapasitiv berøringssensor

    De to siste sensorene er det vanskeligste å feste. Vi må feste toppnålene til utbruddstavlene før vi avslutter monteringen.

    BME -sensoren er festet i en 90 vinkel, slik at jeg kan justere sensoren til et hull i saken (slik at sensoren kan fange temperatur, gass, fuktighet). Du må lodde rettvinklede pinner til hullene. Se bildene for å sikre at du justerer dem riktig.

    Den kapasitive berøringssensoren er grei - bare lodde rette mannlige kontaktstifter, som beskrevet her. Merk: du SKAL IKKE lodde pinner til de kapasitive berøringsnålene (0 - 11).

    Fest BME 680 og MPR121 sensorer til triplerkortet

    Begge sensorene kommuniserer via I2C … noe som betyr at vi bare trenger å lage 4 forbindelser mellom breakout -kortene og Featherwing. For enkelhets skyld lodder jeg alle forbindelser mellom platene.

    BME 680

    For denne sensoren bruker jeg Helping Hands og en PCB Vise for å holde begge komponentene på plass (se bildet ovenfor). BME680 -sensoren skal plasseres på slutten av fjærvinget. Se bildene ovenfor for å bekrefte plasseringen.

    Prosessen med å lodde tilkoblingene er kjedelig, så gå sakte. Jeg bruker solid kjernetråd for tilkoblingene:

      • SVART - GND
      • RØD - VIN
      • GUL - SCL (SCK -pinne på sensoren til
      • ORANGE - SDA (SDA -pin på sensoren)

    Merk: SCL- og SDA -pinnene er nødvendige for begge sensorene, så det kan være lettere å bruke en SCL- eller SDA -pinne på en annen del av Featherwing.

    MPR121

    Hjelpende hender hjelper også når du lodder denne sensoren på plass (tape fungerer også). Koden brukte I2C for kommunikasjon til ESP32, så du kobler SCA- og SDA -pinnene.

    Trinn 4: Lodde-/samlekomponenter - Del C (tastatur til kapasitiv sensor og hylse i etui)

    Lodde-/monteringskomponenter - del C (tastatur til kapasitiv sensor og hylster i etui)
    Lodde-/monteringskomponenter - del C (tastatur til kapasitiv sensor og hylster i etui)
    Lodde-/monteringskomponenter - del C (tastatur til kapasitiv sensor og hylse i etui)
    Lodde-/monteringskomponenter - del C (tastatur til kapasitiv sensor og hylse i etui)
    Lodde-/monteringskomponenter - del C (tastatur til kapasitiv sensor og hylse i etui)
    Lodde-/monteringskomponenter - del C (tastatur til kapasitiv sensor og hylse i etui)

    Du vil lodde ledningene fra tastaturet til den kapasitive berøringssensoren i dette trinnet. Bruk samme fargekartlegging fra tidligere. Hvis du fulgte fargeskjemaet mitt, lodder du de fargede ledningene som følger:

    • Gul - Pin 0/Knapp 1
    • Grå - Pin 1/Knapp 2
    • Rød - Pin 2 /knapp 3
    • Blå - Pin 3 /Knapp 4
    • Grønn - Pin 4/Knapp 5
    • Hvit - Pin 5/Knapp 6
    • Svart - Pin 6/Knapp 7

    Når lodding er ferdig, bruker du en vridd slips for å holde ledningene på plass.

    Deretter skruer du TFT -skjermen til "Front" -stykket. Du bruker M3 -skruene (fire totalt). Når TFT er på plass, skru "front" -stykket til saken. Igjen bruker du M3 -skruer (to).

    Deretter kobler du Featherwing Tripler, med alle komponentene tilkoblet, til TFT.

    Merk - Hvis du planlegger å bruke et batteri, må du koble det til ESP32 -JST -porten før du setter inn TFT. Bruk tape for å feste batteriet på innsiden av saken.

    Trinn 5: VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)

    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)
    VALGFRITT - Lodding/montering av komponenter - Del D (INA219 fjær)

    Hvis du bruker INA219 -sensoren, er det her du fester ledningene til DC -pluggene.

    1. Sett likestrømpluggene på bakdekselet, og skru dem på plass.
    2. Bruk et loddejern for å koble til INA219 -ledningene.

      • De svarte ledningene skal gå til GRUNNEN for hver DC -plugg.
      • Den grå ledningen skal gå til INPUT DC -kontakten
      • Den blå ledningen skal gå til OUTPUT -kontakten.

    Trinn 6: Skru på baksiden og plugg inn USB

    Det siste trinnet i maskinvareenheten er å skru bakdekselet på plass - ved hjelp av M2 -skruer (4). Derfra kobler du til USB -kabelen, kobler den til PC -en og fortsetter til programvaretrinn!

    Trinn 7: Forbered AWS -miljø

    Forbered AWS -miljø
    Forbered AWS -miljø

    Som jeg sa i introen, er forutsetningen for løsningen som følger:

    1. Terminalen, drevet av en ESP32, bruker en MQTT (over Wifi) tilkobling til kommunikasjon med AWS -skyen.
    2. AWS -skyen utfører hoveddelen av behandlingen og fungerer som et relé mellom monitoren og de forespurte tjenestene.

    Det er noen ting vi må gjøre i dette trinnet:

    Først må du konfigurere AWS -miljøet ditt hvis du ikke har gjort det ennå. Denne instruksen forutsetter at du allerede har konfigurert en AWS-konto, så instruksjoner om hvordan du konfigurerer en skykonto er ikke inkludert. Når det er sagt, er trinnene rett frem og finnes her.

    Når du er forbi det trinnet, må du opprette noen få tjenester, så logg deg på AWS -konsollen.

    Lag en ting og last ned nøkler

    AWS IoT Core letter kommunikasjonen mellom AWS -skyen og skjermen. Du må opprette en "ting" og laste ned sertifikater for å støtte kommunikasjonen.

    [Merk: de fleste av disse instruksjonene er hentet fra en guide skrevet av Moheeb Zara, AWS Evangelist]

    1. Åpne AWS -konsollen og velg AWS IoT Core.
    2. I AWS IoT -konsollen velger du Registrer en ny ting, Opprett en enkelt ting.
    3. Gi den nye tingen navnet "starTrekESP32". La de gjenværende feltene stå som standard. Velg Neste.
    4. Velg Opprett sertifikat. Bare tingsertifikatet, den private nøkkelen og Amazon Root CA 1 -nedlastingene er nødvendige for at ESP32 kan koble seg til. Last ned og lagre dem et sikkert sted, slik de brukes når du programmerer ESP32 -enheten.
    5. Velg Aktiver, Legg ved en policy.
    6. Hopp over å legge til en policy, og velg Registrer ting.
    7. I sidemenyen til AWS IoT -konsollen velger du Sikker, Retningslinjer, Opprett en policy.
    8. Gi politikken navn AllowEverything. Velg kategorien Avansert.
    9. Lim inn følgende policy -mal.
    10. {{"Version": "2012-10-17", "Statement": [{"Effect": "Tillat", "Action": "iot:*", "Resource": "*"}]}
    11. Velg Opprett. (Merk: Dette anbefales bare for å komme i gang. Etter at du er komfortabel med alt som fungerer, kan du gå tilbake og endre dette til noe mer restriktivt.)
    12. Velg Sikker, sertifisering i AWS IoT -konsollen.
    13. Velg den som er opprettet for enheten din, og velg Handlinger, Legg ved policy.
    14. Velg Tillat alt, Legg ved.
    15. Før du drar, klikker du på "Innstillinger" (på menyen til venstre). Ditt "egendefinerte endepunkt" vises. lagre det i en tekstfil … du trenger det når du konfigurerer ESP32.

    Lag en blank Lambda -fil

    Lambda er en form for serverløs beregning, så vi trenger ikke bekymre deg for maskinvare her. Til syvende og sist er det her vi plasserer vår oppdaterte kode (som vi gjør det noen få trinn). Foreløpig vil vi bare lage en plassholder, så …

    1. Logg deg tilbake til AWS -konsollen (hvis du logget ut) og klikk på Lambda.
    2. Klikk på "Opprett funksjon" -knappen.
    3. Skriv inn et grunnleggende navn på neste side, som starTrekDisplay
    4. Velg Node.js 12. X
    5. Under tillatelser:

      • Hvis du kjenner deg rundt i Lambda, og er kjent med det, kan du velge det alternativet som er fornuftig. Du trenger tillatelser på CloudWatch, IotCore, S3 (les og skriv).
      • Hvis du er usikker på tillatelser, velger du "Opprett en ny rolle med grunnleggende Lambda -tillatelser". Skriv ned navnet på rollen. Senere vil vi endre tillatelsene.
    6. Klikk på Opprett funksjon.
    7. Etter et minutt går du inn på en ny skjerm med en "hei verden" -kodebit. Rull ned til bunnen til Grunnleggende innstillinger og klikk "Rediger"
    8. Endre tidsavbruddet fra 3 sekunder til 2 minutter og 0 sekunder. Merk: Koden din bør aldri kjøre lenger enn 5-10 sekunder … men vi trenger en lengre tidsavbrudd for din første godkjenning med Microsoft (for kalenderfunksjonalitet). Når du har godkjent, kan du endre dette til 20 sekunder.
    9. Trykk lagre.

    Lag en Iot -regel

    1. Bli i Lambda -konsollen og rull opp. Velg "Legg til utløser".
    2. Velg AWS IoT. Velg deretter "Egendefinert regel".
    3. Velg "Opprett en ny regel".

      • Regelnavn: ESP -tilkobling
      • Regelspørringsuttalelse: "SELECT * FROM 'starTrekDisplay/pub'
    4. Klikk "Legg til"

    Lag en S3 bøtte og mappe

    1. Naviger til AWS -konsollen og velg S3.
    2. Du trenger en bøtte og en mappe for å lagre godkjenningsfiler. Denne mappen skal være privat. Jeg foreslår at du bruker en bøtte du allerede har, og navngir opprett en mappe som heter "starTrekDisplay". Merk - hvis du ikke har en bøtte, kan du lage en med instruksjonene her.

    Oppdateringstillatelser - Hvis du tillot Lambda å lage en rolle for deg, må du følge dette trinnet

    1. Logg deg på AWS -konsollen og velg IAM
    2. Klikk på ROLLER, og velg deretter rollenavnet du opprettet tidligere.
    3. Klikk på vedlegg retningslinjer, og velg deretter følgende retningslinjer:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Trinn 8: Last ned programvarenøkler og konfigurer tredjepartstjenester

    Last ned programvarenøkler og konfigurer tredjepartstjenester
    Last ned programvarenøkler og konfigurer tredjepartstjenester

    Jeg bruker følgende tredjepartstjenester i prosjektet:

    1. Worldtime API - for time
    2. National Weather Service APIs - for vær
    3. Microsoft Graph API for tilgang til kalenderen min
    4. Google Fitness API for tilgang til treningsinformasjon

    Du må sette opp kontoer og laste ned nøkler for å kunne dra nytte av de samme tjenestene

    Worldtime API - for time

    Denne API -en krever ikke en nøkkel, så det er ingen handling nødvendig for å få dette til å fungere.

    National Weather Service APIs - for vær

    National Weather Service API er gratis, og ingen API -nøkkel er nødvendig. Imidlertid ber de deg om å gi kontaktinformasjon (i form av en e -post) i hver forespørsel (som en del av toppteksten). Du legger til kontaktinformasjon i koden i neste trinn.

    VALGFRITT - Microsoft Graph API og Google Fitness API

    Dette er den mest komplekse delen av kodeoppsettet. Enheten vår har ikke et fullverdig tastatur … derfor bruker vi noe som heter OAUTH for Limited Devices for å få tilgang til kalenderen vår. Dessverre må du opprette en Azure "app" og en Google -app for at du skal kunne kode OAUTH for begrensede enheter.

    Instruksjoner for å lage en app er her for Microsoft -fand her for Google. Her er noen ting du bør vite:

    • Du må opprette en Azure- og Google -skykonto. Dette er gratis, og du vil ikke bli belastet noe
    • Microsoft:

      • Du blir bedt om å spesifisere hva brukerne kan bruke appen. Jeg foreslår at du velger "Kontoer i en organisasjonskatalog og personlige Microsoft -kontoer". Dette lar deg bruke personlige Microsoft -kontoer og bedriftskontoer (i de fleste tilfeller).
      • Du vil velge "Mobil og skrivebord" -applikasjoner, men du trenger ikke å fylle ut all informasjon (siden dette er en personlig app). Dette betyr at du ikke kan gjøre appen tilgjengelig for verden …. men det er ok i dette tilfellet
      • Når appen din er konfigurert, må du velge tillatelsene du trenger. Jeg ba om tillatelser knyttet til profiler og kalendere (se bildet i galleriet for hele listen over tillatelser). Du må velge det samme settet. Hvis du legger til flere tillatelser, må du endre omfanget på riktig måte i neste trinn.

    Trinn 9: Endre og last opp AWS -kode

    Denne instruksen forutsetter at du er kjent med Node.js utvikling og Lambda. Last ned den koblede filen, og gjør endringer for å oppdatere:

    • Microsoft App- og klientinformasjon
    • Google -nøkkel
    • E -postadresse for sporing av National Weather Service
    • S3 bøtte navn
    • S3 -mappenavn
    • AWS endepunkt

    Du må også laste ned følgende nodebibliotek:

    1. aws-sdk
    2. øyeblikk tidssone
    3. aksenter

    Når disse endringene er gjort, laster du opp koden til plassholderen lambda du opprettet tidligere.

    Trinn 10: Forbered Arduino IDE og Last ned biblioteker

    Denne guiden forutsetter også at du er kjent med Arduino. Du må sørge for at IDE er konfigurert for å fungere med en Adafruit ESP32. Følg instruksjonene her hvis du trenger hjelp.

    Når dette er fullført, laster du ned følgende biblioteker:

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

    Deretter må vi endre noen av bibliotekene:

    1. Åpne PubSubClient -mappen (i Arduino/Library -mappen) og åpne "PubSubClient.h". Finn verdien for MQTT_MAX_PACKET_SIZE og endre den til 2000.
    2. Deretter åpner du TFT_eSPI -mappen og åpner filen "User_Setup_Select.h". Kommenter eventuelle "inkluderer users_setup …" -linjer, og legg til denne linjen:

    #inkludere

    Last ned den koblede Custom_Tricorder.zip -filen og pakk ut ".h" -filen til "TFT_eSPI / User_Setups" -stedet i Arduino -bibliotekmappen. Jeg

    Nå kan vi fortsette å oppdatere Arduino -koden

    Trinn 11: Oppdater og installer Arduino Code and Engage

    Oppdater og installer Arduino Code and Engage!
    Oppdater og installer Arduino Code and Engage!

    Arduino -koden

    Last ned og pakk ut den koblede filen for Arduino -koden. Gå til fanen secrets.h. Du må oppdatere følgende:

    • WIFI_SSID = oppdater med Wi -Fi SSID
    • WIFI_PASSWORD = oppdater med ditt wifi -passord
    • TIMEZONE = oppdater med tidssonen din fra denne listen
    • LAT (du kan bruke en tjeneste som "https://www.latlong.net" for å finne breddegrad og lengdegrad
    • LNG
    • AWS_IOT_ENDPOINT = du burde ha lagret dette fra tidligere. Det skal se ut som "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Du vil også ha lastet ned sertifikatene fra et tidligere trinn. Åpne deretter i notatredigereren (f.eks. Notepad) og lim inn teksten mellom 'R "EOF (' og ') EOF";'. Sørg for å inkludere "----- BEGIN CERTIFICATE -----" eller "----- BEGIN RSA PRIVATE KEY -----".

    Bildefiler

    ESP32 kommer med et lite filsystem. Vi bruker dette filsystemet til å lagre bilder for programmet vårt. Du må installere verktøyet som lar deg laste opp filer.

    1. Besøk først den grundige opplæringen om Random Nerd Tutorials.
    2. Når du har fått dette til å fungere, kan du laste opp filene i datamappen (også inkludert i zip -filen).

    Engasjer deg

    Last opp den endelige Arduino -koden, og du er ferdig!

    Merk - Star Trek -navnet og Star Trek -bildene eies av CBS/Paramount. De har en ganske slapp politikk når det gjelder cosplay og fanfiksjon - vennligst les her hvis du har spørsmål.

    Fandom -konkurranse
    Fandom -konkurranse
    Fandom -konkurranse
    Fandom -konkurranse

    Førstepremie i Fandom -konkurransen

    Anbefalt: