Table des matières:

Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG : 11 étapes (avec photos)
Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG : 11 étapes (avec photos)

Vidéo: Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG : 11 étapes (avec photos)

Vidéo: Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG : 11 étapes (avec photos)
Vidéo: The Complete History of the A Button Challenge 2024, Novembre
Anonim
Image
Image
Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG
Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG
Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG
Faire en sorte! Mini ordinateur d'ingénierie Star Trek TNG

Aperçu

J'ai grandi en regardant Star Trek: The Next Generation. J'ai toujours voulu construire un appareil sur le thème de Star Trek, alors j'ai finalement remixé l'un de mes anciens projets pour créer un terminal d'affichage Star Trek.

Le terminal fournit les informations suivantes:

  • Météo - en utilisant le service météorologique national
  • Température intérieure, humidité et teneur en composés organiques volatils (COV)
  • Articles de presse - de News.org
  • Calendrier (avec fonction d'alarme) - à partir de Microsoft Outlook
  • Informations sur la condition physique (pas, minutes de mouvement, points cardiaques, poids, calories brûlées) - de Google Fitness
  • un nuancier de code de couleur de résistance
  • un calculateur de résistance à LED (pour déterminer la valeur de la résistance en fonction du courant et de la source d'alimentation)
  • Outil de mesure de puissance et de courant

Ces informations sont mises à disposition via une combinaison d'API et de capteurs matériels. J'utilise un ESP32 pour le microcontrôleur et j'utilise le cloud AWS pour toute la collecte et l'agrégation de données.

J'ai également inclus quelques "œufs de Pâques":

  • Hommage à Ron McNair - Dr McNair est la raison pour laquelle je suis devenu ingénieur; il a grandi à 45 minutes de ma ville natale. Il est mort dans l'explosion du Challenger.

    • Le nom de mon vaisseau vedette est le "USS Ronald E McNair"
    • Le numéro d'enregistrement est à partir de la date de naissance de Sr McNair; le code de préfixe est le jour où il a perdu la vie.
  • L'utilisation d'un « code préfixe » est un clin d'œil à Star Trek: Wrath of Khan (le plus grand film Star Trek de tous les temps; ne me @ pas).
  • Les numéros de droite de l'étui terminal font référence à ma fraternité (1906 - Alpha Phi Alpha) et à mon alma mater et domaine d'études - (University of Oklahoma, College of Engineering)

Vous avez la possibilité de personnaliser la numérotation, le lettrage et le nom du navire, le registre, etc. pour vos propres « œufs de Pâques ».

Fond

L'année dernière, j'avais besoin d'un moyen peu coûteux de mesurer la puissance et l'épuisement de la batterie pour un projet portable. J'ai acheté un Featherwing Adafruit INA219 et utilisé des pièces de rechange assorties pour construire un appareil de mesure de puissance simple (vous pouvez en savoir plus à ce sujet ici).

Cette année, j'ai décidé de faire évoluer l'appareil… pour le rendre plus "technologique". J'avais initialement prévu de construire un tricordeur Star Trek fonctionnel (la version Mark IV TR-590 Mark IX, pour ceux qui s'en soucient)… mais j'ai rapidement réalisé qu'il était plus logique de créer quelque chose qui serait assis sur mon bureau (je veux dire, pourquoi se donner tout ce mal pour faire un appareil sympa, juste pour le fermer et le mettre dans un tiroir lorsqu'il n'est pas utilisé).

Donc, je me suis tourné vers la création d'une version des écrans d'ordinateur que vous voyez sur Star Trek TNG ou Voyager (ou les films assortis). J'ai joué avec différents modèles, puis je suis tombé sur une version créée par les frères Ruiz d'Adafruit. Adafruit fait un excellent travail en fournissant des fichiers source pour leurs projets imprimés en 3D, j'ai donc pu prendre leur version originale et la remixer pour mon matériel, mes boutons et autres périphériques.

Choses à savoir avant de continuer

  1. Je fournis des instructions étape par étape pour créer ma version du projet; cependant, je n'entre pas dans les détails de certaines étapes (je ferai un lien vers les instructions ou la documentation à l'appui)
  2. C'est un projet complexe. C'est une "marque multidisciplinaire", qui requiert les compétences suivantes

    • IDE Arduino
    • AWS - Vous aurez besoin d'un compte et devrez comprendre S3, Lambda et Node JS
    • Soudure
    • impression en 3D
  3. Il existe des "ajouts" facultatifs pour améliorer le projet afin d'obtenir des informations sur le calendrier et la forme physique. La fonctionnalité est incluse dans la base de code; cependant, vous devrez créer des "applications" dans les clouds Azure et Google pour prendre en charge les fonctionnalités.
  4. Ceci est finalement personnalisable… vous pouvez échanger le capteur de courant avec une autre plume. Vous pouvez utiliser une combinaison plume/wifi différente.

Fournitures

Composants electroniques

  • Adafruit ESP32 Plume de Huzza
  • Adafruit Featherwing Tripler Mini Kit
  • Déploiement du capteur tactile capacitif à 12 touches Adafruit
  • Adafruit TFT FeatherWing - Écran tactile 3,5" 480x320
  • Adafruit BME680 - Capteur de température, d'humidité, de pression et de gaz
  • Prise CC 2.1 à montage sur panneau (2)
  • Batterie Lithium Ion Polymère - 3,7 V 500mAh
  • Avertisseur piézo
  • Câble USB Mirco et chargeur 5V (un chargeur de téléphone USB typique fonctionnera)
  • Ruban en feuille de cuivre avec adhésif
  • Facultatif - Adafruit INA219 Featherwing
  • En option - Fiches mâles 2.1 - (à utiliser avec le capteur de courant INA219)

Lien vers tous les composants électroniques sauf les prises 2.1:

Composants de filament 3D et composants de peinture/ponçage en option

  • PLA conducteur de pâtes Proto
  • Filaments 3D supplémentaires - J'ai utilisé 4 couleurs - Gris, Noir, Aqua (bleu clair) et Blanc
  • Buses de 0,25 et 0,4 mm (j'ai utilisé le 0,25 pour les détails du lettrage).

Composants et outils d'assemblage de matériel

  • Vis M2x5 et M3x5
  • Broches d'en-tête droites et à angle droit (voir la liste de souhaits d'Adafruit pour les liens)
  • Fer à souder (et bobine de soudure, fer à souder, ventouse, etc.)
  • Kit de tournevis cruciforme Philips
  • Emballage rétractable
  • Fil toronné 22AWG - cinq ou six couleurs
  • Fil solide 22AWG - cinq ou six couleurs
  • Etau PCB et mains d'aide (facultatif, mais facilite la soudure)
  • Coupe-fils diagonaux
  • Pince à dénuder
  • Couteau Xacto (pour retirer les supports des pièces d'imprimante 3D)
  • Imprimante 3D (si vous prévoyez d'imprimer vous-même)
  • Du mastic ou du ruban adhésif (pour fixer la batterie à l'intérieur du boîtier imprimé)
  • Pieds à coulisse numériques
  • Colle Krazy
  • Facultatif - Gants jetables en nitrile
  • Facultatif - Tapis de soudure (facultatif, mais protège les surfaces)

Remarque: si vous ne disposez pas de ces outils, je vous suggère de consulter le site de Becky Stern pour obtenir des recommandations sur les bonnes options.

Logiciel

  • IDE Arduino
  • Éditeur Node JS (comme Microsoft Code)
  • Compte AWS
  • Facultatif - Compte Google Cloud (pour les informations sur la condition physique)
  • Facultatif - Compte Microsoft Azure Cloud (pour les informations sur le calendrier)
  • Étape 1: Télécharger, modifier des fichiers et imprimer des fichiers 3D

    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D
    Télécharger, modifier des fichiers et imprimer des fichiers 3D

    Vous pouvez soumettre les fichiers à un service d'impression 3D (comme 3D Hubs) ou vous pouvez imprimer le vôtre. Les fichiers sont disponibles sur PrusaPrinters.org.

    Ce boîtier est un remix du réveil Py Portal présenté sur le site Web d'Adafruit. Mon projet utilise un TFT similaire, j'ai donc pu minimiser la quantité de travail de conception nécessaire pour faire fonctionner le boîtier avec mes accessoires.

    J'ai utilisé les paramètres suivants pour l'impression:

    • Recto et verso imprimés à une hauteur de couche de 0,2 mm avec une buse de 0,4 mm, sans supports
    • Numéro de côté - imprimé à une hauteur de couche de 0,10 mm avec une buse de 0,25 mm, sans support
    • Clés - imprimées à une hauteur de couche de 0,2 mm avec une buse de 0,4 mm. Vous devrez en imprimer 7 et vous devrez imprimer avec le filament conducteur Proto-Pasta.
    • Boîtier - imprimé à une hauteur de couche de 0,2 mm.

      Des supports sont nécessaires, mais ne sont pas nécessaires partout (uniquement sur les côtés et au milieu où se trouve le clavier

    Quelques choses que vous devez savoir:

    1. Le Prusa MK3 vous permet de changer les couleurs à différentes hauteurs de couche. J'ai utilisé cette fonction pour la pièce de côté.
    2. Aussi, en ce qui concerne la pièce de côté:

      • L'équipe de production de Star Trek TNG saupoudrait des œufs de Pâques dans les accessoires. Si vous regardez attentivement diverses plaques et panneaux, vous verrez des noms de personnes, des paroles de chansons, etc. formé en 1906), et "OUCOE" - qui fait référence à mon alma mater (University of Oklahoma, College of Engineering).
      • J'ai créé une pièce side_number "vierge" que vous pouvez modifier afin de créer votre propre numéro et texte personnalisés.

    Étape 2: Souder/Assembler les Composants - Partie a (Clavier et Numéro de Côté)

    Souder/Assembler les Composants - Partie a (Clavier et Numéro de Côté)
    Souder/Assembler les Composants - Partie a (Clavier et Numéro de Côté)
    Composants à souder/assembler - Partie a (clavier et numéro de côté)
    Composants à souder/assembler - Partie a (clavier et numéro de côté)
    Composants à souder/assembler - Partie a (clavier et numéro de côté)
    Composants à souder/assembler - Partie a (clavier et numéro de côté)
    Souder/Assembler les Composants - Partie a (Clavier et Numéro de Côté)
    Souder/Assembler les Composants - Partie a (Clavier et Numéro de Côté)

    Tout d'abord, nous allons apposer le numéro de côté. Utilisez une petite noisette de colle pour mettre le numéro de côté en place.

    Ensuite, nous allons assembler le clavier

    1. Vous aurez besoin de couper 7 morceaux de fil toronné - chacun mesurant entre 10 et 12 pouces de longueur. Ceux-ci seront connectés aux broches 0-6 du capteur tactile capacitif. Je vous suggère d'utiliser différentes couleurs (et d'écrire le mappage des couleurs/broches, car vous aurez besoin de ces informations plus tard). J'ai utilisé la combinaison de couleurs suivante:

      • Jaune - Broche 0/Bouton 1
      • Gris - Broche 1/Bouton 2
      • Rouge - Broche 2 /Bouton 3
      • Bleu - Broche 3 //Bouton 4
      • Vert - Broche 4 //Bouton 5
      • Blanc - Broche 5 //Bouton 6
      • Noir - Broche 6 //Bouton 7
    2. Dénudez 1/2 po à partir de l'extrémité de chaque fil.
    3. Coupez 7 morceaux de ruban conducteur (chacun d'environ 1/2 pouce de largeur) et soudez les fils au côté cuivre du ruban.
    4. Retirez le support adhésif et collez-les au bas des touches. Vous devrez peut-être couper une partie du ruban de cuivre.

    Remarque: les clés peuvent être soit collées par le bas (pour qu'elles affleurent le haut) soit collées par le haut (pour qu'elles "flottent" à quelques mm du haut). J'ai choisi de coller le mien par le haut.

    Une fois que vous avez terminé les 7, utilisez une petite noisette de colle pour apposer les touches sur le clavier. Je trouve plus facile de:

    • D'abord "serpent" le fil à travers le trou de la serrure.
    • Ensuite, mettez une petite noisette de colle sur la crête/le rebord de la clé
    • Mettez rapidement la clé en place.

    Remarque: Krazy Glue fonctionne mieux ici; vous pouvez utiliser des gants pour limiter les accidents et les risques d'irritation de la peau.

    Étape 3: Souder/Assembler les composants - Partie B (Featherwings et capteurs)

    Composants à souder/assembler - Partie B (Ailes de plumes et capteurs)
    Composants à souder/assembler - Partie B (Ailes de plumes et capteurs)
    Composants à souder/assembler - Partie B (Ailes de plumes et capteurs)
    Composants à souder/assembler - Partie B (Ailes de plumes et capteurs)
    Composants à souder/assembler - Partie B (Ailes de plumes et capteurs)
    Composants à souder/assembler - Partie B (Ailes de plumes et capteurs)

    L'étape suivante consiste à préparer et à assembler les composants matériels. En fin de compte, cela signifie souder les broches et les fils de l'en-tête pour une utilisation ultérieure. Ce guide suppose que vous êtes à l'aise avec la soudure; sinon, consultez ce "Guide d'excellente soudure" d'Adafruit.

    Nous allons d'abord préparer le matériel. Pour cette étape, vous aurez besoin de:

    • TFT 3.5 Featherwing
    • Plume ESP32
    • INA219 Aile-plume
    • Aile-plume triple
    • Capteur tactile capacitif MPR121
    • Capteur BME680
    • Goupilles d'en-tête droites et à angle droit
    • Fil solide et toronné
    • Outils à souder et coup de main
    • Coupe-fils et pinces à dénuder diagonales
    • Étriers

    Remarque: je vous suggère de lire d'abord cette étape et de couper tous vos fils et embases avant de commencer à souder. De cette façon, vous n'aurez pas à vous arrêter pour mesurer/couper.

    Préparez le TFT 3.5 Featherwing

    Le TFT est prêt à l'emploi dès la sortie de la boîte avec un seul réglage. Vous aurez besoin de souder un fil entre la pastille "Lite" et une pastille à souder. Notre code utilise ESP32 Pin 21 pour contrôler le TFT lite. Disposez le TFT dans le sens "long", avec le bouton de réinitialisation en bas. La broche 21 sera la broche en bas à gauche.

    Coupez un morceau de fil torsadé de 40 mm. Dénudez les extrémités de sorte que quelques millimètres de fil soient visibles à chaque extrémité. À l'aide de votre fer à souder, soudez soigneusement les deux broches.

    Remarque: vous n'avez besoin que d'environ 35 mm de longueur… vous pouvez donc couper votre fil selon vos besoins. De plus, je trouve qu'ajouter de la soudure au plot, puis au fil, puis souder le fil au plot est l'approche la plus simple. Enfin - ces pads sont petits… si vous êtes mal à l'aise, vous pouvez toujours sauter cette étape: c'est uniquement pour éteindre le TFT avec le clavier.

    Préparer la plume ESP32

    Vous devrez souder des broches mâles standard à l'ESP32. Votre ESP32 doit être livré avec les en-têtes, mais vous devrez peut-être les couper pour obtenir la bonne longueur (16 broches sur le côté long; 12 broches sur le côté court). Les goupilles d'en-tête sont conçues pour "s'encliqueter", vous pouvez donc utiliser vos pinces coupantes en diagonale pour couper les en-têtes à la bonne longueur. Encore une fois, Adafruit a d'excellentes instructions sur la façon de le faire, alors consultez-le si vous avez besoin de conseils.

    OPTIONNEL - Préparez le Featherwing INA219

    Tout d'abord, soudez les en-têtes mâles à l'aile de plume (en utilisant les mêmes instructions que celles utilisées pour l'ESP32). Coupez ensuite quatre longueurs de 20 mm de fil torsadé. Je ferais 2 NOIR et les autres une couleur différente. J'ai utilisé le GRIS et le BLEU pour mes choix de couleurs.

    Dénudez les extrémités du fil de manière à ce que 3 à 4 mm de fil de cuivre soient exposés à chaque extrémité. Vous allez souder un de chaque fil comme ci-dessous:

    • GRIS -> V+ (plus)
    • BLEU -> V- (moins)
    • NOIR -> GND (terre)
    • NOIR -> GND (terre)

    Laissez les autres extrémités des fils à ce moment-là; nous les souderons finalement aux prises DC 2.1.

    Fixez le buzzer piézo

    L'INA Featherwing est livré avec une petite zone de prototypage; nous allons l'utiliser pour attacher notre piézo. Le piézo donnera à notre projet la possibilité d'émettre des bips et des alertes sonores, des alarmes, etc.

    Le piézo se connecte à ESP32 PIN 13; cela correspond à la broche à côté de la broche USB sur l'aile de plume (voir l'image pour les flèches). L'autre broche piézo se connecte à la terre. Les picots sont assez longs pour les souder directement à la plume… il vous suffit de plier les picots en forme d'« homme aux jambes arquées » (voir image). Une fois que vous avez les broches en place, utilisez un coup de main (ou du ruban adhésif) pour maintenir le piézo en place et soudez par le dessous de l'aile en plumes.

    Remarque - Si vous n'utilisez pas l'INA219, vous devrez alors souder le piézo directement à la planche à plumes.

    Préparer le Tripler Featherwing

    L'aile-plume nous permet d'économiser beaucoup de soudure; il peut contenir 3 plumes/plumes… nous allons donc l'utiliser pour faire les connexions électriques entre le TFT, ESP32, INA219 (ainsi que le piezo et la broche TFT Lite).

    Pour effectuer les connexions correctement, nous aurons besoin de souder deux paires d'en-têtes d'empilage et une paire d'en-têtes mâles standard.

    • Les en-têtes mâles réguliers continueront à l'endroit « supérieur », mais seront soudés au côté inférieur du Tripler.
    • Les deux en-têtes d'empilage seront soudés aux points 2 et 3, sur la face supérieure du Tripler.

    C'est un peu déroutant, alors assurez-vous de regarder les images pour comprendre où chaque en-tête est placé. En outre, une combinaison d'un étau pour PCB et de mains secourables peut grandement aider à souder les composants.

    Préparez le capteur BME 680 et le capteur tactile capacitif MPR121

    Les deux derniers capteurs sont les plus difficiles à attacher. Nous devons attacher les broches d'en-tête aux cartes de dérivation avant de finaliser l'assemblage.

    Le capteur BME est fixé à un angle de 90, afin que je puisse aligner le capteur sur un trou dans le boîtier (afin que le capteur puisse capturer la température, le gaz, l'humidité). Vous aurez besoin de souder des broches à angle droit aux trous. Consultez les images pour vous assurer de les aligner correctement.

    Le capteur tactile capacitif est simple - il suffit de souder les broches des connecteurs mâles droits, comme indiqué ici. Remarque: vous NE DEVRIEZ PAS souder les broches aux broches tactiles capacitives (0 - 11).

    Fixez les capteurs BME 680 et MPR121 à la carte triple

    Les deux capteurs communiquent via I2C… ce qui signifie que nous n'avons besoin que de 4 connexions entre les cartes de dérivation et le Featherwing. Pour plus de simplicité, je soude toutes les connexions entre les cartes.

    BME 680

    Pour ce capteur, j'utilise Helping Hands et un PCB Vise pour maintenir les deux composants en place (voir image ci-dessus). Le capteur BME680 doit être placé à l'extrémité de l'aile. Voir les images ci-dessus pour confirmer le placement.

    Le processus de soudure des connexions est fastidieux, alors allez-y lentement. J'utilise du fil à âme pleine pour les connexions:

      • NOIR - MASSE
      • ROUGE - NIV
      • JAUNE - SCL (broche SCK du capteur vers le
      • ORANGE - SDA (broche SDA sur le capteur)

    Remarque: les broches SCL et SDA sont nécessaires pour les deux capteurs, il peut donc être plus facile d'utiliser une broche SCL ou SDA sur une autre partie du Featherwing.

    MPR121

    Les mains secourables aident également lors de la soudure de ce capteur en place (le ruban fonctionne également). Le code utilisait I2C pour la communication avec l'ESP32, vous connecterez donc les broches SCA et SDA.

    Étape 4: Souder/Assembler les composants - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)

    Composants à souder/assembler - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)
    Composants à souder/assembler - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)
    Souder/Assembler les composants - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)
    Souder/Assembler les composants - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)
    Souder/Assembler les composants - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)
    Souder/Assembler les composants - Partie C (Clavier au capteur capacitif et Feathewing dans le boîtier)

    Vous allez souder les fils du clavier au capteur tactile capacitif au cours de cette étape. Utilisez le même mappage de couleurs que précédemment. Si vous avez suivi mon schéma de couleurs, vous souderez les fils colorés comme suit:

    • Jaune - Broche 0/Bouton 1
    • Gris - Broche 1/Bouton 2
    • Rouge - Broche 2 /Bouton 3
    • Bleu - Broche 3 /Bouton 4
    • Vert - Broche 4/Bouton 5
    • Blanc - Broche 5/Bouton 6
    • Noir - Broche 6/Bouton 7

    Une fois la soudure terminée, utilisez une attache torsadée pour maintenir les fils en place.

    Ensuite, vissez l'écran TFT sur la pièce "Front". Vous utiliserez les vis M3 (quatre au total). Une fois le TFT en place, vissez la pièce "Front" au boîtier. Encore une fois, vous utiliserez des vis M3 (deux).

    Ensuite, branchez le Featherwing Tripler, avec tous les composants branchés, au TFT.

    Remarque - Si vous prévoyez d'utiliser une batterie, assurez-vous de la brancher sur le port ESP32-JST avant d'insérer le TFT. Utilisez du ruban adhésif pour fixer la batterie à l'intérieur du fond du boîtier.

    Étape 5: OPTIONNEL - Souder/Assembler les composants - Partie D (Plume INA219)

    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)
    OPTIONNEL - Composants à souder/assembler - Partie D (Plume INA219)

    Si vous utilisez le capteur INA219, c'est ici que vous connectez les fils aux fiches CC.

    1. Insérez les fiches CC dans le couvercle arrière et vissez-les en place.
    2. Utilisez un fer à souder pour connecter les fils INA219.

      • Les fils noirs doivent aller à la TERRE pour chaque fiche CC.
      • Le fil gris doit aller à la fiche INPUT DC
      • Le fil bleu doit aller à la prise de SORTIE.

    Étape 6: vissez le couvercle arrière et branchez l'USB

    La dernière étape de l'assemblage du matériel consiste à visser le couvercle arrière en place - à l'aide de vis M2 (4). À partir de là, branchez le câble USB, connectez-le à votre PC et passez aux étapes du logiciel !

    Étape 7: préparer l'environnement AWS

    Préparer l'environnement AWS
    Préparer l'environnement AWS

    Comme je l'ai dit dans l'intro, le principe de la solution est le suivant:

    1. Le Terminal, alimenté par un ESP32, utilise une connexion MQTT (sur Wifi) pour communiquer avec le cloud AWS.
    2. Le cloud AWS effectue l'essentiel du traitement et sert de relais entre le moniteur et les services demandés.

    Il y a quelques choses que nous devrons faire dans cette étape:

    Tout d'abord, vous devez configurer votre environnement AWS, si vous ne l'avez pas encore fait. Cette instructable suppose que vous avez déjà un compte AWS configuré, donc les instructions sur la configuration d'un compte cloud ne sont pas incluses. Cela étant dit, les étapes sont simples et peuvent être trouvées ici.

    Une fois cette étape franchie, vous devez créer quelques services, alors connectez-vous à la console AWS.

    Créer une chose et télécharger des clés

    AWS IoT Core facilite la communication entre le cloud AWS et l'écran. Vous devrez créer une "chose" et télécharger des certificats pour prendre en charge la communication.

    [Remarque: la plupart de ces instructions sont tirées d'un guide écrit par Moheeb Zara, AWS Evangelist]

    1. Ouvrez la console AWS et sélectionnez AWS IoT Core.
    2. Dans la console AWS IoT, choisissez Enregistrer une nouvelle chose, Créer une seule chose.
    3. Nommez la nouvelle chose "starTrekESP32". Laissez les champs restants définis sur leurs valeurs par défaut. Choisissez Suivant.
    4. Choisissez Créer un certificat. Seuls les téléchargements de certificat de chose, de clé privée et d'Amazon Root CA 1 sont nécessaires pour que l'ESP32 se connecte. Téléchargez-les et enregistrez-les dans un endroit sûr, car ils sont utilisés lors de la programmation de l'appareil ESP32.
    5. Choisissez Activer, Attacher une stratégie.
    6. Ignorez l'ajout d'une stratégie et choisissez Enregistrer la chose.
    7. Dans le menu latéral de la console AWS IoT, choisissez Secure, Policies, Create a policy.
    8. Nommez la stratégie AllowEverything. Choisissez l'onglet Avancé.
    9. Collez le modèle de stratégie suivant.
    10. { { "Version": "2012-10-17", "Déclaration": [{ "Effet": "Autoriser", "Action": "iot:*", "Ressource": "*" }] }
    11. Choisissez Créer. (Remarque: Ceci n'est recommandé que pour commencer. Une fois que vous êtes à l'aise avec le fonctionnement de tout, veuillez revenir en arrière et changer cela pour quelque chose de plus restrictif.)
    12. Dans la console AWS IoT, choisissez Secure, Certification.
    13. Sélectionnez celui créé pour votre appareil et choisissez Actions, Attacher la politique.
    14. Choisissez Autoriser tout, Attacher.
    15. Avant de partir, cliquez sur "Paramètres" (dans le menu de gauche). Votre « point de terminaison personnalisé » sera affiché; enregistrez-le dans un fichier texte… vous en aurez besoin lorsque vous configurerez l'ESP32.

    Créer un fichier Lambda vierge

    Lambda est une forme de calcul sans serveur, nous n'avons donc pas à nous soucier du matériel ici. En fin de compte, c'est là que nous placerons notre code mis à jour (ce que nous ferons en quelques étapes). Pour l'instant, nous voulons juste créer un espace réservé, donc…

    1. Reconnectez-vous à la console AWS (si vous vous êtes déconnecté) et cliquez sur Lambda.
    2. Cliquez sur le bouton "Créer une fonction".
    3. Sur la page suivante, entrez un nom de base, comme starTrekDisplay
    4. Sélectionnez Node.js 12. X
    5. Sous autorisations:

      • Si vous connaissez bien Lambda et que vous le connaissez bien, vous pouvez sélectionner l'option qui a du sens. Vous aurez besoin d'autorisations sur CloudWatch, IotCore, S3 (lecture et écriture).
      • Si vous n'êtes pas sûr des autorisations, sélectionnez « Créer un nouveau rôle avec des autorisations Lambda de base ». Notez le nom du rôle. Plus tard, nous modifierons les autorisations.
    6. Cliquez sur Créer une fonction.
    7. Après une minute, vous entrerez dans un nouvel écran avec un extrait de code "hello world". Faites défiler vers le bas jusqu'à Paramètres de base et cliquez sur "Modifier"
    8. Modifiez le délai d'attente de 3 secondes à 2 minutes et 0 secondes. Remarque: votre code ne doit jamais s'exécuter plus de 5 à 10 secondes… cependant, nous avons besoin d'un délai plus long pour votre authentification initiale auprès de Microsoft (pour la fonctionnalité de calendrier). Une fois que vous vous êtes authentifié, vous pouvez changer cela en 20 secondes.
    9. Appuyez sur Enregistrer.

    Créer une règle Iot

    1. Restez dans la console Lambda et faites défiler vers le haut. Sélectionnez "Ajouter un déclencheur".
    2. Sélectionnez AWS IoT. Sélectionnez ensuite "Règle personnalisée".
    3. Choisissez "Créer une nouvelle règle".

      • Nom de la règle: connexion ESP
      • Instruction de requête de règle: "SELECT * FROM 'starTrekDisplay/pub'
    4. Cliquez sur "Ajouter"

    Créer un compartiment et un dossier S3

    1. Accédez à la console AWS et sélectionnez S3.
    2. Vous aurez besoin d'un compartiment et d'un dossier pour stocker les fichiers d'authentification. Ce dossier doit être privé. Je vous suggère d'utiliser n'importe quel seau que vous possédez déjà et de créer un dossier appelé "starTrekDisplay". Remarque: si vous n'avez pas de compartiment, créez-en un en suivant les instructions ici.

    Mettre à jour les autorisations - Si vous avez autorisé Lambda à créer un rôle pour vous, vous devrez suivre cette étape

    1. Connectez-vous à la console AWS et sélectionnez IAM
    2. Cliquez sur ROLES, puis sélectionnez le nom de rôle que vous avez créé précédemment.
    3. Cliquez sur joindre des politiques, puis sélectionnez les politiques suivantes:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Étape 8: Téléchargez les clés logicielles et configurez les services tiers

    Télécharger les clés logicielles et configurer les services tiers
    Télécharger les clés logicielles et configurer les services tiers

    J'utilise les services tiers suivants dans le projet:

    1. API Worldtime - pour le temps
    2. API du service météorologique national - pour la météo
    3. API Microsoft Graph pour accéder à mon calendrier
    4. API Google Fitness pour accéder aux informations de remise en forme

    Vous devrez créer des comptes et télécharger des clés afin de tirer parti des mêmes services

    API Worldtime - pour le temps

    Cette API ne nécessite pas de clé, aucune action n'est donc nécessaire pour que cela fonctionne.

    API du service météorologique national - pour la météo

    L'API du National Weather Service est gratuite et aucune clé API n'est requise. Cependant, ils vous demandent de transmettre des informations de contact (sous la forme d'un e-mail) dans chaque demande (dans le cadre du fichier d'en-tête). Vous ajouterez des informations de contact au code à l'étape suivante.

    OPTIONNEL - API Microsoft Graph et API Google Fitness

    C'est la partie la plus complexe de la configuration du code. Notre appareil n'a pas de clavier à part entière… c'est pourquoi nous utilisons quelque chose appelé OAUTH pour les appareils limités pour accéder à notre calendrier. Malheureusement, vous devez créer une "application" Azure et une application Google pour que votre code puisse utiliser OAUTH pour des appareils limités.

    Les instructions pour créer une application sont ici pour Microsoft et ici pour Google. Voici quelques éléments que vous devez savoir:

    • Vous devrez créer un compte cloud Azure et Google. C'est gratuit et rien ne vous sera facturé
    • Microsoft:

      • Il vous sera demandé de préciser quels utilisateurs peuvent utiliser l'application. Je vous suggère de sélectionner "Comptes dans n'importe quel répertoire d'organisation et comptes Microsoft personnels". Cela vous permettra d'utiliser des comptes Microsoft personnels et des comptes d'entreprise (dans la plupart des cas).
      • Vous voudrez sélectionner les applications "Mobile et bureau", mais vous n'avez pas à remplir toutes les informations (puisqu'il s'agit d'une application personnelle). Cela signifie que vous ne pouvez pas rendre votre application accessible au monde…. mais ça va dans ce cas
      • Une fois votre application configurée, vous devrez sélectionner les autorisations nécessaires. J'ai demandé des autorisations liées aux profils et aux calendriers (voir l'image dans la galerie pour la liste complète des autorisations). Vous devrez sélectionner ce même ensemble. Si vous ajoutez d'autres autorisations, vous devrez modifier la portée de manière appropriée à l'étape suivante.

    Étape 9: modifier et télécharger le code AWS

    Cette instructable suppose que vous connaissez le développement Node.js et Lambda. Téléchargez le fichier lié et apportez les modifications pour mettre à jour:

    • Informations sur l'application et le client Microsoft
    • Clé Google
    • Adresse e-mail pour le suivi du service météorologique national
    • Nom du compartiment S3
    • Nom du dossier S3
    • Point de terminaison AWS

    Vous devrez également télécharger les bibliothèques de nœuds suivantes:

    1. aws-sdk
    2. fuseau horaire du moment
    3. accents

    Une fois ces modifications apportées, téléchargez le code dans l'espace réservé lambda que vous avez créé précédemment.

    Étape 10: Préparez l'IDE Arduino et téléchargez les bibliothèques

    Ce guide suppose également que vous connaissez Arduino. Vous devrez vous assurer que votre IDE est configuré pour fonctionner avec un Adafruit ESP32. Suivez les instructions ici si vous avez besoin d'aide.

    Une fois cette opération terminée, téléchargez les bibliothèques suivantes:

    • Adafruit_GFX (du gestionnaire de la bibliothèque)
    • Adafruit_HX8357 (du gestionnaire de bibliothèque)
    • TFT_eSPI (du gestionnaire de la bibliothèque)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (du gestionnaire de la bibliothèque)
    • ArduinoJson (du gestionnaire de bibliothèque)
    • Adafruit_STMPE610 (du gestionnaire de bibliothèque)
    • Adafruit_MPR121 (du gestionnaire de la bibliothèque)
    • Adafruit_INA219 (du gestionnaire de la bibliothèque)
    • Adafruit_Sensor (du gestionnaire de la bibliothèque)
    • Adafruit_BME680 (du gestionnaire de bibliothèque)
    • Tone32 (https://github.com/lbernstone/Tone)

    Ensuite, nous devrons modifier quelques-unes des bibliothèques:

    1. Ouvrez le dossier PubSubClient (dans le dossier Arduino/Library) et ouvrez " PubSubClient.h ". Recherchez la valeur de MQTT_MAX_PACKET_SIZE et remplacez-la par 2000.
    2. Ensuite, ouvrez le dossier TFT_eSPI et ouvrez le fichier " User_Setup_Select.h". Mettez en commentaire toutes les lignes « includes users_setup… » et ajoutez cette ligne:

    #comprendre

    Ensuite, téléchargez le fichier Custom_Tricorder.zip lié et extrayez le fichier ".h" dans l'emplacement " TFT_eSPI / User_Setups" dans votre dossier de bibliothèques Arduino. je

    Maintenant, nous pouvons passer à la mise à jour du code Arduino

    Étape 11: Mettez à jour et installez le code Arduino et engagez-vous

    Mettez à jour et installez le code Arduino et engagez-vous !
    Mettez à jour et installez le code Arduino et engagez-vous !

    Code Arduino

    Téléchargez et décompressez le fichier lié pour le code Arduino. Allez dans l'onglet secrets.h. Vous devrez mettre à jour les éléments suivants:

    • WIFI_SSID = mise à jour avec votre SSID wifi
    • WIFI_PASSWORD = mise à jour avec votre mot de passe wifi
    • TIMEZONE = mise à jour avec votre fuseau horaire à partir de cette liste
    • LAT (vous pouvez utiliser un service comme "https://www.latlong.net" pour trouver votre latitude et longitude
    • GNL
    • AWS_IOT_ENDPOINT = vous devriez avoir enregistré cela plus tôt. Il devrait ressembler à "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Vous aurez également téléchargé les certificats d'une étape précédente. Ouvrez ensuite dans l'éditeur de notes (par exemple le bloc-notes) et collez le texte entre le ' R"EOF(' et ')EOF";'. Assurez-vous d'inclure "-----BEGIN CERTIFICATE-----" ou "-----BEGIN RSA PRIVATE KEY-----".

    Fichiers images

    L'ESP32 est livré avec un petit système de fichiers. Nous utilisons ce système de fichiers pour enregistrer des images pour notre programme. Vous devrez installer l'outil qui vous permet de télécharger des fichiers.

    1. Tout d'abord, visitez le didacticiel détaillé sur les didacticiels Random Nerd.
    2. Une fois que cela fonctionne, vous pouvez télécharger les fichiers dans le dossier de données (également inclus dans le fichier zip).

    Engager

    Téléchargez le code Arduino final et le tour est joué !

    Remarque - Le nom Star Trek et les images Star Trek appartiennent à CBS/Paramount. Ils ont une politique assez laxiste en matière de cosplay et de fan fiction - veuillez lire ici si vous avez des questions.

    Concours Fandom
    Concours Fandom
    Concours Fandom
    Concours Fandom

    Premier prix du concours Fandom

    Conseillé: