Inhaltsverzeichnis:

Mach es so! Star Trek TNG Mini-Engineering-Computer - Gunook
Mach es so! Star Trek TNG Mini-Engineering-Computer - Gunook

Video: Mach es so! Star Trek TNG Mini-Engineering-Computer - Gunook

Video: Mach es so! Star Trek TNG Mini-Engineering-Computer - Gunook
Video: Two Scientists Are Building a Real Star Trek 'Impulse Engine' 2024, November
Anonim
Image
Image
Mach es so! Star Trek TNG Mini-Engineering-Computer
Mach es so! Star Trek TNG Mini-Engineering-Computer
Mach es so! Star Trek TNG Mini-Engineering-Computer
Mach es so! Star Trek TNG Mini-Engineering-Computer

Überblick

Ich bin mit Star Trek: The Next Generation aufgewachsen. Ich wollte schon immer ein Star Trek-Themen-Gerät bauen, also bin ich endlich dazu gekommen, eines meiner alten Projekte zu remixen, um ein Star Trek-Display-Terminal zu erstellen.

Das Terminal bietet folgende Informationen:

  • Wetter - über den National Weather Service
  • Innentemperatur, Luftfeuchtigkeit und Stärke flüchtiger organischer Verbindungen (VOC)
  • Nachrichtenartikel - von News.org
  • Zeitplan (mit Alarmfunktion) - aus Microsoft Outlook
  • Fitnessinformationen (Schritte, Bewegungsminuten, Herzpunkte, Gewicht, verbrannte Kalorien) – von Google Fitness
  • a Widerstandsfarbcodetabelle
  • ein LED-Widerstandsrechner (um den Widerstandswert basierend auf Strom und Quellenleistung zu bestimmen)
  • Werkzeug zur Leistungs- und Strommessung

Diese Informationen werden durch eine Kombination von APIs und Hardwaresensoren bereitgestellt. Ich nutze einen ESP32 für den Mikrocontroller und nutze die AWS Cloud für die gesamte Datenerfassung und -aggregation.

Ich habe auch ein paar "Ostereier" beigefügt:

  • Ron McNair Hommage - Dr. McNair ist der Grund, warum ich Ingenieur wurde; er ist 45 Minuten von meiner Heimatstadt entfernt aufgewachsen. Er starb bei der Challenger-Explosion.

    • Der Name meines Sternenschiffs ist die "USS Ronald E McNair"
    • Die Registernummer stammt aus dem Geburtsdatum von Sr. McNair; der Präfix-Code ist der Tag, an dem er sein Leben verlor.
  • Die Verwendung eines "Präfix-Codes" ist eine Anspielung auf Star Trek: Wrath of Khan (der größte Star Trek-Film aller Zeiten; @ mich nicht).
  • Die Nummern auf der rechten Seite des Terminals beziehen sich auf meine Bruderschaft (1906 - Alpha Phi Alpha) und meine Alma Mater und mein Studienfach - (University of Oklahoma, College of Engineering)

Sie haben die Möglichkeit, Nummerierung, Beschriftung, Schiffsname, Register etc. für Ihre eigenen „Ostereier“anzupassen.

Hintergrund

Letztes Jahr brauchte ich eine kostengünstige Möglichkeit, Strom und Batterieverbrauch für ein Wearable-Projekt zu messen. Ich habe mir einen Adafruit INA219 Featherwing gekauft und aus einigen verschiedenen Ersatzteilen ein einfaches Leistungsmessgerät gebaut (mehr darüber können Sie hier lesen).

Dieses Jahr habe ich beschlossen, das Gerät aufzurüsten… um es "technischer" zu machen. Ursprünglich hatte ich vor, einen funktionierenden Star Trek-Tricorder zu bauen (die Mark IV TR-590 Mark IX-Version, für diejenigen, die es interessiert)… sich all diese Mühe machen, um ein cooles Gerät zu bauen, es einfach zu schließen und in eine Schublade zu legen, wenn es nicht verwendet wird).

Also habe ich mich daran gemacht, eine Version der Computerdisplays zu erstellen, die Sie in Star Trek TNG oder Voyager (oder den verschiedenen Filmen) sehen. Ich spielte mit verschiedenen Designs herum und stieß dann auf eine Version, die von den Ruiz Brothers of Adafruit entworfen wurde. Adafruit leistet hervorragende Arbeit bei der Bereitstellung von Quelldateien für ihre 3D-gedruckten Projekte, sodass ich ihre Originalversion nehmen und für meine Hardware, Tasten und andere Peripheriegeräte remixen konnte.

Wissenswertes, bevor Sie fortfahren

  1. Ich gebe Schritt-für-Schritt-Anleitungen zum Erstellen meiner Version des Projekts; Ich gehe jedoch nicht auf bestimmte Schritte ein (ich werde auf unterstützende Anweisungen oder Dokumentationen verlinken).
  2. Dies ist ein komplexes Projekt. Es ist eine "multidisziplinäre Marke", die die folgenden Fähigkeiten erfordert

    • Arduino-IDE
    • AWS – Sie benötigen ein Konto und müssen S3, Lambda und Node JS verstehen
    • Löten
    • 3d Drucken
  3. Es gibt optionale "Add-Ins", um das Projekt zu erweitern, um Kalender- und Fitnessinformationen zu erhalten. Die Funktionalität ist in der Codebasis enthalten; Sie müssen jedoch "Apps" in den Azure- und Google-Clouds erstellen, um die Funktionen zu unterstützen.
  4. Dies ist letztendlich anpassbar … Sie können den Stromsensor durch einen anderen Federflügel austauschen. Sie können eine andere Feder / WLAN-Kombination verwenden.

Lieferungen

Elektronische Bauteile

  • Adafruit ESP32 Huzzah Feder
  • Adafruit Featherwing Tripler Mini-Kit
  • Adafruit 12-Tasten kapazitiver Berührungssensor Breakout
  • Adafruit TFT FeatherWing - 3,5" 480x320 Touchscreen
  • Adafruit BME680 - Temperatur-, Feuchtigkeits-, Druck- und Gassensor
  • DC-Einbaubuchse 2.1 für Schalttafeleinbau (2)
  • Lithium-Ionen-Polymer-Akku - 3,7 V 500 mAh
  • Piezo-Summer
  • Mirco USB-Kabel und 5-V-Ladegerät (ein typisches USB-Telefonladegerät funktioniert)
  • Kupferfolienband mit Kleber
  • Optional - Adafruit INA219 Federflügel
  • Optional - 2.1 Stecker - (zur Verwendung mit dem INA219 Stromsensor)

Link zu allen elektronischen Komponenten außer 2.1-Steckern:

3D-Filamentkomponenten und optionale Lack-/Schleifkomponenten

  • Proto Pasta Leitfähiges PLA
  • Zusätzliche 3D-Filamente - Ich habe 4 Farben verwendet - Grau, Schwarz, Aqua (hellblau) und Weiß
  • 0,25 und 0,4 mm Düsen (ich habe die 0,25 für die Beschriftungsdetails verwendet).

Komponenten und Werkzeuge für die Hardwaremontage

  • M2x5 und M3x5 Schrauben
  • Gerade und rechtwinklige Stiftleisten (Links finden Sie auf der Adafruit-Wunschliste)
  • Lötkolben (und Lötkolben, Lötspitzenverzinner, Lötkolben usw.)
  • Kreuzschlitzschraubendreher-Kit
  • Schrumpffolie
  • Litze 22AWG - fünf oder sechs Farben
  • Massivdraht 22AWG - fünf oder sechs Farben
  • PCB Schraubstock und helfende Hände (optional, erleichtert aber das Löten)
  • Seitenschneider
  • Abisolierzangen
  • Xacto Knife (zum Entfernen von Stützen von 3D-Druckerteilen)
  • 3D-Drucker (wenn Sie selbst drucken möchten)
  • Kitt oder Klebeband (um den Akku an der Innenseite des bedruckten Gehäuses zu befestigen)
  • Digitale Messschieber
  • Krazy Kleber
  • Optional - Nitril-Einweghandschuhe
  • Optional - Lötmatte (optional, aber oberflächenschonend)

Hinweis: Wenn Sie diese Tools nicht haben, empfehle ich Ihnen, auf der Website von Becky Stern nach Empfehlungen für gute Optionen zu suchen.

Software

  • Arduino-IDE
  • Node JS-Editor (wie Microsoft Code)
  • AWS-Konto
  • Optional – Google Cloud-Konto (für Fitnessinformationen)
  • Optional – Microsoft Azure Cloud-Konto (für Kalenderinformationen)
  • Schritt 1: Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien

    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien
    Herunterladen, Ändern von Dateien und Drucken von 3D-Dateien

    Sie können die Dateien an einen 3D-Druckdienst (wie 3D-Hubs) senden oder Ihre eigenen drucken. Dateien sind unter PrusaPrinters.org verfügbar.

    Dieser Fall ist ein Remix des Py Portal Weckers, der auf der Adafruit-Website vorgestellt wird. Mein Projekt verwendet ein ähnliches TFT, so dass ich den Aufwand für das Design minimieren konnte, der erforderlich ist, damit das Gehäuse mit meinem Zubehör funktioniert.

    Zum Drucken habe ich folgende Einstellungen verwendet:

    • Vorder- und Rückseite – gedruckt auf 0,2 mm Schichthöhe mit einer 0,4 mm Düse, keine Stützen
    • Seitennummer - gedruckt auf 0,10 mm Schichthöhe mit einer 0,25 mm Düse, keine Stützen
    • Tasten - gedruckt auf 0,2 mm Schichthöhe mit einer 0,4 mm Düse. Sie müssen 7 drucken und Sie müssen mit Proto-Pasta Conductive Filament drucken.
    • Gehäuse - gedruckt mit 0,2 mm Schichthöhe.

      Stützen werden benötigt, aber nicht überall (nur an den Seiten und in der Mitte, wo die Tastatur sitzt.)

    Ein paar Dinge, die Sie wissen sollten:

    1. Mit dem Prusa MK3 können Sie die Farben bei verschiedenen Schichthöhen ändern. Ich habe diese Funktion für das Seitennummernstück verwendet.
    2. Auch in Bezug auf das Seitennummernstück:

      • Die Star Trek TNG-Produktionscrew würde Ostereier in die Requisiten streuen. Wenn Sie sich verschiedene Tafeln und Tafeln genau ansehen, sehen Sie Personennamen, Liedtexte usw. Ich wollte mein eigenes "Osterei" für die Seitennummer erstellen, daher verwende ich "06" - was sich auf meine Brüderlichkeit bezieht (gegründet 1906) und "OUCOE" - was sich auf meine Alma Mater (University of Oklahoma, College of Engineering) bezieht.
      • Ich habe ein "leeres" Side_number-Stück erstellt, das Sie ändern können, um Ihre eigene benutzerdefinierte Nummer und Ihren eigenen Text zu erstellen.

    Schritt 2: Löt- / Montagekomponenten - Teil a (Tastatur und Seitennummer)

    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)
    Löt-/Montagekomponenten - Teil a (Tastatur und Seitennummer)

    Zuerst fügen wir die Seitennummer hinzu. Verwenden Sie einen kleinen Klecks Klebstoff, um die Seitennummer anzubringen.

    Als nächstes bauen wir die Tastatur zusammen

    1. Sie müssen 7 Stück Litzendraht schneiden - jedes zwischen 10-12 Zoll lang. Diese werden mit den Pins 0-6 des kapazitiven Berührungssensors verbunden. Ich schlage vor, dass Sie verschiedene Farben verwenden (und die Farben / Pin-Zuordnung notieren, da Sie diese Informationen später benötigen). Ich habe folgende Farbkombination verwendet:

      • Gelb - Pin 0/Taste 1
      • Grau - Pin 1/Taste 2
      • Rot - Pin 2 /Taste 3
      • Blau - Pin 3 // Taste 4
      • Grün - Pin 4 // Taste 5
      • Weiß - Pin 5 // Taste 6
      • Schwarz - Pin 6 // Taste 7
    2. Streifen Sie 1/2 Zoll vom Ende jedes Drahtes ab.
    3. Schneiden Sie 7 Stück leitfähiges Band (jeweils etwa 1/2 Zoll breit) und löten Sie die Drähte an die Kupferseite des Bandes.
    4. Entfernen Sie die Klebefolie und kleben Sie sie auf die Unterseite der Tasten. Möglicherweise müssen Sie etwas Kupferband abschneiden.

    Hinweis: Die Keys können entweder von unten (so dass sie bündig mit der Oberseite abschließen) oder von oben geklebt werden (damit sie einige mm von oben "schwimmen"). Ich entschied mich, meine von oben zu kleben.

    Wenn Sie alle 7 abgeschlossen haben, verwenden Sie einen kleinen Klecks Kleber, um die Tasten auf der Tastatur zu befestigen. Ich finde es einfacher:

    • Zuerst "Schlange" den Draht durch das Schlüsselloch.
    • Dann einen kleinen Klecks Kleber auf den Grat/Rand des Schlüssels auftragen
    • Stecken Sie den Schlüssel schnell ein.

    Hinweis: Krazy Glue funktioniert hier am besten; Vielleicht möchten Sie Handschuhe tragen, um Unfälle und Hautreizungen zu vermeiden.

    Schritt 3: Komponenten löten/zusammenbauen - Teil B (Featherwings und Sensoren)

    Löt-/Montagekomponenten - Teil B (Featherwings und Sensoren)
    Löt-/Montagekomponenten - Teil B (Featherwings und Sensoren)
    Löt-/Montagekomponenten - Teil B (Featherwings und Sensoren)
    Löt-/Montagekomponenten - Teil B (Featherwings und Sensoren)
    Löt-/Montagekomponenten - Teil B (Featherwings und Sensoren)
    Löt-/Montagekomponenten - Teil B (Featherwings und Sensoren)

    Im nächsten Schritt werden die Hardwarekomponenten vorbereitet und montiert. Letztendlich bedeutet dies das Löten von Stiften und Drähten für die spätere Verwendung. In dieser Anleitung wird davon ausgegangen, dass Sie mit dem Löten vertraut sind. Wenn nicht, lesen Sie diesen "Guide to Excellent Soldering" von Adafruit.

    Zuerst bereiten wir Materialien vor. Für diesen Schritt benötigen Sie:

    • TFT 3.5 Federflügel
    • ESP32 Feder
    • INA219 Federflügel
    • Tripler-Federflügel
    • Kapazitiver Berührungssensor MPR121
    • BME680-Sensor
    • Gerade und rechtwinklige Stiftleisten
    • Massiv- und Litzendraht
    • Lötwerkzeuge und helfende Hände
    • Seitenschneider und Abisolierzange
    • Bremssättel

    Hinweis: Ich schlage vor, dass Sie zuerst diesen Schritt durchlesen und alle Ihre Drähte und Header schneiden, bevor Sie mit dem Löten beginnen. Auf diese Weise müssen Sie nicht anhalten, um zu messen / zu schneiden.

    Bereiten Sie den TFT 3.5 Featherwing vor

    Das TFT ist mit nur einer Einstellung sofort einsatzbereit. Sie müssen einen Draht zwischen dem "Lite" -Pad und einem Stiftlötpad löten. Unser Code verwendet ESP32 Pin 21 zur Steuerung des TFT lite. Ordnen Sie das TFT "lang" an, mit dem Reset-Knopf unten. Pin 21 ist der untere linke Pin.

    Schneiden Sie ein 40 mm langes Stück Litze ab. Die Enden so abisolieren, dass an jedem Ende einige Millimeter Draht sichtbar sind. Löten Sie mit Ihrem Lötkolben vorsichtig an beiden Pins.

    Hinweis: Sie benötigen nur etwa 35 mm Länge, damit Sie Ihren Draht nach Bedarf zuschneiden können. Außerdem finde ich, dass das Hinzufügen von Lötmittel zum Pad, dann zum Draht und dann zum Löten des Drahtes zum Pad der einfachste Ansatz ist. Schließlich - diese Pads sind klein… wenn Sie sich nicht wohl fühlen, können Sie diesen Schritt jederzeit überspringen: Er dient nur zum Ausschalten des TFT mit der Tastatur.

    Bereiten Sie die ESP32-Feder vor

    Sie müssen standardmäßige Stiftleisten an den ESP32 anlöten. Ihr ESP32 sollte mit den Headern geliefert werden, obwohl Sie sie möglicherweise zuschneiden müssen, um die richtige Länge zu erreichen (16 Pins an der langen Seite; 12 Pins an der kurzen Seite). Kopfstifte sind so konstruiert, dass sie "wegschnappen", sodass Sie die Kopfleisten mit Ihrem Seitenschneider auf die richtige Länge kürzen können. Auch hier hat Adafruit großartige Anweisungen, wie das geht, also schau es dir an, wenn du Anleitung brauchst.

    OPTIONAL - Bereiten Sie den INA219 Featherwing vor

    Zuerst die Stiftleisten an den Featherwing anlöten (mit den gleichen Anweisungen wie für den ESP32). Als nächstes schneiden Sie vier 20 mm lange Litzendrähte. Ich würde 2 SCHWARZ und die anderen eine andere Farbe machen. Ich habe GRAU und BLAU für meine Farbauswahl verwendet.

    Die Enden des Drahtes so abisolieren, dass an jedem Ende 3-4 mm Kupferdraht freiliegen. Sie werden jeden Draht wie folgt löten:

    • GRAU -> V+ (plus)
    • BLAU -> V- (minus)
    • SCHWARZ -> GND (Masse)
    • SCHWARZ -> GND (Masse)

    Lassen Sie die anderen Enden der Drähte zu diesem Zeitpunkt; wir werden sie schließlich an die DC 2.1-Stecker löten.

    Befestigen Sie den Piezo-Summer

    Der INA Featherwing kommt mit einem kleinen Prototyping-Bereich; Wir werden das verwenden, um unseren Piezo zu befestigen. Der Piezo wird unserem Projekt die Möglichkeit geben, Alarme, Alarme usw.

    Der Piezo verbindet sich mit ESP32 PIN 13; dies entspricht dem Pin neben dem USB-Pin am Featherwing (Pfeile siehe Bild). Der andere Piezo-Pin ist mit Masse verbunden. Die Pieze-Pins sind lang genug, um sie direkt an den Featherwing zu löten… Sie müssen die Pins nur in eine "Bow-legged Man"-Form biegen (siehe Bild). Sobald Sie die Stifte an Ort und Stelle haben, verwenden Sie eine helfende Hand (oder Klebeband), um den Piezo an Ort und Stelle zu halten, und löten Sie von der Unterseite des Federflügels.

    Hinweis - Wenn Sie den INA219 nicht verwenden, müssen Sie den Piezo direkt an die Federflügelplatine löten.

    Bereiten Sie den Tripler Featherwing vor

    Der Federflügel erspart uns viel Lötarbeit; Es kann 3 Federn / Federflügel aufnehmen … also verwenden wir es, um elektrische Verbindungen zwischen dem TFT, ESP32, INA219 (sowie dem Piezo und dem TFT Lite-Pin) herzustellen.

    Um die Verbindungen richtig herzustellen, müssen wir zwei Paar Stapelleisten und ein Paar Standard-Stiftleisten löten.

    • Die normalen Stiftleisten werden an der "oberen" Stelle angebracht, aber an der Unterseite des Triplers angelötet.
    • Die beiden Stacking Header werden an den Punkten 2 und 3 auf der Oberseite des Triplers gelötet.

    Dies ist ein wenig verwirrend, also sehen Sie sich die Bilder an, um zu verstehen, wo die einzelnen Header platziert sind. Außerdem kann eine Kombination aus einem PCB-Schraubstock und Helping Hands das Löten der Komponenten erheblich erleichtern.

    Bereiten Sie den BME 680-Sensor und den kapazitiven Berührungssensor MPR121 vor

    Die letzten beiden Sensoren sind am schwierigsten zu befestigen. Wir müssen Header-Pins an den Breakout-Platinen anbringen, bevor wir die Montage abschließen.

    Der BME-Sensor ist im 90-Grad-Winkel angebracht, damit ich den Sensor auf ein Loch im Gehäuse ausrichten kann (damit der Sensor Temperatur, Gas, Feuchtigkeit erfassen kann). Sie müssen rechtwinklige Stifte an die Löcher löten. Sehen Sie sich die Bilder an, um sicherzustellen, dass Sie sie richtig ausrichten.

    Der kapazitive Berührungssensor ist unkompliziert – löten Sie einfach gerade Steckerstifte, wie hier beschrieben. Hinweis: Sie sollten die Pins NICHT an die kapazitiven Touch-Pins (0 - 11) anlöten.

    Befestigen Sie die Sensoren BME 680 und MPR121 an der Tripler-Platine

    Beide Sensoren kommunizieren über I2C… was bedeutet, dass wir nur 4 Verbindungen zwischen den Breakout-Boards und dem Featherwing herstellen müssen. Der Einfachheit halber löte ich alle Verbindungen zwischen den Platinen.

    BME 680

    Für diesen Sensor verwende ich Helping Hands und einen PCB-Schraubstock, um beide Komponenten an Ort und Stelle zu halten (siehe Bild oben). Der BME680 Sensor sollte am Ende des Federflügels platziert werden. Sehen Sie sich die Bilder oben an, um die Platzierung zu bestätigen.

    Das Löten der Verbindungen ist mühsam, gehen Sie also langsam vor. Für die Verbindungen verwende ich Vollkerndraht:

      • SCHWARZ - GND
      • ROT - FIN
      • GELB - SCL (SCK-Pin am Sensor zum
      • ORANGE - SDA (SDA-Pin am Sensor)

    Hinweis: Die SCL- und SDA-Pins werden für beide Sensoren benötigt, daher ist es möglicherweise einfacher, einen SCL- oder SDA-Pin an einem anderen Teil des Featherwing zu verwenden.

    MPR121

    Hilfreiche Hände helfen auch beim Anlöten dieses Sensors (Band funktioniert auch). Der Code verwendet I2C für die Kommunikation mit dem ESP32, sodass Sie die SCA- und SDA-Pins verbinden.

    Schritt 4: Löt- / Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)

    Löt-/Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)
    Löt-/Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)
    Löt-/Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)
    Löt-/Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)
    Löt-/Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)
    Löt-/Montagekomponenten - Teil C (Tastatur zum kapazitiven Sensor und Feathewing im Gehäuse)

    In diesem Schritt löten Sie die Drähte von der Tastatur an den kapazitiven Berührungssensor. Verwenden Sie dieselbe Farbzuordnung wie zuvor. Wenn Sie meinem Farbschema gefolgt sind, werden Sie die farbigen Drähte wie folgt löten:

    • Gelb - Pin 0/Taste 1
    • Grau - Pin 1/Taste 2
    • Rot - Pin 2 /Taste 3
    • Blau - Pin 3 /Taste 4
    • Grün - Pin 4/Taste 5
    • Weiß - Pin 5/Taste 6
    • Schwarz - Pin 6/Taste 7

    Verwenden Sie nach dem Löten einen Twisty-Tie, um die Drähte an Ort und Stelle zu halten.

    Schrauben Sie als nächstes den TFT-Bildschirm an das "Front"-Stück. Sie verwenden die M3-Schrauben (insgesamt vier). Sobald das TFT angebracht ist, schrauben Sie das "Front"-Stück an das Gehäuse. Auch hier verwenden Sie M3-Schrauben (zwei).

    Stecken Sie als nächstes den Featherwing Tripler mit allen angeschlossenen Komponenten an das TFT.

    Hinweis - Wenn Sie eine Batterie verwenden möchten, stecken Sie diese unbedingt in den ESP32-JST-Port ein, bevor Sie das TFT einsetzen. Verwenden Sie Klebeband, um den Akku an der Innenseite des Gehäusebodens zu befestigen.

    Schritt 5: OPTIONAL - Löt- / Montagekomponenten - Teil D (INA219-Feder)

    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)
    OPTIONAL – Löt-/Montagekomponenten – Teil D (INA219 Feder)

    Wenn Sie den Sensor INA219 verwenden, verbinden Sie hier die Drähte mit den DC-Steckern.

    1. Stecken Sie die DC-Stecker in die rückseitige Abdeckung und schrauben Sie sie fest.
    2. Verwenden Sie einen Lötkolben, um die INA219-Drähte anzuschließen.

      • Die schwarzen Drähte sollten für jeden DC-Stecker auf Masse gelegt werden.
      • Das graue Kabel sollte zum INPUT DC-Stecker gehen
      • Das blaue Kabel sollte zum OUTPUT-Stecker führen.

    Schritt 6: Rückseitige Abdeckung anschrauben und USB einstecken

    Der letzte Schritt bei der Hardware-Montage besteht darin, die hintere Abdeckung festzuschrauben – mit M2-Schrauben (4). Schließen Sie von dort das USB-Kabel an, schließen Sie es an Ihren PC an und fahren Sie mit den Softwareschritten fort!

    Schritt 7: AWS-Umgebung vorbereiten

    AWS-Umgebung vorbereiten
    AWS-Umgebung vorbereiten

    Wie ich im Intro erwähnt habe, ist die Prämisse der Lösung wie folgt:

    1. Das von einem ESP32 betriebene Terminal verwendet eine MQTT-Verbindung (über Wifi) für die Kommunikation mit der AWS-Cloud.
    2. Die AWS-Cloud übernimmt den Großteil der Verarbeitung und dient als Relais zwischen dem Monitor und den angeforderten Diensten.

    In diesem Schritt müssen wir einige Dinge tun:

    Zuerst müssen Sie Ihre AWS-Umgebung einrichten, falls noch nicht geschehen. Diese Anleitung geht davon aus, dass Sie bereits ein AWS-Konto eingerichtet haben, daher sind Anweisungen zum Einrichten eines Cloud-Kontos nicht enthalten. Davon abgesehen sind die Schritte einfach und finden Sie hier.

    Sobald Sie diesen Schritt hinter sich haben, müssen Sie einige Services erstellen. Melden Sie sich also bei der AWS-Konsole an.

    Ein Ding erstellen und Schlüssel herunterladen

    AWS IoT Core erleichtert die Kommunikation zwischen der AWS-Cloud und dem Display. Sie müssen ein "Ding" erstellen und Zertifikate herunterladen, um die Kommunikation zu unterstützen.

    [Anmerkung: Die meisten dieser Anweisungen wurden einem Leitfaden entnommen, der von Moheeb Zara, AWS Evangelist, geschrieben wurde]

    1. Öffnen Sie die AWS-Konsole und wählen Sie AWS IoT Core aus.
    2. Wählen Sie in der AWS IoT-Konsole Registrieren Sie ein neues Ding, Erstellen Sie ein einzelnes Ding.
    3. Nennen Sie das neue Ding "starTrekESP32". Belassen Sie die restlichen Felder auf den Standardwerten. Wählen Sie Weiter.
    4. Wählen Sie Zertifikat erstellen. Für die Verbindung des ESP32 sind nur die Downloads von Ding-Zertifikat, privatem Schlüssel und Amazon Root CA 1 erforderlich. Laden Sie sie herunter und speichern Sie sie an einem sicheren Ort, da sie bei der Programmierung des ESP32-Geräts verwendet werden.
    5. Wählen Sie Aktivieren, Richtlinie anhängen.
    6. Überspringen Sie das Hinzufügen einer Richtlinie und wählen Sie Ding registrieren.
    7. Wählen Sie im Seitenmenü der AWS IoT-Konsole Secure, Policies, Create a policy.
    8. Benennen Sie die Richtlinie AllowEverything. Wählen Sie die Registerkarte Erweitert.
    9. Fügen Sie die folgende Richtlinienvorlage ein.
    10. { { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iot:*", "Resource": "*" }] }
    11. Wählen Sie Erstellen. (Hinweis: Dies wird nur für den Anfang empfohlen. Nachdem Sie sich mit der Funktionsweise vertraut gemacht haben, gehen Sie bitte zurück und ändern Sie dies in etwas restriktiveres.)
    12. Wählen Sie in der AWS IoT-Konsole Secure, Certification.
    13. Wählen Sie die für Ihr Gerät erstellte aus und wählen Sie Aktionen, Richtlinie anhängen.
    14. Wählen Sie Alles zulassen, Anhängen.
    15. Bevor Sie gehen, klicken Sie auf "Einstellungen" (im linken Menü). Ihr "benutzerdefinierter Endpunkt" wird angezeigt; Speichern Sie das in einer Textdatei … Sie benötigen es, wenn Sie den ESP32 konfigurieren.

    Erstellen Sie eine leere Lambda-Datei

    Lambda ist eine Form von serverlosem Computing, daher müssen wir uns hier um keine Hardware kümmern. Letztendlich platzieren wir hier unseren aktualisierten Code (was wir in wenigen Schritten tun werden). Im Moment möchten wir nur einen Platzhalter erstellen, also…

    1. Melden Sie sich wieder bei der AWS-Konsole an (wenn Sie sich abgemeldet haben) und klicken Sie auf Lambda.
    2. Klicken Sie auf die Schaltfläche "Funktion erstellen".
    3. Geben Sie auf der nächsten Seite einen einfachen Namen ein, z. B. starTrekDisplay
    4. Wählen Sie Node.js 12. X aus
    5. Unter Berechtigungen:

      • Wenn Sie sich in Lambda auskennen und damit vertraut sind, können Sie jede sinnvolle Option auswählen. Sie benötigen Berechtigungen für CloudWatch, IotCore, S3 (Lesen und Schreiben).
      • Wenn Sie sich bei den Berechtigungen nicht sicher sind, wählen Sie "Neue Rolle mit grundlegenden Lambda-Berechtigungen erstellen". Schreiben Sie den Namen der Rolle auf. Später werden wir die Berechtigungen ändern.
    6. Klicken Sie auf Funktion erstellen.
    7. Nach einer Minute öffnen Sie einen neuen Bildschirm mit einem "Hallo Welt"-Code-Snippet. Scrollen Sie nach unten zu den Grundeinstellungen und klicken Sie auf "Bearbeiten".
    8. Ändern Sie das Timeout von 3 Sekunden auf 2 Minuten und 0 Sekunden. Hinweis: Ihr Code sollte nie länger als 5-10 Sekunden laufen… allerdings benötigen wir für Ihre Erstauthentifizierung bei Microsoft (für Kalenderfunktionalität) eine längere Zeitüberschreitung. Sobald Sie sich authentifiziert haben, können Sie dies auf 20 Sekunden ändern.
    9. Klicken Sie auf Speichern.

    Erstellen Sie eine Iot-Regel

    1. Bleiben Sie in der Lambda-Konsole und scrollen Sie nach oben. Wählen Sie "Trigger hinzufügen".
    2. Wählen Sie AWS IoT aus. Wählen Sie dann "Benutzerdefinierte Regel".
    3. Wählen Sie "Neue Regel erstellen".

      • Regelname: ESP-Verbindung
      • Regelabfrageanweisung: "SELECT * FROM 'starTrekDisplay/pub'
    4. Klicken Sie auf "Hinzufügen"

    Erstellen Sie einen S3-Bucket und -Ordner

    1. Navigieren Sie zur AWS-Konsole und wählen Sie S3.
    2. Sie benötigen einen Bucket und einen Ordner, um Authentifizierungsdateien zu speichern. Dieser Ordner sollte privat sein. Ich schlage vor, dass Sie einen beliebigen Bucket verwenden, den Sie bereits haben, und einen Ordner namens "starTrekDisplay" erstellen. Hinweis: Wenn Sie keinen Bucket haben, erstellen Sie einen anhand der Anweisungen hier.

    Berechtigungen aktualisieren – Wenn Sie Lambda erlaubt haben, eine Rolle für Sie zu erstellen, müssen Sie diesen Schritt ausführen

    1. Melden Sie sich bei der AWS-Konsole an und wählen Sie IAM
    2. Klicken Sie auf ROLES, und wählen Sie dann den Rollennamen aus, den Sie zuvor erstellt haben.
    3. Klicken Sie auf Richtlinien anhängen und wählen Sie dann die folgenden Richtlinien aus:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Schritt 8: Softwareschlüssel herunterladen und Dienste von Drittanbietern einrichten

    Softwareschlüssel herunterladen und Dienste von Drittanbietern einrichten
    Softwareschlüssel herunterladen und Dienste von Drittanbietern einrichten

    Ich nutze im Projekt folgende Dienste von Drittanbietern:

    1. Weltzeit-API - für die Zeit
    2. APIs des National Weather Service - für das Wetter
    3. Microsoft Graph API für den Zugriff auf meinen Kalender
    4. Google Fitness API für den Zugriff auf Fitnessinformationen

    Sie müssen Konten einrichten und Schlüssel herunterladen, um dieselben Dienste nutzen zu können

    Weltzeit-API - für die Zeit

    Diese API erfordert keinen Schlüssel, daher ist keine Aktion erforderlich, damit dies funktioniert.

    APIs des National Weather Service - für das Wetter

    Die API des National Weather Service ist kostenlos und es ist kein API-Schlüssel erforderlich. Sie verlangen jedoch, dass Sie in jeder Anfrage (als Teil der Header-Datei) Kontaktinformationen (in Form einer E-Mail) mitgeben. Im nächsten Schritt fügen Sie dem Code Kontaktinformationen hinzu.

    OPTIONAL – Microsoft Graph-API und Google Fitness-API

    Dies ist der komplexeste Teil des Code-Setups. Unser Gerät hat keine vollwertige Tastatur… daher verwenden wir etwas namens OAUTH for Limited Devices, um auf unseren Kalender zuzugreifen. Leider müssen Sie eine Azure-App und eine Google-App erstellen, damit Ihr Code OAUTH für eingeschränkte Geräte verwenden kann.

    Anweisungen zum Erstellen einer App finden Sie hier für Microsoft und hier für Google. Hier sind ein paar Dinge, die Sie wissen sollten:

    • Sie müssen ein Azure- und ein Google-Cloud-Konto erstellen. Dies ist kostenlos und es wird Ihnen nichts berechnet
    • Microsoft:

      • Sie werden aufgefordert, anzugeben, welche Benutzer die App verwenden können. Ich schlage vor, dass Sie "Konten in einem beliebigen Unternehmensverzeichnis und persönliche Microsoft-Konten" auswählen. Auf diese Weise können Sie (in den meisten Fällen) persönliche Microsoft-Konten und Unternehmenskonten verwenden.
      • Sie sollten "Mobile und Desktop"-Anwendungen auswählen, müssen jedoch nicht alle Informationen ausfüllen (da es sich um eine persönliche App handelt). Das bedeutet, dass Sie Ihre App nicht der Welt zur Verfügung stellen können…. aber das ist in diesem fall ok
      • Sobald Ihre App eingerichtet ist, müssen Sie die erforderlichen Berechtigungen auswählen. Ich habe nach Berechtigungen für Profile und Kalender gefragt (die vollständige Liste der Berechtigungen finden Sie im Bild in der Galerie). Sie müssen dasselbe Set auswählen. Wenn Sie weitere Berechtigungen hinzufügen, müssen Sie im nächsten Schritt den Bereich entsprechend ändern.

    Schritt 9: AWS-Code ändern und hochladen

    Diese Anleitung setzt voraus, dass Sie mit der Node.js-Entwicklung und Lambda vertraut sind. Laden Sie die verknüpfte Datei herunter und nehmen Sie Änderungen zum Aktualisieren vor:

    • Informationen zu Microsoft-App und -Client
    • Google-Schlüssel
    • E-Mail-Adresse für die Verfolgung des nationalen Wetterdienstes
    • S3-Bucket-Name
    • S3-Ordnername
    • AWS-Endpunkt

    Außerdem müssen Sie die folgenden Knotenbibliotheken herunterladen:

    1. aws-sdk
    2. Moment-Zeitzone
    3. Akzente

    Nachdem diese Änderungen vorgenommen wurden, laden Sie den Code in das zuvor erstellte Platzhalter-Lambda hoch.

    Schritt 10: Arduino-IDE vorbereiten und Bibliotheken herunterladen

    In dieser Anleitung wird auch davon ausgegangen, dass Sie mit Arduino vertraut sind. Sie müssen sicherstellen, dass Ihre IDE für die Arbeit mit einem Adafruit ESP32 eingerichtet ist. Befolgen Sie die Anweisungen hier, wenn Sie Hilfe benötigen.

    Sobald dies abgeschlossen ist, laden Sie die folgenden Bibliotheken herunter:

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

    Als nächstes müssen wir einige der Bibliotheken ändern:

    1. Öffnen Sie den PubSubClient-Ordner (im Arduino/Library-Ordner) und öffnen Sie " PubSubClient.h ". Suchen Sie den Wert für MQTT_MAX_PACKET_SIZE und ändern Sie ihn in 2000.
    2. Öffnen Sie als nächstes den Ordner TFT_eSPI und öffnen Sie die Datei " User_Setup_Select.h". Kommentieren Sie alle "includes users_setup…"-Zeilen aus und fügen Sie diese Zeile hinzu:

    #enthalten

    Laden Sie anschließend die verknüpfte Datei Custom_Tricorder.zip herunter und entpacken Sie die Datei „.h“in den Speicherort „TFT_eSPI / User_Setups“in Ihrem Arduino-Bibliotheksordner. ich

    Jetzt können wir mit der Aktualisierung des Arduino-Codes fortfahren

    Schritt 11: Aktualisieren und installieren Sie Arduino-Code und engagieren Sie sich

    Aktualisieren und installieren Sie Arduino-Code und engagieren Sie sich!
    Aktualisieren und installieren Sie Arduino-Code und engagieren Sie sich!

    Arduino-Code

    Laden Sie die verlinkte Datei für den Arduino-Code herunter und entpacken Sie sie. Gehen Sie zur Registerkarte secrets.h. Sie müssen Folgendes aktualisieren:

    • WIFI_SSID = aktualisiere mit deiner WLAN-SSID
    • WIFI_PASSWORD = mit Ihrem WLAN-Passwort aktualisieren
    • TIMEZONE = aktualisiere mit deiner Zeitzone aus dieser Liste
    • LAT (Sie können einen Dienst wie "https://www.latlong.net" verwenden, um Ihren Breiten- und Längengrad zu finden
    • LNG
    • AWS_IOT_ENDPOINT = Sie hätten dies von früher speichern sollen. Es sollte wie folgt aussehen: "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Sie haben auch die Zertifikate aus einem früheren Schritt heruntergeladen. Öffnen Sie dann im Notizen-Editor (z. B. Notepad) und fügen Sie den Text zwischen dem ' R"EOF(' und ')EOF";'. Geben Sie "-----BEGIN CERTIFICATE-----" oder "-----BEGIN RSA PRIVATE KEY-----" ein.

    Bilddateien

    Der ESP32 kommt mit einem kleinen Dateisystem. Wir verwenden dieses Dateisystem, um Bilder für unser Programm zu speichern. Sie müssen das Tool installieren, mit dem Sie Dateien hochladen können.

    1. Besuchen Sie zunächst das ausführliche Tutorial zu Random Nerd Tutorials.
    2. Sobald dies funktioniert, können Sie die Dateien in den Datenordner hochladen (auch in der ZIP-Datei enthalten).

    Anheuern

    Laden Sie den endgültigen Arduino-Code hoch und fertig!

    Hinweis - Der Star Trek-Name und die Star Trek-Bilder sind Eigentum von CBS/Paramount. Sie haben eine ziemlich laxe Politik in Bezug auf Cosplay und Fanfiction - bitte lesen Sie hier, wenn Sie Fragen haben.

    Fandom-Wettbewerb
    Fandom-Wettbewerb
    Fandom-Wettbewerb
    Fandom-Wettbewerb

    Erster Preis beim Fandom-Wettbewerb

    Empfohlen: