Innehållsförteckning:
- Tillbehör
- Steg 1: Ladda ner, ändra filer och skriv ut 3D -filer
- Steg 2: Lödning/montering av komponenter - del a (knappsats och sidnummer)
- Steg 3: Lödning/montering av komponenter - del B (fjädervingar och sensorer)
- Steg 4: Lödning/montering av komponenter - del C (knappsats till kapacitiv sensor och hylsa i fodral)
- Steg 5: VALFRITT - Lödning/montering av komponenter - del D (INA219 fjäder)
- Steg 6: Skruva på baksidan och anslut USB
- Steg 7: Förbered AWS -miljö
- Steg 8: Ladda ner programvaruknappar och konfigurera tjänster från tredje part
- Steg 9: Ändra och ladda upp AWS -kod
- Steg 10: Förbered Arduino IDE och ladda ner bibliotek
- Steg 11: Uppdatera och installera Arduino Code and Engage
Video: Gör det så! Star Trek TNG Mini Engineering Computer: 11 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Ö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
- 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)
-
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
- 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.
- 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
Steg 1: 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:
- Med Prusa MK3 kan du ändra färger i olika lagerhöjder. Jag använde den här funktionen för sidnumret.
-
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)
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
-
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
- Ta av 1/2 in från slutet av varje tråd.
- Skär 7 bitar av ledande tejp (vardera ca 1/2 tum i bredd) och löd trådarna till kopparsidan av tejpen.
- 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)
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)
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)
Om du använder INA219 -sensorn är det här du kopplar kablarna till likströmskontakterna.
- Sätt i likströmskontakterna på bakstycket och skruva fast dem.
-
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ö
Som jag sade i inledningen är utgångspunkten för lösningen följande:
- Terminalen, som drivs av en ESP32, använder en MQTT -anslutning (över Wifi) för kommunikation med AWS -molnet.
- 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]
- Öppna AWS -konsolen och välj AWS IoT Core.
- I AWS IoT -konsolen väljer du Registrera en ny sak, Skapa en enda sak.
- Ge det nya namnet "starTrekESP32". Lämna de återstående fälten som standard. Välj Nästa.
- 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.
- Välj Aktivera, Bifoga en policy.
- Hoppa över att lägga till en policy och välj Registrera sak.
- I sidmenyn på AWS IoT -konsolen väljer du Säker, Policies, Skapa en policy.
- Namnge policyn AllowEverything. Välj fliken Avancerat.
- Klistra in i följande policymall.
- {{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": "iot:*", "Resource": "*"}]}
- 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.)
- I AWS IoT -konsolen väljer du Säker, certifiering.
- Välj den som skapats för din enhet och välj Åtgärder, Bifoga policy.
- Välj Tillåt allt, Bifoga.
- 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å …
- Logga in på AWS -konsolen igen (om du loggade ut) och klicka på Lambda.
- Klicka på knappen "Skapa funktion".
- På nästa sida anger du ett grundläggande namn, som starTrekDisplay
- Välj Node.js 12. X
-
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.
- Klicka på Skapa funktion.
- 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"
- Ä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.
- Tryck på spara.
Skapa en Iot -regel
- Stanna kvar i Lambdakonsolen och rulla uppåt. Välj "Lägg till utlösare".
- Välj AWS IoT. Välj sedan "Anpassad regel".
-
Välj "Skapa en ny regel".
- Regelnamn: ESP -anslutning
- Regelfrågeformulär: "VÄLJ * FRÅN 'starTrekDisplay/pub'
- Klicka på "Lägg till"
Skapa en S3 -hink och mapp
- Navigera till AWS -konsolen och välj S3.
- 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
- Logga in på AWS -konsolen och välj IAM
- Klicka på ROLLER och välj sedan rollnamnet som du skapade tidigare.
-
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
Jag använder följande tjänster från tredje part i projektet:
- Worldtime API - för tid
- National Weather Service API: er - för väder
- Microsoft Graph API för åtkomst till min kalender
- 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:
- aws-sdk
- ögonblicks tidszon
- 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:
- Ö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.
- Ö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
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.
- Besök först den djupgående handledningen om Random Nerd Tutorials.
- 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.
Första pris i Fandom Contest
Rekommenderad:
Hur man gör professionellt kretskort (är det värt det?): 5 steg
Hur man gör ett professionellt kretskort (är det värt det?): Jag vill dela med mig av mina " PCB -erfarenheter " med dig
Skriv det ! Gör det ! Dela det!: 4 steg
Skriv det ! Gör det ! Dela det!: Mina elever har använt Legos hjälp att lägga till kreativitet i sitt skrivande, organisering av skrivande och för att visa upp sitt arbete digitalt med sin familj och med sina kamrater i klassen
Password Keeper på Aruino Pro Micro eller varför hålla det enkelt när det finns ett utarbetat sätt !: 15 steg (med bilder)
Password Keeper på Aruino Pro Micro eller varför hålla det enkelt när utarbetade sätt finns !: Det verkar som att huvudproblemet med mikrokontroller för fan av elektronik (speciellt nybörjare) är att ta reda på var de ska tillämpas :) Numera elektronik, särskilt digital , ser mer och mer ut som en svart magi. Endast 80-Lvl visards är
Hur man hämtar musik från NÄSTAN någon (Haha) webbplats (så länge du kan höra det kan du få det Ok fint om det är inbäddat i Flash kanske du inte kan) REDIGERA !!!!! Tillagd info: 4 steg
Hur man hämtar musik från NÄSTAN någon (Haha) webbplats (så länge du kan höra det kan du få det … Ok fint om det är inbäddat i Flash kanske du inte kan) REDIGERA !!!!! Tillagd info: om du någonsin går till en webbplats och den spelar en låt som du gillar och vill ha den, så här är instruktionen för mig, inte mitt fel om du förstör något (enda sättet det kommer att hända är om du börjar ta bort saker utan anledning ) Jag har kunnat få musik för
Vattentäta högtalare som svävar - " Det svävar, det stötar och det gör noterna! &Quot;: 7 steg (med bilder)
Vattentäta högtalare som svävar - " Det svävar, det ryser och det stenar noterna! ). Vi kommer att flyta nerför floden, eller fästa linjer till stranden så att våra flottar stannar precis vid vår campingplats. Alla h