Taula de continguts:

Fes-ho així! Ordinador Star Trek TNG Mini Engineering: 11 passos (amb imatges)
Fes-ho així! Ordinador Star Trek TNG Mini Engineering: 11 passos (amb imatges)

Vídeo: Fes-ho així! Ordinador Star Trek TNG Mini Engineering: 11 passos (amb imatges)

Vídeo: Fes-ho així! Ordinador Star Trek TNG Mini Engineering: 11 passos (amb imatges)
Vídeo: This Home is Abandoned for 2 Decades and Everything Still Works! 2024, De novembre
Anonim
Image
Image
Fes-ho així! Mini ordinador d’enginyeria Star Trek TNG
Fes-ho així! Mini ordinador d’enginyeria Star Trek TNG
Fes-ho així! Mini ordinador d’enginyeria Star Trek TNG
Fes-ho així! Mini ordinador d’enginyeria Star Trek TNG

Visió general

Vaig créixer veient Star Trek: la següent generació. Sempre he volgut construir un dispositiu amb temàtica Star Trek, així que finalment em vaig posar a remesclar un dels meus antics projectes per fer una terminal de visualització de Star Trek.

El terminal proporciona la informació següent:

  • El temps: mitjançant el Servei Meteorològic Nacional
  • Temperatura interior, humitat i força del compost orgànic volàtil (COV)
  • Articles de notícies - de News.org
  • Programa (amb funció d'alarma): des de Microsoft Outlook
  • Informació sobre fitness (passos, minuts de moviment, punts cardíacs, pes, calories cremades): de Google Fitness
  • un gràfic de codis de colors de Resistor
  • una calculadora de resistències LED (per determinar el valor de la resistència en funció del corrent i de la font)
  • Eina de mesura de corrent i potència

Aquesta informació es posa a disposició mitjançant una combinació d’APIs i sensors de maquinari. Aprofito un ESP32 per al microcontrolador i aprofito AWS Cloud per a tota la recopilació i agregació de dades.

També he inclòs alguns "ous de Pasqua":

  • Homenatge a Ron McNair: el doctor McNair és la raó per la qual em vaig convertir en enginyer; va créixer a 45 minuts de la meva ciutat natal. Va morir en l'explosió del Challenger.

    • El nom del meu vaixell estrella és el "USS Ronald E McNair"
    • El número de registre és de la data de naixement de Sr McNair; el Prefix Code és el dia que va perdre la vida.
  • L'ús d'un "codi de prefix" és un cap d'ullet a Star Trek: Wrath of Khan (la millor pel·lícula de Star Trek de tots els temps; no em feu).
  • Els números de la dreta del cas terminal es refereixen a la meva fraternitat (1906 - Alpha Phi Alpha) i a la meva ànima mare i camp d'estudi - (Universitat d'Oklahoma, Col·legi d'Enginyeria)

Teniu l'opció de personalitzar la numeració, les lletres i el nom del vaixell, registre, etc. per als vostres propis "ous de Pasqua".

Antecedents

L’any passat, vaig necessitar una manera de baix cost per mesurar l’energia i l’esgotament de la bateria per a un projecte usable. Vaig comprar un Adafruit INA219 Featherwing i vaig utilitzar algunes peces de recanvi diverses per construir un senzill dispositiu de mesurament de potència (podeu llegir-ne més informació aquí).

Aquest any, vaig decidir actualitzar el dispositiu … per fer-lo més "tecnològic". Originalment tenia previst construir un tricorder Star Trek que funcionés (la versió Mark IV TR-590 Mark IX, per a aquells que els importa) … però em vaig adonar ràpidament que tenia més sentit crear alguna cosa que pogués seure al meu escriptori (vull dir, per què vés a tots aquests problemes per fer un dispositiu fresc, només per tancar-lo i posar-lo en un calaix quan no s’utilitzi).

Per tant, em vaig dedicar a fer una versió de les pantalles de l'ordinador que veieu a Star Trek TNG o Voyager (o a les diverses pel·lícules). Vaig jugar amb diferents dissenys i després vaig trobar una versió creada pels germans Ruiz d’Adafruit. Adafruit fa un gran treball proporcionant fitxers font per als seus projectes impresos en 3D, de manera que vaig poder agafar la seva versió original i remesclar-la per al meu maquinari, botons i altres perifèrics.

Coses que cal saber abans de continuar

  1. Proporciono instruccions pas a pas per fer la meva versió del projecte; tanmateix, no entro en detalls sobre determinats passos (enllaçaré a instruccions o documentació justificativa)
  2. Es tracta d’un projecte complex. És una "marca multidisciplinària" que requereix les següents habilitats

    • IDE Arduino
    • AWS: necessitareu un compte i haureu d’entendre S3, Lambda i Node JS
    • Soldadura
    • Impressió 3D
  3. Hi ha opcions addicionals opcionals per millorar el projecte i obtenir informació sobre Calendar i Fitness. La funcionalitat està inclosa a la base de codis; tanmateix, haureu de crear "aplicacions" als núvols Azure i Google per donar suport a les funcions.
  4. En última instància, es pot personalitzar … podeu canviar el sensor de corrent per un altre featherwing. Podeu utilitzar una combinació de ploma / wifi diferent.

Subministraments

Components electrònics

  • Adafruit ESP32 Huzzah Feather
  • Mini kit Adafruit Featherwing Tripler
  • Sensor tàctil capacitiu de 12 tecles Adafruit
  • Adafruit TFT FeatherWing: pantalla tàctil de 3,5 "480x320
  • Adafruit BME680 - Sensor de temperatura, humitat, pressió i gas
  • Connector de barril de muntatge DC 2,1 (2)
  • Bateria de polímer de ions de liti - 3,7 V 500 mAh
  • Piezo Buzzer
  • Cable USB Mirco i carregador de 5 V (funcionarà un carregador de telèfon USB típic)
  • Cinta de làmina de coure amb adhesiu
  • Opcional: Adafruit INA219 Featherwing
  • Opcional - Connectors macho 2.1 - (per utilitzar amb el sensor de corrent INA219)

Enllaç a tots els components electrònics excepte els endolls 2.1:

Components de filaments 3D i components opcionals de pintura / poliment

  • Proto Pasta Conductor PLA
  • Filaments 3D addicionals: he utilitzat 4 colors: gris, negre, aqua (blau clar) i blanc
  • Broquets de 0,25 i 0,4 mm (he utilitzat el 0,25 per als detalls de les lletres).

Components i eines de muntatge de maquinari

  • Cargols M2x5 i M3x5
  • Pins de capçalera d'angle recte i recte (veure enllaços a la llista de desitjos d'Adafruit)
  • Soldador (i bobina de soldadura, llauna de punta, ventosa de soldadura, etc.)
  • Kit de tornavís de capçal de Philips
  • Retràctil
  • Filferro 22AWG: cinc o sis colors
  • Solid Wire 22AWG: cinc o sis colors
  • Torn de PCB i mans auxiliars (opcional, però facilita la soldadura)
  • Talladors de fils diagonals
  • Decapants de filferro
  • Ganivet Xacto (per eliminar suports de les parts de la impressora 3D)
  • Impressora 3D (si teniu previst imprimir vosaltres mateixos)
  • Massilla o cinta adhesiva (per fixar la bateria a l'interior de la caixa impresa)
  • Pinxes digitals
  • Krazy Glue
  • Opcional: guants d’un sol ús de nitril
  • Opcional: estora de soldadura (opcional, però protegeix les superfícies)

Nota: si no teniu aquestes eines, us suggerim que consulteu el lloc de Becky Stern per obtenir recomanacions sobre bones opcions.

Programari

  • IDE Arduino
  • Editor de node JS (com Microsoft Code)
  • Compte AWS
  • Opcional: compte de Google Cloud (per obtenir informació sobre fitness)
  • Opcional: compte del núvol de Microsoft Azure (per obtenir informació del calendari)
  • Pas 1: baixeu, modifiqueu fitxers i imprimiu fitxers 3D

    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D
    Baixeu, modifiqueu fitxers i imprimiu fitxers 3D

    Podeu enviar els fitxers a un servei d’impressió 3D (com ara 3D Hubs) o podeu imprimir el vostre. Els fitxers estan disponibles a PrusaPrinters.org.

    Aquest cas és una remescla del despertador Py Portal que apareix al lloc web Adafruit. El meu projecte utilitza un TFT similar, de manera que vaig poder minimitzar la quantitat de treballs de disseny necessaris per fer funcionar el cas amb els meus accessoris.

    He utilitzat la configuració següent per imprimir:

    • Impressió frontal i posterior a 0,2 mm d'alçada de capa amb un broquet de 0,4 mm, sense suports
    • Número lateral: imprès a una altura de capa de 0,10 mm amb un broquet de 0,25 mm, sense suports
    • Tecles: impreses a una alçada de capa de 0,2 mm amb un broquet de 0,4 mm. Haureu d’imprimir 7 i haurà d’imprimir amb filament conductor Proto-Pasta.
    • Funda: impresa a 0,2 mm d'alçada de la capa.

      Els suports són necessaris, però no són necessaris a tot arreu (només als laterals i al centre on es troba el teclat)

    Algunes coses que heu de saber:

    1. El Prusa MK3 us permet canviar els colors a diferents altures de la capa. He utilitzat aquesta funció per a la peça de número lateral.
    2. També, pel que fa a la peça de número lateral:

      • L’equip de producció de Star Trek TNG escamparia ous de Pasqua als accessoris. Si mireu de prop diverses plaques i taulers, veureu noms de persones, lletres de cançons, etc. Volia crear el meu propi "ou de Pasqua" per al número lateral, de manera que utilitzo "06", que fa referència a la meva fraternitat (creat el 1906) i "OUCOE", que fa referència a la meva alma mater (Universitat d'Oklahoma, Col·legi d'Enginyeria).
      • He creat una peça de número lateral en blanc que podeu modificar per crear el vostre propi número i text personalitzats.

    Pas 2: soldar / muntar components: part a (teclat i número lateral)

    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)
    Components de soldadura / muntatge: part a (teclat i número lateral)

    En primer lloc, afegirem el número lateral. Utilitzeu una mica de cola per col·locar el número lateral al seu lloc.

    A continuació, muntarem el teclat

    1. Haureu de tallar 7 trossos de filferro varat, cadascun d’entre 10 i 12 polzades de longitud. Es connectaran als pins 0-6 del sensor tàctil capacitiu. Us proposo que feu servir diferents colors (i que escriviu els colors / mapes dels pins, ja que necessitareu aquesta informació més endavant). He utilitzat la combinació de colors següent:

      • Groc: pin 0 / botó 1
      • Gris: pin 1 / botó 2
      • Vermell: pin 2 / botó 3
      • Blau: Pin 3 // Botó 4
      • Verd - Pin 4 // Botó 5
      • Blanc - Pin 5 // Botó 6
      • Negre: Pin 6 // Botó 7
    2. Tireu 1/2 polzada des de l'extrem de cada filferro.
    3. Tallar 7 trossos de cinta conductora (cadascun d’uns 30 cm d’amplada) i soldar els cables al costat de coure de la cinta.
    4. Traieu el suport adhesiu i enganxeu-los a la part inferior de les claus. És possible que hagueu de retallar part de la cinta de coure.

    Nota: les claus es poden enganxar des de la part inferior (de manera que queden a ras de la part superior) o s’enganxin des de la part superior (de manera que "flotin" uns quants mm de la part superior). Vaig optar per enganxar la meva des de dalt.

    Un cop hàgiu completat els 7, feu servir una petita cola per col·locar les tecles al teclat. Em resulta més fàcil:

    • Primer "serp" el filferro a través del forat de la clau.
    • A continuació, poseu una mica de cola a la carena / vora de la clau
    • Col·loqueu la clau ràpidament al seu lloc.

    Nota: Krazy Glue funciona millor aquí; és possible que vulgueu utilitzar guants per limitar els accidents i les possibilitats d’irritació de la pell.

    Pas 3: soldar / muntar components: part B (ales de ploma i sensors)

    Components de soldadura / muntatge: part B (ales de ploma i sensors)
    Components de soldadura / muntatge: part B (ales de ploma i sensors)
    Components de soldadura / muntatge: part B (ales de ploma i sensors)
    Components de soldadura / muntatge: part B (ales de ploma i sensors)
    Components de soldadura / muntatge: part B (ales de ploma i sensors)
    Components de soldadura / muntatge: part B (ales de ploma i sensors)

    El següent pas és preparar i muntar els components del maquinari. En última instància, això significa soldar passadors i cables per a un ús posterior. Aquesta guia suposa que us sentiu còmode amb la soldadura; en cas contrari, consulteu aquesta "Guia de soldadura excel·lent" d'Adafruit.

    Primer prepararem materials. Per a aquest pas, necessitareu:

    • TFT 3.5 Featherwing
    • ESP32 Ploma
    • INA219 Featherwing
    • Tripler Featherwing
    • Sensor tàctil capacitiu MPR121
    • Sensor BME680
    • Pins de capçalera d'angle recte i recte
    • Filferro sòlid i encallat
    • Eines de soldar i ajudar a les mans
    • Talladors de filferro i desfilats diagonals
    • Pinxes

    Nota: Us recomano que primer llegiu aquest pas i que us talleu tots els cables i capçaleres abans de començar a soldar. D’aquesta manera, no us haureu d’aturar per mesurar / tallar.

    Prepareu el TFT 3.5 Featherwing

    El TFT es pot utilitzar fora de la caixa amb l'únic ajust. Haureu de soldar un cable entre el coixinet "Lite" i un coixinet de soldadura de pins. El nostre codi utilitza el pin 21 ESP32 per controlar el TFT lite. Organitzeu el TFT de manera "llarga", amb el botó de reinici a la part inferior. El pin 21 serà el pin inferior esquerre.

    Talleu un tros de filferro encallat de 40 mm. Tireu els extrems de manera que apareguin uns quants mil·límetres de filferro a cada extrem. Amb el soldador, soldeu amb cura els dos passadors.

    Nota: només necessiteu uns 35 mm de llargada, de manera que podeu retallar el cable segons calgui. A més, trobo que afegir soldadura al coixinet, després al cable, i després soldar el cable al coixinet és l’enfocament més fàcil. Finalment, aquests coixinets són petits … si us sentiu incòmode, sempre podeu ometre aquest pas: només és per apagar el TFT amb el teclat.

    Prepareu el ESP32 Feather

    Haureu de soldar els passadors de capçalera masculins estàndard a l’ESP32. El vostre ESP32 hauria de venir amb les capçaleres, tot i que és possible que hagueu de retallar-les per arribar a la longitud correcta (16 pins al costat llarg; 12 pins al costat curt). Els passadors de capçalera estan fets per "separar-se", de manera que podeu utilitzar els talladors diagonals per retallar els capçalers a la longitud correcta. Una vegada més, Adafruit té bones instruccions sobre com fer-ho, així que consulteu-ho si necessiteu orientació.

    OPCIONAL: prepareu l'INA219 Featherwing

    En primer lloc, soldeu capçaleres masculines a l’ala de plomes (seguint les mateixes instruccions que les utilitzades per a l’ESP32). A continuació, talla quatre fils de 20 mm de longitud. Faria 2 NEGRES i els altres d’un color diferent. Vaig utilitzar GRIS i BLAU per a les meves opcions de color.

    Tireu els extrems del fil de manera que quedin exposats 3-4 mm de fil de coure a cada extrem. Soldareu un de cada cable de la manera següent:

    • GRIS -> V + (més)
    • BLAU -> V- (menys)
    • NEGRE -> GND (terra)
    • NEGRE -> GND (terra)

    Deixeu els altres extrems dels cables en aquest moment; finalment els soldarem als endolls DC 2.1.

    Connecteu el Piezo Buzzer

    L'INA Featherwing inclou una petita àrea de prototipatge; ho utilitzarem per adjuntar el nostre piezo. El piezo donarà al nostre projecte la possibilitat de sonar i sonar alertes, alarmes, etc.

    El piezo es connecta a ESP32 PIN 13; això es correlaciona amb el pin situat al costat del pin USB de la ploma (vegeu la imatge per a les fletxes). L’altre pinçó piezo es connecta a terra. Els passadors pieze són prou llargs per soldar-los directament a la ploma … només caldrà doblegar els passadors en forma d’home amb potes d’arc (veure imatge). Un cop tingueu els passadors al seu lloc, feu servir una mà (o una cinta adhesiva) per mantenir el piezo al seu lloc i soldeu-lo des de la part inferior de la ploma.

    Nota: si no utilitzeu l'INA219, haureu de soldar el piezo directament al tauler de plomes.

    Prepareu el Tripler Featherwing

    La ploma ens estalvia molta soldadura; pot contenir 3 plomes / aletes de ploma … així que la farem servir per fer connexions elèctriques entre el TFT, ESP32, INA219 (així com el piezo i el pin TFT Lite).

    Per fer les connexions correctament, haurem de soldar dos parells de capçaleres apilables i un parell de capçaleres masculines estàndard.

    • Les capçaleres masculines habituals continuaran al lloc "superior", però es soldaran a la part inferior del Tripler.
    • Les dues capçaleres d'apilament es soldaran als punts 2 i 3, a la part superior del Tripler.

    Això és una mica confús, així que assegureu-vos de mirar les imatges per entendre on es col·loca cada capçalera. A més, una combinació d’un torn de PCB i mans auxiliars pot ajudar molt a soldar els components.

    Prepareu el sensor BME 680 i el sensor tàctil capacitiu MPR121

    Els dos darrers sensors són els més difícils de connectar. Abans de finalitzar el muntatge, hem de fixar els passadors de capçalera als taulers de sortida.

    El sensor BME està connectat en un angle de 90, de manera que puc alinear el sensor a un forat de la caixa (de manera que el sensor pugui captar temperatura, gas, humitat). Haureu de soldar els passadors d’angle recte amb els forats. Consulteu les imatges per assegurar-vos que les alineeu correctament.

    El sensor tàctil capacitiu és senzill, només cal soldar els pins dels connectors masculins rectes, tal com es descriu aquí. Nota: NO HAUREU de soldar els pins als pins capacitius tàctils (0-11).

    Connecteu els sensors BME 680 i MPR121 a la placa Tripler

    Tots dos sensors es comuniquen mitjançant I2C … el que significa que només necessitem fer 4 connexions entre les plaques de ruptura i el Featherwing. Per simplicitat, he soldat totes les connexions entre els taulers.

    BME 680

    Per a aquest sensor, faig servir Helping Hands i un torn de PCB per mantenir els dos components al seu lloc (vegeu la imatge superior). El sensor BME680 s’ha de col·locar al final de l’ala ploma. Consulteu les imatges anteriors per confirmar la ubicació.

    El procés de soldar les connexions és tediós, així que aneu lentament. Utilitzo filferro de nucli sòlid per a les connexions:

      • NEGRE - GND
      • VERMELL - VIN
      • GROC - SCL (pin SCK del sensor cap al
      • TARONJA - SDA (pin SDA al sensor)

    Nota: Els pins SCL i SDA són necessaris per a tots dos sensors, de manera que pot ser més fàcil utilitzar un pin SCL o SDA en una altra part de Featherwing.

    MPR121

    Ajudar les mans també ajuda a soldar aquest sensor al seu lloc (la cinta també funciona). El codi utilitzava I2C per a la comunicació amb l’ESP32, de manera que connectareu els pins SCA i SDA.

    Pas 4: soldar / muntar components: part C (teclat del sensor capacitiu i funció en cas)

    Components de soldadura / muntatge: part C (teclat del sensor capacitiu i característica en cas)
    Components de soldadura / muntatge: part C (teclat del sensor capacitiu i característica en cas)
    Components de soldadura / muntatge: part C (teclat del sensor capacitiu i adaptació en cas)
    Components de soldadura / muntatge: part C (teclat del sensor capacitiu i adaptació en cas)
    Components de soldadura / muntatge: part C (teclat del sensor capacitiu i característica en cas)
    Components de soldadura / muntatge: part C (teclat del sensor capacitiu i característica en cas)

    Soldareu els cables del teclat al sensor tàctil capacitiu en aquest pas. Utilitzeu el mateix mapatge de colors de l’anterior. Si heu seguit el meu esquema de colors, soldareu els cables de colors de la següent manera:

    • Groc: pin 0 / botó 1
    • Gris: pin 1 / botó 2
    • Vermell: pin 2 / botó 3
    • Blau: pin 3 / botó 4
    • Verd: pin 4 / botó 5
    • Blanc: pin 5 / botó 6
    • Negre: pin 6 / botó 7

    Un cop feta la soldadura, utilitzeu una corbata per mantenir els cables al seu lloc.

    A continuació, cargoleu la pantalla TFT a la peça "Front". Utilitzarà els cargols M3 (quatre en total). Un cop el TFT al seu lloc, cargoleu la peça "frontal" a la caixa. Una vegada més, faràs servir cargols M3 (dos).

    A continuació, connecteu el Featherwing Tripler, amb tots els components endollats, al TFT.

    Nota: si teniu previst fer servir una bateria, assegureu-vos de connectar-la al port ESP32-JST abans d’inserir el TFT. Feu servir cinta per fixar la bateria a la part inferior interior de la caixa.

    Pas 5: OPCIONAL - Components de soldadura / muntatge - Part D (ploma INA219)

    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)
    OPCIONAL: components de soldadura / muntatge - Part D (ploma INA219)

    Si utilitzeu el sensor INA219, aquí és on connecteu els cables als endolls de corrent continu.

    1. Introduïu els endolls de corrent continu a la tapa posterior i enrosqueu-los al lloc.
    2. Utilitzeu un soldador per connectar els cables INA219.

      • Els cables negres haurien d’anar a la TERRA per a cada endoll de corrent continu.
      • El cable gris hauria d’anar a l’endoll DC INPUT
      • El cable Blau hauria d’anar al endoll OUTPUT.

    Pas 6: cargoleu la tapa posterior i connecteu l'USB

    El darrer pas del muntatge del maquinari és cargolar la tapa posterior al seu lloc, mitjançant cargols M2 (4). A partir d’aquí, connecteu el cable USB, connecteu-lo a l’ordinador i continueu amb els passos del programari.

    Pas 7: prepareu l'entorn AWS

    Prepareu AWS Environment
    Prepareu AWS Environment

    Com he dit a la introducció, la premissa de la solució és la següent:

    1. El terminal, alimentat per un ESP32, utilitza una connexió MQTT (a través de Wifi) per comunicar-se amb el núvol AWS.
    2. El núvol AWS fa la major part del processament i serveix de retransmissió entre el monitor i els serveis sol·licitats.

    Hi ha algunes coses que haurem de fer en aquest pas:

    Primer, heu de configurar el vostre entorn AWS, si encara no ho heu fet. Aquesta informació suposa que ja teniu un compte AWS configurat, de manera que no s'inclouen les instruccions per configurar un compte al núvol. Dit això, els passos són senzills i es poden trobar aquí.

    Un cop superat aquest pas, heu de crear uns quants serveis, així que inicieu sessió a la consola AWS.

    Creeu una cosa i descarregueu les claus

    AWS IoT Core facilita la comunicació entre el núvol d’AWS i la pantalla. Haureu de crear una "cosa" i descarregar certificats per donar suport a la comunicació.

    [Nota: la majoria d’aquestes instruccions han estat extretes d’una guia escrita per Moheeb Zara, AWS Evangelist]

    1. Obriu la consola AWS i seleccioneu AWS IoT Core.
    2. A la consola AWS IoT, trieu Registrar una cosa nova, Creeu una sola cosa.
    3. Anomeneu el nou "starTrekESP32". Deixeu els camps restants configurats per defecte. Trieu Següent.
    4. Trieu Crea un certificat. Només són necessàries les descàrregues de certs objectes, claus privades i Amazon Root CA 1 perquè l’ESP32 es connecti. Baixeu-los i deseu-los en algun lloc segur, ja que s’utilitzen en programar el dispositiu ESP32.
    5. Trieu Activa, Adjunta una política.
    6. Omet l'addició d'una política i tria Registra cosa.
    7. Al menú lateral de la consola AWS IoT, trieu Segur, Polítiques, Crea una política.
    8. Anomeneu la política AllowEverything. Trieu la pestanya Avançat.
    9. Enganxeu la plantilla de política següent.
    10. {{"Versió": "2012-10-17", "Declaració": [{"Efecte": "Permet", "Acció": "iot: *", "Recurs": "*"}]}
    11. Trieu Crea. (Nota: això només es recomana per començar. Un cop us sentiu còmode amb tot el que funciona, torneu enrere i canvieu-ho per quelcom més restrictiu.)
    12. A la consola AWS IoT, trieu Secure, Certification.
    13. Seleccioneu la creada per al vostre dispositiu i trieu Accions, Adjunta la política.
    14. Trieu Permet tot, Adjunta.
    15. Abans de marxar, feu clic a "Configuració" (al menú de l'esquerra). Es mostrarà el vostre "punt final personalitzat"; guardeu-lo en un fitxer de text … el necessitareu quan configureu l'ESP32.

    Creeu un fitxer Lambda en blanc

    Lambda és una forma de càlcul sense servidor, de manera que no ens hem de preocupar per cap maquinari aquí. En definitiva, aquí és on col·locarem el nostre codi actualitzat (que farem uns quants passos). De moment, només volem crear un marcador de posició, així que …

    1. Torneu a iniciar la sessió a la consola AWS (si heu tancat la sessió) i feu clic a Lambda.
    2. Feu clic al botó "Crea una funció".
    3. A la pàgina següent, introduïu un nom bàsic, com ara starTrekDisplay
    4. Seleccioneu Node.js 12. X
    5. Sota permisos:

      • Si coneixeu el vostre camí per Lambda i el coneixeu, podeu seleccionar qualsevol opció que tingui sentit. Necessitareu permisos a CloudWatch, IotCore, S3 (llegir i escriure).
      • Si no esteu segur dels permisos, seleccioneu "Crea una nova funció amb permisos bàsics de Lambda". Escriviu el nom del rol. Més endavant, modificarem els permisos.
    6. Feu clic a Crea una funció.
    7. Al cap d’un minut, accedireu a una nova pantalla amb un fragment de codi "hola world". Desplaceu-vos cap avall fins a la configuració bàsica i feu clic a "Edita"
    8. Canvieu el temps d'espera de 3 segons a 2 minuts i 0 segons. Nota: el vostre codi no hauria d'executar-se mai més de 5-10 segons … tot i així, necessitem un temps d'espera més llarg per a la vostra autenticació inicial amb Microsoft (per a la funcionalitat del calendari). Un cop us hàgiu autenticat, podeu canviar-lo a 20 segons.
    9. Feu clic a Desa.

    Creeu una regla Iot

    1. Quedeu-vos a la consola Lambda i desplaceu-vos cap amunt. Seleccioneu "Afegeix un activador".
    2. Seleccioneu AWS IoT. A continuació, seleccioneu "Regla personalitzada".
    3. Trieu "Crea una regla nova".

      • Nom de la regla: connexió ESP
      • Declaració de consulta sobre regles: "SELECCIÓ * DE 'starTrekDisplay / pub'
    4. Feu clic a "Afegeix"

    Creeu un contenidor i una carpeta S3

    1. Aneu a la consola AWS i seleccioneu S3.
    2. Necessitareu un dipòsit i una carpeta per emmagatzemar fitxers d’autenticació. Aquesta carpeta hauria de ser privada. Us suggereixo que feu servir qualsevol dipòsit que ja tingueu i nomeneu la carpeta per crear una carpeta anomenada "starTrekDisplay". Nota: si no teniu cap dipòsit, creeu-ne seguint les instruccions aquí.

    Actualització de permisos: si heu permès que Lambda us creï un rol, haureu de seguir aquest pas

    1. Inicieu sessió a la consola AWS i seleccioneu IAM
    2. Feu clic a ROLES i seleccioneu el nom del rol que heu creat anteriorment.
    3. Feu clic a adjuntar polítiques i, a continuació, seleccioneu les polítiques següents:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Pas 8: baixeu les claus de programari i configureu serveis de tercers

    Baixeu les claus de programari i configureu serveis de tercers
    Baixeu les claus de programari i configureu serveis de tercers

    Utilitzo els serveis de tercers següents al projecte:

    1. API Worldtime: per temps
    2. API del Servei Meteorològic Nacional: per al temps
    3. API Microsoft Graph per accedir al meu calendari
    4. API de Google Fitness per accedir a la informació de fitness

    Haureu de configurar comptes i descarregar claus per aprofitar els mateixos serveis

    API Worldtime: per temps

    Aquesta API no requereix una clau, de manera que no cal fer cap acció perquè això funcioni.

    API del Servei Meteorològic Nacional: per al temps

    L'API del Servei Meteorològic Nacional és gratuït i no es requereix cap clau d'API. Tot i això, sol·liciten que transmeti la informació de contacte (en forma de correu electrònic) a cada sol·licitud (com a part del fitxer de capçalera). Afegireu informació de contacte al codi al pas següent.

    OPCIONAL: API de Microsoft Graph i API de Google Fitness

    Aquesta és la part més complexa de la configuració del codi. El nostre dispositiu no té un teclat complet … per tant, fem servir una cosa anomenada OAUTH per a dispositius limitats per accedir al nostre calendari. Malauradament, heu de crear una "aplicació" d'Azure i una aplicació de Google perquè el codi utilitzi OAUTH per a dispositius limitats.

    Les instruccions per crear una aplicació són aquí per a Microsoft i aquí per a Google. Aquí teniu algunes coses que heu de saber:

    • Haureu de crear un compte al núvol d’Azure i de Google. Això és gratuït i no se us cobrarà res
    • Microsoft:

      • Se us demanarà que especifiqueu quins usuaris poden utilitzar l'aplicació. Us suggerim que seleccioneu "Comptes a qualsevol directori organitzatiu i comptes personals de Microsoft". Això us permetrà utilitzar comptes personals de Microsoft i comptes corporatius (en la majoria dels casos).
      • Voldreu seleccionar les aplicacions "Mòbil i d'escriptori", però no cal que empleneu tota la informació (ja que es tracta d'una aplicació personal). Això significa que no podeu fer que la vostra aplicació estigui disponible per al món … però està bé en aquest cas
      • Un cop configurada l'aplicació, haureu de seleccionar els permisos necessaris. He demanat permisos relacionats amb perfils i calendaris (vegeu la imatge de la galeria per obtenir la llista completa de permisos). Haureu de seleccionar aquest mateix conjunt. Si afegiu més permisos, haureu de canviar l'abast adequadament al següent pas.

    Pas 9: Modifiqueu i pengeu el codi AWS

    Aquesta instrucció suposa que esteu familiaritzat amb el desenvolupament de Node.js i Lambda. Baixeu el fitxer enllaçat i feu modificacions per actualitzar:

    • Informació sobre l'aplicació i el client de Microsoft
    • Clau de Google
    • Adreça de correu electrònic per al seguiment del Servei Meteorològic Nacional
    • Nom del dipòsit S3
    • Nom de la carpeta S3
    • Punt final AWS

    També haureu de descarregar les biblioteques de nodes següents:

    1. aws-sdk
    2. zona horària del moment
    3. accents

    Un cop fets aquests canvis, pengeu el codi a l'espai reservat lambda que heu creat anteriorment.

    Pas 10: prepareu Arduino IDE i descarregueu biblioteques

    Aquesta guia també suposa que esteu familiaritzat amb Arduino. Haureu de garantir que el vostre IDE estigui configurat per funcionar amb un Adafruit ESP32. Seguiu les instruccions aquí si necessiteu ajuda.

    Un cop s'hagi completat, descarregueu les biblioteques següents:

    • Adafruit_GFX (del gestor de la biblioteca)
    • Adafruit_HX8357 (del gestor de la biblioteca)
    • TFT_eSPI (del gestor de la biblioteca)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (del gestor de la biblioteca)
    • ArduinoJson (del gestor de la biblioteca)
    • Adafruit_STMPE610 (del gestor de la biblioteca)
    • Adafruit_MPR121 (del gestor de la biblioteca)
    • Adafruit_INA219 (del gestor de la biblioteca)
    • Adafruit_Sensor (del gestor de la biblioteca)
    • Adafruit_BME680 (del gestor de la biblioteca)
    • Tone32 (https://github.com/lbernstone/Tone)

    A continuació, haurem de modificar algunes de les biblioteques:

    1. Obriu la carpeta PubSubClient (a la carpeta Arduino / Library) i obriu "PubSubClient.h". Cerqueu el valor de MQTT_MAX_PACKET_SIZE i canvieu-lo a 2000.
    2. A continuació, obriu la carpeta TFT_eSPI i obriu el fitxer "User_Setup_Select.h". Comenteu qualsevol línia "includes users_setup …" i afegiu aquesta línia:

    #incloure

    Després, descarregueu el fitxer Custom_Tricorder.zip enllaçat i extraieu el fitxer ".h" a la ubicació "TFT_eSPI / User_Setups" de la carpeta de biblioteques Arduino. Jo

    Ara podem passar a actualitzar el codi Arduino

    Pas 11: actualitzeu i instal·leu el codi Arduino i participeu-hi

    Actualitzeu i instal·leu Arduino Code i Engage!
    Actualitzeu i instal·leu Arduino Code i Engage!

    Codi Arduino

    Descarregueu i descomprimiu el fitxer enllaçat per al codi Arduino. Aneu a la pestanya secrets.h. Haureu d’actualitzar el següent:

    • WIFI_SSID = actualitza amb el teu SSID wifi
    • WIFI_PASSWORD = actualitza amb la teva contrasenya wifi
    • TIMEZONE = actualitzeu amb la vostra zona horària des d'aquesta llista
    • LAT (podeu utilitzar un servei com "https://www.latlong.net" per trobar la vostra latitud i longitud
    • GNL
    • AWS_IOT_ENDPOINT = hauríeu d'haver desat això anteriorment. Ha de semblar "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    També haurà descarregat els certificats d’un pas anterior. Obriu-lo després a l’editor de notes (per exemple, bloc de notes) i enganxeu el text entre l’EOF 'R' ('i') EOF "; '. Assegureu-vos d'incloure "----- BEGIN CERTIFICATE -----" o "----- BEGIN RSA PRIVATE KEY -----".

    Fitxers d’imatges

    L'ESP32 ve amb un petit sistema de fitxers. Utilitzem aquest sistema de fitxers per desar imatges per al nostre programa. Haureu d’instal·lar l’eina que us permet carregar fitxers.

    1. En primer lloc, visiteu el tutorial detallat sobre Random Nerd Tutorials.
    2. Un cop tingueu aquest treball, podeu penjar els fitxers a la carpeta de dades (també inclosa al fitxer zip).

    Participa

    Pengeu el codi Arduino final i ja ho teniu.

    Nota: el nom de Star Trek i les imatges de Star Trek són propietat de CBS / Paramount. Tenen una política força laxa pel que fa al cosplay i la ficció dels fanàtics; llegiu aquí si teniu cap pregunta.

    Concurs Fandom
    Concurs Fandom
    Concurs Fandom
    Concurs Fandom

    Primer premi del Concurs Fandom

    Recomanat: