Tabla de contenido:

¡Hazlo así! Star Trek TNG Mini computadora de ingeniería: 11 pasos (con imágenes)
¡Hazlo así! Star Trek TNG Mini computadora de ingeniería: 11 pasos (con imágenes)

Video: ¡Hazlo así! Star Trek TNG Mini computadora de ingeniería: 11 pasos (con imágenes)

Video: ¡Hazlo así! Star Trek TNG Mini computadora de ingeniería: 11 pasos (con imágenes)
Video: Maratón LOS VIDEOS PERDIDOS de El DoQmentalista - Documentales hd 2024, Noviembre
Anonim
Image
Image
¡Hazlo así! Mini computadora de ingeniería Star Trek TNG
¡Hazlo así! Mini computadora de ingeniería Star Trek TNG
¡Hazlo así! Star Trek TNG Mini computadora de ingeniería
¡Hazlo así! Star Trek TNG Mini computadora de ingeniería

Visión general

Crecí viendo Star Trek: The Next Generation. Siempre quise construir un dispositivo temático de Star Trek, así que finalmente pude mezclar uno de mis viejos proyectos para hacer una Terminal de pantalla de Star Trek.

El terminal proporciona la siguiente información:

  • Clima: utilizando el Servicio Meteorológico Nacional
  • Resistencia a la temperatura interior, la humedad y los compuestos orgánicos volátiles (COV)
  • Artículos de noticias - de News.org
  • Programación (con función de alarma): desde Microsoft Outlook
  • Información de estado físico (pasos, minutos de movimiento, puntos cardíacos, peso, calorías quemadas) de Google Fitness
  • una tabla de códigos de colores de resistencias
  • una calculadora de resistencia LED (para determinar el valor de la resistencia en función de la corriente y la fuente de alimentación)
  • Herramienta de medición de potencia y corriente

Esta información está disponible a través de una combinación de API y sensores de hardware. Aprovecho un ESP32 para el microcontrolador y aprovecho la nube de AWS para toda la recopilación y agregación de datos.

También incluí algunos "huevos de pascua":

  • Homenaje a Ron McNair: el Dr. McNair es la razón por la que me convertí en ingeniero; creció a 45 minutos de mi ciudad natal. Murió en la explosión del Challenger.

    • El nombre de mi nave estelar es "USS Ronald E McNair"
    • El número de registro es de la fecha de nacimiento de Sr McNair; el código de prefijo es el día en que perdió la vida.
  • El uso de un "código de prefijo" es un guiño a Star Trek: Wrath of Khan (la mejor película de Star Trek de todos los tiempos; no me @me).
  • Los números de la derecha del caso terminal se refieren a mi fraternidad (1906 - Alpha Phi Alpha) y mi alma mater y campo de estudio - (Universidad de Oklahoma, Facultad de Ingeniería)

Tiene la opción de personalizar la numeración, las letras y el nombre del barco, el registro, etc. para sus propios "huevos de Pascua".

Fondo

El año pasado, necesitaba una forma de bajo costo para medir la energía y el consumo de batería para un proyecto portátil. Compré un Adafruit INA219 Featherwing y utilicé algunas piezas de repuesto variadas para construir un dispositivo de medición de potencia simple (puede leer más sobre esto aquí).

Este año, decidí actualizar el dispositivo … para hacerlo más "tecnológico". Originalmente planeé construir un tricorder de Star Trek que funcionara (la versión Mark IV TR-590 Mark IX, para aquellos que se preocupan) … pero rápidamente me di cuenta de que tenía más sentido crear algo que se sentara en mi escritorio (quiero decir, por qué tomar todas estas molestias para hacer un dispositivo genial, solo para cerrarlo y ponerlo en un cajón cuando no se use).

Entonces, me dediqué a hacer una versión de las pantallas de computadora que ves en Star Trek TNG o Voyager (o las películas variadas). Jugué con diferentes diseños, luego encontré una versión creada por los hermanos Ruiz de Adafruit. Adafruit hace un gran trabajo al proporcionar archivos fuente para sus proyectos impresos en 3D, así que pude tomar su versión original y mezclarla para mi hardware, botones y otros periféricos.

Cosas que debe saber antes de continuar

  1. Proporciono instrucciones paso a paso para hacer mi versión del proyecto; sin embargo, no entro en detalles sobre ciertos pasos (vincularé a instrucciones o documentación de respaldo)
  2. Este es un proyecto complejo. Es una "marca multidisciplinar", que requiere las siguientes habilidades

    • IDE de Arduino
    • AWS: necesitará una cuenta y deberá comprender S3, Lambda y Node JS
    • Soldadura
    • Impresión 3d
  3. Hay "complementos" opcionales para mejorar el proyecto con el fin de obtener información de Calendario y Fitness. La funcionalidad está incluida en el código base; sin embargo, tendrá que crear "aplicaciones" en las nubes de Azure y Google para admitir las funciones.
  4. En última instancia, esto es personalizable … puede cambiar el sensor de corriente por otro ala de pluma. Puede usar una combinación de pluma / wifi diferente.

Suministros

Componentes electrónicos

  • Adafruit ESP32 Huzzah Feather
  • Mini Kit de Triplicador de Alas de Pluma de Adafruit
  • Rotura del sensor táctil capacitivo de 12 teclas Adafruit
  • Adafruit TFT FeatherWing - Pantalla táctil de 3,5 "480x320
  • Adafruit BME680 - Sensor de temperatura, humedad, presión y gas
  • Conector de barril 2.1 para montaje en panel de CC (2)
  • Batería de polímero de iones de litio - 3,7 V 500 mAh
  • Zumbador piezoeléctrico
  • Cable USB Mirco y cargador de 5 V (un cargador de teléfono USB típico funcionará)
  • Cinta de lámina de cobre con adhesivo
  • Opcional - Adafruit INA219 Featherwing
  • Opcional - 2.1 Enchufes macho - (para usar con el sensor de corriente INA219)

Enlace a todos los componentes electrónicos excepto enchufes 2.1:

Componentes de filamento 3D y componentes opcionales de pintura / lijado

  • Proto Pasta Conductive PLA
  • Filamentos 3D adicionales: utilicé 4 colores: gris, negro, aguamarina (azul claro) y blanco
  • Boquillas de 0,25 y 0,4 mm (utilicé las de 0,25 para los detalles de las letras).

Componentes y herramientas de ensamblaje de hardware

  • Tornillos M2x5 y M3x5
  • Pines de encabezado rectos y en ángulo recto (consulte la lista de deseos de Adafruit para ver los enlaces)
  • Soldador (y carrete de soldadura, estaño de punta, ventosa de soldadura, etc.)
  • Kit de destornillador de cabeza Philips
  • Envoltura retráctil
  • Alambre trenzado 22AWG - cinco o seis colores
  • Cable sólido 22AWG - cinco o seis colores
  • Tornillo de banco para PCB y manos amigas (opcional, pero facilita la soldadura)
  • Cortadores de alambre diagonales
  • Pelacables
  • Xacto Knife (para quitar soportes de piezas de impresoras 3D)
  • Impresora 3D (si planea imprimir usted mismo)
  • Masilla o cinta (para pegar la batería al interior de la caja impresa)
  • Calibradores digitales
  • Pegamento Krazy
  • Opcional: guantes desechables de nitrilo
  • Opcional: tapete para soldar (opcional, pero protege las superficies)

Nota: si no tiene estas herramientas, le sugiero que visite el sitio de Becky Stern para obtener recomendaciones sobre buenas opciones.

Software

  • IDE de Arduino
  • Editor de Node JS (como Microsoft Code)
  • Cuenta de AWS
  • Opcional: cuenta de Google Cloud (para información sobre fitness)
  • Opcional: cuenta en la nube de Microsoft Azure (para obtener información sobre el calendario)
  • Paso 1: descargue, modifique archivos e imprima archivos 3D

    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D
    Descargar, modificar archivos e imprimir archivos 3D

    Puede enviar los archivos a un servicio de impresión 3D (como 3D Hubs) o puede imprimir los suyos propios. Los archivos están disponibles en PrusaPrinters.org.

    Este caso es una remezcla del Py Portal Alarm Clock que aparece en el sitio web de Adafruit. Mi proyecto utiliza un TFT similar, por lo que pude minimizar la cantidad de trabajo de diseño necesario para que la carcasa funcione con mis accesorios.

    Usé la siguiente configuración para imprimir:

    • Anverso y reverso: impreso a una altura de capa de 0,2 mm con una boquilla de 0,4 mm, sin soportes
    • Número de lado: impreso a una altura de capa de 0,10 mm con una boquilla de 0,25 mm, sin soportes
    • Teclas: impresas a una altura de capa de 0,2 mm con una boquilla de 0,4 mm. Deberá imprimir 7 y deberá imprimir con el filamento conductor Proto-Pasta.
    • Caja: impresa a una altura de capa de 0,2 mm.

      Se necesitan soportes, pero no en todas partes (solo en los lados y en el medio donde se encuentra el teclado

    Algunas cosas que debes saber:

    1. La Prusa MK3 le permite cambiar colores en diferentes alturas de capa. Usé esta función para la pieza de número lateral.
    2. Además, en lo que respecta a la pieza de número lateral:

      • El equipo de producción de Star Trek TNG rociaría huevos de Pascua en los accesorios. Si miras de cerca varias placas y paneles, verás nombres de personas, letras de canciones, etc. Quería crear mi propio "huevo de Pascua" para el número lateral, así que utilizo "06", que se refiere a mi fraternidad (formado en 1906) y "OUCOE", que se refiere a mi alma mater (Universidad de Oklahoma, Facultad de Ingeniería).
      • Creé una pieza de side_number "en blanco" que puedes modificar para crear tu propio número y texto personalizados.

    Paso 2: Soldar / Ensamblar componentes - Parte a (Teclado y número lateral)

    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)
    Soldar / ensamblar componentes - Parte a (teclado y número lateral)

    Primero, colocaremos el número de lado. Use un poco de pegamento para colocar el número de lado en su lugar.

    A continuación, ensamblaremos el teclado

    1. Deberá cortar 7 pedazos de cable trenzado, cada uno de entre 10 y 12 pulgadas de largo. Estos se conectarán a los pines 0-6 del sensor táctil capacitivo. Le sugiero que use diferentes colores (y escriba los colores / mapeo de pines, ya que necesitará esta información más adelante). Usé la siguiente combinación de colores:

      • Amarillo - Pin 0 / Botón 1
      • Gris - Pin 1 / Botón 2
      • Rojo - Pin 2 / Botón 3
      • Azul - Pin 3 // Botón 4
      • Verde - Pin 4 // Botón 5
      • Blanco - Pin 5 // Botón 6
      • Negro - Pin 6 // Botón 7
    2. Pele 1/2 pulgada del extremo de cada cable.
    3. Corte 7 pedazos de cinta conductora (cada uno de aproximadamente 1/2 pulgada de ancho) y suelde los cables al lado de cobre de la cinta.
    4. Retire el respaldo adhesivo y péguelo en la parte inferior de las teclas. Es posible que deba recortar parte de la cinta de cobre.

    Nota: las llaves se pueden pegar desde la parte inferior (de modo que queden al ras con la parte superior) o pegadas desde la parte superior (de modo que "floten" unos pocos mm desde la parte superior). Elegí pegar el mío desde arriba.

    Una vez que haya completado los 7, use un poco de pegamento para pegar las teclas al teclado. Me resulta más fácil:

    • Primero "pase" el cable a través del orificio de la cerradura.
    • Luego, ponga un poco de pegamento en el borde / borde de la llave.
    • Coloque rápidamente la llave en su lugar.

    Nota: Krazy Glue funciona mejor aquí; es posible que desee utilizar guantes para limitar los accidentes y las posibilidades de irritación de la piel.

    Paso 3: Soldar / Ensamblar componentes - Parte B (Alas de plumas y sensores)

    Soldar / Ensamblar componentes - Parte B (Alas emplumadas y sensores)
    Soldar / Ensamblar componentes - Parte B (Alas emplumadas y sensores)
    Soldar / Ensamblar componentes - Parte B (Alas emplumadas y sensores)
    Soldar / Ensamblar componentes - Parte B (Alas emplumadas y sensores)
    Soldar / Ensamblar componentes - Parte B (Alas emplumadas y sensores)
    Soldar / Ensamblar componentes - Parte B (Alas emplumadas y sensores)

    El siguiente paso es preparar y ensamblar los componentes de hardware. En última instancia, esto significa soldar los pines y cables del cabezal para su uso posterior. Esta guía asume que se siente cómodo soldando; si no es así, consulte esta "Guía para una soldadura excelente" de Adafruit.

    Primero prepararemos los materiales. Para este paso, necesitará:

    • TFT 3.5 Ala de plumas
    • Pluma ESP32
    • INA219 Ala de plumas
    • Tripler Ala de Pluma
    • Sensor táctil capacitivo MPR121
    • Sensor BME680
    • Pines de cabecera rectos y en ángulo recto
    • Alambre sólido y trenzado
    • Herramientas para soldar y manos amigas
    • Cortadores de alambre diagonal y pelacables
    • Calibrador

    Nota: Le sugiero que primero lea este paso y corte todos los cables y encabezados antes de comenzar a soldar. De esa manera, no tendrá que detenerse a medir / cortar.

    Prepare el TFT 3.5 Featherwing

    El TFT está listo para usar fuera de la caja con un único ajuste. Deberá soldar un cable entre la almohadilla "Lite" y una almohadilla de soldadura de clavija. Nuestro código usa ESP32 Pin 21 para controlar el TFT lite. Organice el TFT de la manera "larga", con el botón de reinicio en la parte inferior. El pin 21 será el pin inferior izquierdo.

    Corta un trozo de cable trenzado de 40 mm. Pele los extremos de modo que se vean unos pocos milímetros de alambre en cada extremo. Usando su soldador, suelde con cuidado a ambos pines.

    Nota: solo necesita unos 35 mm de longitud … para que pueda recortar el cable según sea necesario. Además, encuentro que agregar soldadura a la almohadilla, luego al cable, luego soldar el cable a la almohadilla es el enfoque más fácil. Finalmente, estas almohadillas son pequeñas … si se siente incómodo, siempre puede omitir este paso: es solo para apagar el TFT con el teclado.

    Prepare el ESP32 Feather

    Deberá soldar los pines del cabezal macho estándar al ESP32. Su ESP32 debe venir con los encabezados, aunque es posible que deba recortarlos para obtener la longitud correcta (16 pines en el lado largo; 12 pines en el lado corto). Los pines del cabezal están hechos para "romper", por lo que puede usar sus cortadores diagonales para sujetar los cabezales a la longitud correcta. Una vez más, Adafruit tiene excelentes instrucciones sobre cómo hacerlo, así que revíselo si necesita orientación.

    OPCIONAL - Prepare el ala de plumas INA219

    Primero, suelde los cabezales macho al ala de pluma (usando las mismas instrucciones que se usaron para el ESP32). A continuación, corte cuatro trozos de cable trenzado de 20 mm. Haría 2 NEGROS y los demás de un color diferente. Usé GRIS y AZUL para mis elecciones de color.

    Pele los extremos del cable de modo que quede expuesto entre 3 y 4 mm de cable de cobre en cada extremo. Soldará uno de cada cable de la siguiente manera:

    • GRIS -> V + (más)
    • AZUL -> V- (menos)
    • NEGRO -> GND (tierra)
    • NEGRO -> GND (tierra)

    Deje los otros extremos de los cables en este momento; finalmente los soldaremos a los enchufes DC 2.1.

    Conecte el zumbador piezoeléctrico

    El INA Featherwing viene con una pequeña área de creación de prototipos; lo usaremos para conectar nuestro piezo. El piezo le dará a nuestro proyecto la capacidad de emitir pitidos y sonidos de alertas, alarmas, etc.

    El piezo se conecta al PIN 13 de ESP32; esto se correlaciona con el pin al lado del pin USB en el ala de pluma (vea la imagen para ver las flechas). El otro pin piezo se conecta a tierra. Los pines de pieze son lo suficientemente largos como para soldarlos directamente al ala de pluma … sólo tendrá que doblar los pines en forma de "hombre con piernas arqueadas" (ver imagen). Una vez que tenga los pasadores en su lugar, use una mano amiga (o cinta) para mantener el piezo en su lugar y suelde desde la parte inferior del ala de pluma.

    Nota: si no utiliza el INA219, deberá soldar el piezo directamente a la placa de alas de pluma.

    Prepare el ala de plumas triples

    El ala de pluma nos ahorra mucha soldadura; puede contener 3 plumas / alas de plumas … así que lo usaremos para hacer conexiones eléctricas entre el TFT, ESP32, INA219 (así como el piezo y el pin TFT Lite).

    Para realizar las conexiones correctamente, necesitaremos soldar dos pares de cabezales apilables y un par de cabezales macho estándar.

    • Los encabezados masculinos normales se colocarán en el punto "superior", pero se soldarán en la parte inferior del Tripler.
    • Los dos cabezales de apilamiento se soldarán en los puntos 2 y 3, en la parte superior del Tripler.

    Esto es un poco confuso, así que asegúrese de mirar las imágenes para comprender dónde se coloca cada encabezado. Además, una combinación de un tornillo de banco para PCB y Helping Hands puede ser de gran ayuda para soldar los componentes.

    Prepare el sensor BME 680 y el sensor táctil capacitivo MPR121

    Los dos últimos sensores son los más difíciles de acoplar. Necesitamos unir los pines del cabezal a las placas de conexión antes de finalizar el ensamblaje.

    El sensor BME está conectado en un ángulo de 90, de modo que puedo alinear el sensor con un orificio en la carcasa (para que el sensor pueda capturar temperatura, gas, humedad). Necesitarás soldar pines en ángulo recto a los agujeros. Vea las imágenes para asegurarse de alinearlas correctamente.

    El sensor táctil capacitivo es sencillo: solo suelde los pines de los conectores macho rectos, como se describe aquí. Nota: NO DEBE soldar pines a los pines táctiles capacitivos (0-11).

    Conecte los sensores BME 680 y MPR121 a la placa Tripler

    Ambos sensores se comunican a través de I2C … lo que significa que solo necesitamos hacer 4 conexiones entre las placas de conexión y el Featherwing. Por simplicidad, sueldo todas las conexiones entre las placas.

    BME 680

    Para este sensor, utilizo Helping Hands y un tornillo de banco de PCB para mantener ambos componentes en su lugar (vea la imagen de arriba). El sensor BME680 debe colocarse al final del ala de pluma. Vea las imágenes de arriba para confirmar la ubicación.

    El proceso de soldar las conexiones es tedioso, así que vaya despacio. Utilizo alambre de núcleo sólido para las conexiones:

      • NEGRO - TIERRA
      • ROJO - VIN
      • AMARILLO - SCL (pin SCK en el sensor al
      • NARANJA - SDA (pin SDA en el sensor)

    Nota: Los pines SCL y SDA son necesarios para ambos sensores, por lo que podría ser más fácil usar un pin SCL o SDA en otra parte del Featherwing.

    MPR121

    Las manos amigas también ayudan al soldar este sensor en su lugar (la cinta también funciona). El código usó I2C para la comunicación con el ESP32, por lo que conectará los pines SCA y SDA.

    Paso 4: Suelde / Ensamble los Componentes - Parte C (Teclado al Sensor Capacitivo y Pluma en la Caja)

    Soldar / Ensamblar Componentes - Parte C (Teclado a Sensor Capacitivo y Pluma en Caja)
    Soldar / Ensamblar Componentes - Parte C (Teclado a Sensor Capacitivo y Pluma en Caja)
    Soldar / Ensamblar Componentes - Parte C (Teclado a Sensor Capacitivo y Pluma en Caja)
    Soldar / Ensamblar Componentes - Parte C (Teclado a Sensor Capacitivo y Pluma en Caja)
    Soldar / Ensamblar Componentes - Parte C (Teclado a Sensor Capacitivo y Pluma en Caja)
    Soldar / Ensamblar Componentes - Parte C (Teclado a Sensor Capacitivo y Pluma en Caja)

    Soldará los cables del teclado al sensor táctil capacitivo en este paso. Utilice el mismo mapeo de colores de antes. Si siguió mi esquema de color, soldará los cables de colores de la siguiente manera:

    • Amarillo - Pin 0 / Botón 1
    • Gris - Pin 1 / Botón 2
    • Rojo - Pin 2 / Botón 3
    • Azul - Pin 3 / Botón 4
    • Verde - Pin 4 / Botón 5
    • Blanco - Pin 5 / Botón 6
    • Negro - Pin 6 / Botón 7

    Una vez que haya terminado de soldar, use una atadura retorcida para mantener los cables en su lugar.

    A continuación, atornille la pantalla TFT a la pieza "Frontal". Utilizará los tornillos M3 (cuatro en total). Una vez que el TFT esté en su lugar, atornille la pieza "Frontal" a la carcasa. Nuevamente, usará tornillos M3 (dos).

    A continuación, conecte el Featherwing Tripler, con todos los componentes enchufados, al TFT.

    Nota: si planea usar una batería, asegúrese de conectarla al puerto ESP32-JST antes de insertar el TFT. Use cinta adhesiva para pegar la batería en la parte inferior interior de la caja.

    Paso 5: OPCIONAL - Soldar / Ensamblar componentes - Parte D (Pluma INA219)

    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)
    OPCIONAL - Componentes para soldar / ensamblar - Parte D (Pluma INA219)

    Si está utilizando el sensor INA219, aquí es donde conecta los cables a los enchufes de CC.

    1. Inserte los enchufes de CC en la cubierta posterior y atorníllelos en su lugar.
    2. Utilice un soldador para conectar los cables INA219.

      • Los cables negros deben ir a TIERRA para cada enchufe de CC.
      • El cable gris debe ir al enchufe INPUT DC
      • El cable azul debe ir al enchufe de SALIDA.

    Paso 6: atornille la cubierta trasera y conecte el USB

    El último paso en el ensamblaje del hardware es atornillar la cubierta posterior en su lugar, usando tornillos M2 (4). Desde allí, conecte el cable USB, conéctelo a su PC y continúe con los pasos del software.

    Paso 7: preparar el entorno de AWS

    Preparar el entorno de AWS
    Preparar el entorno de AWS

    Como dije en la introducción, la premisa de la solución es la siguiente:

    1. El terminal, que funciona con un ESP32, utiliza una conexión MQTT (a través de Wifi) para comunicarse con la nube de AWS.
    2. La nube de AWS realiza la mayor parte del procesamiento y actúa como un relé entre el Monitor y los servicios solicitados.

    Hay algunas cosas que tendremos que hacer en este paso:

    Primero, debe configurar su entorno de AWS, si aún no lo ha hecho. Este instructable asume que ya tiene una cuenta de AWS configurada, por lo que no se incluyen las instrucciones sobre cómo configurar una cuenta en la nube. Dicho esto, los pasos son sencillos y se pueden encontrar aquí.

    Una vez que haya pasado ese paso, debe crear algunos servicios, así que inicie sesión en la consola de AWS.

    Crear una cosa y descargar claves

    AWS IoT Core facilita la comunicación entre la nube de AWS y la pantalla. Deberá crear una "cosa" y descargar certificados para respaldar la comunicación.

    [Nota: la mayoría de estas instrucciones se tomaron de una guía escrita por Moheeb Zara, AWS Evangelist]

    1. Abra la consola de AWS y seleccione AWS IoT Core.
    2. En la consola de AWS IoT, elija Registrar un elemento nuevo, Crear un elemento único.
    3. Nombra lo nuevo "starTrekESP32". Deje los campos restantes configurados con sus valores predeterminados. Elija Siguiente.
    4. Elija Crear certificado. Solo las descargas de certificado, clave privada y Amazon Root CA 1 son necesarias para que el ESP32 se conecte. Descárgalos y guárdalos en un lugar seguro, ya que se utilizan al programar el dispositivo ESP32.
    5. Elija Activar, Adjuntar una política.
    6. Omita la adición de una política y elija Register Thing.
    7. En el menú lateral de la consola de AWS IoT, elija Seguro, Políticas, Crear una política.
    8. Denomine la política AllowEverything. Elija la pestaña Avanzado.
    9. Pegue la siguiente plantilla de política.
    10. {{"Versión": "2012-10-17", "Declaración": [{"Efecto": "Permitir", "Acción": "iot: *", "Recurso": "*"}]}
    11. Elija Crear. (Nota: esto solo se recomienda para comenzar. Una vez que se sienta cómodo con que todo funcione, vuelva atrás y cámbielo por algo más restrictivo).
    12. En la consola de AWS IoT, elija Secure, Certification.
    13. Seleccione el creado para su dispositivo y elija Acciones, Adjuntar política.
    14. Elija AllowEverything, Attach.
    15. Antes de irse, haga clic en "Configuración" (en el menú de la izquierda). Se mostrará su "Punto final personalizado"; guárdelo en un archivo de texto … lo necesitará cuando configure el ESP32.

    Crear un archivo Lambda en blanco

    Lambda es una forma de computación sin servidor, por lo que no tenemos que preocuparnos por ningún hardware aquí. En última instancia, aquí es donde colocaremos nuestro código actualizado (lo haremos en unos pocos pasos). Por ahora, solo queremos crear un marcador de posición, así que …

    1. Vuelva a iniciar sesión en la consola de AWS (si se desconectó) y haga clic en Lambda.
    2. Haga clic en el botón "Crear función".
    3. En la página siguiente, ingrese un nombre básico, como starTrekDisplay
    4. Seleccione Node.js 12. X
    5. Bajo permisos:

      • Si conoce Lambda y está familiarizado con él, puede seleccionar la opción que tenga sentido. Necesitará permisos en CloudWatch, IotCore, S3 (lectura y escritura).
      • Si no está seguro de los permisos, seleccione "Crear un nuevo rol con permisos básicos de Lambda". Anote el nombre del rol. Más adelante modificaremos los permisos.
    6. Haga clic en Crear función.
    7. Después de un minuto, entrará en una nueva pantalla con un fragmento de código "hola mundo". Desplácese hacia abajo hasta Configuración básica y haga clic en "Editar".
    8. Cambie el tiempo de espera de 3 segundos a 2 minutos y 0 segundos. Nota: su código nunca debe durar más de 5-10 segundos … sin embargo, necesitamos un tiempo de espera más largo para su autenticación inicial con Microsoft (para la funcionalidad de calendario). Una vez que se haya autenticado, puede cambiar esto a 20 segundos.
    9. Presiona guardar.

    Crear una regla Iot

    1. Permanezca en la consola Lambda y desplácese hacia arriba. Seleccione "Agregar activador".
    2. Seleccione AWS IoT. Luego seleccione "Regla personalizada".
    3. Elija "Crear una nueva regla".

      • Nombre de la regla: Conexión ESP
      • Declaración de consulta de regla: "SELECT * FROM 'starTrekDisplay / pub'
    4. Haga clic en "Agregar"

    Crear una carpeta y un depósito de S3

    1. Navegue hasta la consola de AWS y seleccione S3.
    2. Necesitará un depósito y una carpeta para almacenar archivos de autenticación. Esta carpeta debe ser privada. Le sugiero que use cualquier cubo que ya tenga y le dé el nombre a crear una carpeta llamada "starTrekDisplay". Nota: si no tiene un depósito, cree uno siguiendo las instrucciones aquí.

    Permisos de actualización: si permitió que Lambda creara un rol por usted, deberá seguir este paso

    1. Inicie sesión en la consola de AWS y seleccione IAM
    2. Haga clic en ROLES, luego seleccione el nombre del rol que creó anteriormente.
    3. Haga clic en adjuntar políticas, luego seleccione las siguientes políticas:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Paso 8: descargue las claves de software y configure los servicios de terceros

    Descargar claves de software y configurar servicios de terceros
    Descargar claves de software y configurar servicios de terceros

    Utilizo los siguientes servicios de terceros en el proyecto:

    1. API de Worldtime: por tiempo
    2. API del Servicio Meteorológico Nacional: para el tiempo
    3. API de Microsoft Graph para acceder a mi calendario
    4. API de Google Fitness para acceder a información sobre fitness

    Deberá configurar cuentas y descargar claves para aprovechar los mismos servicios

    API de Worldtime: por tiempo

    Esta API no requiere una clave, por lo que no es necesario realizar ninguna acción para que esto funcione.

    API del Servicio Meteorológico Nacional: para el tiempo

    La API del Servicio Meteorológico Nacional es gratuita y no se requiere una clave API. Sin embargo, le solicitan que transmita la información de contacto (en forma de correo electrónico) en cada solicitud (como parte del archivo de encabezado). Agregará información de contacto al código en el siguiente paso.

    OPCIONAL: API de Microsoft Graph y API de Google Fitness

    Esta es la parte más compleja de la configuración del código. Nuestro dispositivo no tiene un teclado completo … por lo tanto, usamos algo llamado OAUTH para dispositivos limitados para acceder a nuestro calendario. Desafortunadamente, debe crear una "aplicación" de Azure y una aplicación de Google para que su código use OAUTH para dispositivos limitados.

    Las instrucciones para crear una aplicación están aquí para Microsoft y aquí para Google. Aquí hay algunas cosas que debe saber:

    • Tendrá que crear una cuenta en la nube de Azure y Google. Esto es gratis y no se le cobrará nada.
    • Microsoft:

      • Se le pedirá que especifique qué usuarios pueden usar la aplicación. Le sugiero que seleccione "Cuentas en cualquier directorio organizativo y cuentas personales de Microsoft". Esto le permitirá utilizar cuentas personales de Microsoft y cuentas corporativas (en la mayoría de los casos).
      • Deberá seleccionar las aplicaciones "Móvil y de escritorio", sin embargo, no es necesario que complete toda la información (ya que se trata de una aplicación personal). Esto significa que no puede hacer que su aplicación esté disponible para el mundo…. pero está bien en este caso
      • Una vez que su aplicación esté configurada, deberá seleccionar los permisos necesarios. Solicité permisos relacionados con perfiles y calendarios (vea la imagen en la galería para ver la lista completa de permisos). Deberá seleccionar este mismo conjunto. Si agrega más permisos, deberá cambiar el alcance de manera apropiada en el siguiente paso.

    Paso 9: Modifique y cargue el código de AWS

    Este instructivo asume que está familiarizado con el desarrollo de Node.js y Lambda. Descargue el archivo vinculado y realice modificaciones para actualizar:

    • Información de cliente y aplicación de Microsoft
    • Clave de Google
    • Dirección de correo electrónico para el seguimiento del Servicio Meteorológico Nacional
    • Nombre del depósito de S3
    • Nombre de la carpeta S3
    • Punto de enlace de AWS

    También deberá descargar las siguientes bibliotecas de nodos:

    1. aws-sdk
    2. momento zona horaria
    3. acentos

    Una vez que se hayan realizado esos cambios, cargue el código en el marcador de posición lambda que creó anteriormente.

    Paso 10: Prepare Arduino IDE y descargue las bibliotecas

    Esta guía también asume que está familiarizado con Arduino. Deberá asegurarse de que su IDE esté configurado para funcionar con Adafruit ESP32. Siga las instrucciones aquí si necesita ayuda.

    Una vez que esto esté completo, descargue las siguientes bibliotecas:

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

    A continuación, necesitaremos modificar algunas de las bibliotecas:

    1. Abra la carpeta PubSubClient (en la carpeta Arduino / Library) y abra "PubSubClient.h". Busque el valor de MQTT_MAX_PACKET_SIZE y cámbielo a 2000.
    2. A continuación, abra la carpeta TFT_eSPI y abra el archivo "User_Setup_Select.h". Comente cualquier línea "incluye users_setup …" y agregue esta línea:

    #incluir

    Luego, descargue el archivo Custom_Tricorder.zip vinculado y extraiga el archivo ".h" a la ubicación "TFT_eSPI / User_Setups" en su carpeta de bibliotecas Arduino. I

    Ahora, podemos pasar a actualizar el código Arduino.

    Paso 11: ¡Actualice e instale el código Arduino y participe

    ¡Actualice e instale el código Arduino y participe!
    ¡Actualice e instale el código Arduino y participe!

    Código Arduino

    Descargue y descomprima el archivo vinculado para el código Arduino. Vaya a la pestaña secrets.h. Deberá actualizar lo siguiente:

    • WIFI_SSID = actualizar con su SSID wifi
    • WIFI_PASSWORD = actualizar con su contraseña wifi
    • TIMEZONE = actualizar con su zona horaria de esta lista
    • LAT (puede utilizar un servicio como "https://www.latlong.net" para encontrar su latitud y longitud
    • GNL
    • AWS_IOT_ENDPOINT = debería haber guardado esto desde antes. Debería verse como "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    También habrá descargado los certificados de un paso anterior. Luego, abre en el editor de notas (por ejemplo, el bloc de notas) y pega el texto entre 'R "EOF (' y ') EOF";'. Asegúrese de incluir "----- BEGIN CERTIFICATE -----" o "----- BEGIN RSA PRIVATE KEY -----".

    Archivos de imagen

    El ESP32 viene con un pequeño sistema de archivos. Usamos este sistema de archivos para guardar imágenes para nuestro programa. Deberá instalar la herramienta que le permite cargar archivos.

    1. Primero, visite el tutorial en profundidad sobre Tutoriales aleatorios para nerds.
    2. Una vez que tenga esto funcionando, puede cargar los archivos en la carpeta de datos (también incluida en el archivo zip).

    ¡Comprometerse

    Sube el código final de Arduino, ¡y listo!

    Nota: El nombre de Star Trek y las imágenes de Star Trek son propiedad de CBS / Paramount. Tienen una política bastante laxa cuando se trata de cosplay y fan fiction; por favor, lea aquí si tiene preguntas.

    Concurso de fans
    Concurso de fans
    Concurso de fans
    Concurso de fans

    Primer premio en el concurso Fandom

    Recomendado: