Cuprins:

Fă-o așa! Calculator Star Trek TNG Mini Engineering: 11 pași (cu imagini)
Fă-o așa! Calculator Star Trek TNG Mini Engineering: 11 pași (cu imagini)

Video: Fă-o așa! Calculator Star Trek TNG Mini Engineering: 11 pași (cu imagini)

Video: Fă-o așa! Calculator Star Trek TNG Mini Engineering: 11 pași (cu imagini)
Video: Pe urmele unei civilizații antice? 🗿 Și dacă ne-am înșelat cu trecutul nostru? 2024, Septembrie
Anonim
Image
Image
Fă-o așa! Star Trek TNG Mini Computer Computer
Fă-o așa! Star Trek TNG Mini Computer Computer
Fă-o așa! Star Trek TNG Mini Computer Computer
Fă-o așa! Star Trek TNG Mini Computer Computer

Prezentare generală

Am crescut urmărind Star Trek: Următoarea generație. Întotdeauna mi-am dorit să construiesc un dispozitiv tematic Star Trek, așa că în cele din urmă am reușit să remixez unul dintre vechile mele proiecte pentru a crea un terminal Star Trek Display.

Terminalul oferă următoarele informații:

  • Vremea - folosind Serviciul Național de Meteo
  • Temperatura interioară, umiditatea și rezistența compusului organic volatil (COV)
  • Articole de știri - de la News.org
  • Program (cu funcție de alarmă) - de la Microsoft Outlook
  • Informații despre fitness (pași, minute de mișcare, puncte cardiace, greutate, calorii arse) - de la Google Fitness
  • o diagramă a codului de culoare Rezistor
  • un calculator de rezistență cu LED (pentru a determina valoarea rezistorului pe baza puterii curente și a sursei)
  • Instrument de măsurare a puterii și curentului

Aceste informații sunt puse la dispoziție printr-o combinație de API-uri și senzori hardware. Utilizez un ESP32 pentru microcontroler și folosesc AWS Cloud pentru toată colectarea și agregarea datelor.

Am inclus și câteva „ouă de Paște”:

  • Omagiu Ron McNair - Dr. McNair este motivul pentru care am devenit inginer; a crescut la 45 de minute de orașul meu natal. A murit în explozia Challenger.

    • Numele navei mele stele este „USS Ronald E McNair”
    • Numărul de înregistrare este de la data nașterii lui Sr McNair; Codul prefixului este ziua în care și-a pierdut viața.
  • Folosirea unui „cod prefix” este un semn din cap către Star Trek: Wrath of Khan (cel mai mare film Star Trek din toate timpurile; nu mă faceți).
  • Numerele din dreapta cazului terminal se referă la fraternitatea mea (1906 - Alpha Phi Alpha) și alma mater și la domeniul de studiu - (University of Oklahoma, College of Engineering)

Aveți opțiunea de a personaliza numerotarea, inscripționarea și numele navei, registrul etc. pentru propriile „ouă de Paște”.

fundal

Anul trecut, am avut nevoie de o modalitate ieftină de a măsura puterea și consumul bateriei pentru un proiect purtabil. Am cumpărat un Adafruit INA219 Featherwing și am folosit câteva piese de schimb asortate pentru a construi un dispozitiv simplu de măsurare a puterii (puteți citi mai multe despre el aici).

Anul acesta, am decis să actualizez dispozitivul … pentru a-l face mai „tehnic”. Inițial am planificat să construiesc un tricorder Star Trek funcțional (versiunea Mark IV TR-590 Mark IX, pentru cei cărora le pasă) … dar mi-am dat seama rapid că avea mai mult sens să creez ceva care să stea pe biroul meu (adică de ce du-te la toate aceste probleme pentru a face un dispozitiv rece, doar pentru a-l închide și pune-l într-un sertar când nu este folosit).

Deci, m-am orientat spre realizarea unei versiuni a afișajelor computerului pe care le vedeți pe Star Trek TNG sau Voyager (sau filmele asortate). M-am jucat cu diferite modele, apoi am dat peste o versiune creată de Frații Ruiz din Adafruit. Adafruit face o treabă excelentă prin furnizarea de fișiere sursă pentru proiectele lor imprimate 3D, așa că am putut să le iau versiunea originală și să o remixez pentru hardware, butoane și alte periferice.

Lucruri de știut înainte de a continua

  1. Ofer instrucțiuni pas cu pas pentru realizarea versiunii mele a proiectului; totuși, nu intru în detalii cu privire la anumiți pași (voi face legătura cu instrucțiunile sau documentația justificativă)
  2. Acesta este un proiect complex. Este un „model multi-disciplinat”, care necesită următoarele abilități

    • IDE Arduino
    • AWS - Veți avea nevoie de un cont și va trebui să înțelegeți S3, Lambda și Node JS
    • Lipire
    • printare 3d
  3. Există opțiuni „add ins” opționale pentru a îmbunătăți proiectul pentru a obține informații despre Calendar și Fitness. Funcționalitatea este inclusă în baza de cod; cu toate acestea, va trebui să creați „aplicații” în cloud-urile Azure și Google pentru a sprijini caracteristicile.
  4. Acest lucru este în cele din urmă personalizabil … puteți schimba senzorul de curent cu o altă pene Puteți utiliza o altă combinație pene / wifi.

Provizii

Componente electronice

  • Adafruit ESP32 Huzzah Feather
  • Mini kit Adafruit Featherwing Tripler
  • Adafruit 12-Key Capacitive Touch Sensor Breakout
  • Adafruit TFT FeatherWing - Ecran tactil de 3,5 "480x320
  • Adafruit BME680 - Senzor de temperatură, umiditate, presiune și gaz
  • Suport DC cu panou 2.1 Jack cu butoi (2)
  • Baterie polimer litiu-ion - 3,7 V 500mAh
  • Piezo Buzzer
  • Cablu USB Mirco și încărcător de 5V (un încărcător tipic de telefon USB va funcționa)
  • Bandă din folie de cupru cu adeziv
  • Opțional - Adafruit INA219 Featherwing
  • Opțional - 2,1 mufe tată - (pentru utilizare cu senzorul de curent INA219)

Link către toate componentele electronice, cu excepția mufelor 2.1:

Componente de filament 3D și componente opționale de vopsire / șlefuire

  • Proto Pasta Conductiv PLA
  • Filamente 3D suplimentare - am folosit 4 culori - Gri, Negru, Aqua (albastru deschis) și Alb
  • Duze de.25 și 0.4 mm (am folosit 0.25 pentru detaliile de inscripționare).

Componente și instrumente de asamblare hardware

  • Șuruburi M2x5 și M3x5
  • Pinii antetului cu unghi drept și drept (a se vedea lista de dorințe Adafruit pentru linkuri)
  • Fier de lipit (și bobina de lipit, staniu de vârf, ventuză de lipit etc.)
  • Set de șurubelniță cu cap Philips
  • Înveliș termocontractabil
  • Stranded Wire 22AWG - cinci sau șase culori
  • Solid Wire 22AWG - cinci sau șase culori
  • Mufă PCB și mâini ajutătoare (opțional, dar ușurează lipirea)
  • Freze diagonale de sârmă
  • Dispozitive de decupare a firelor
  • Cuțit Xacto (pentru îndepărtarea suporturilor de pe piesele imprimantei 3D)
  • Imprimantă 3D (dacă intenționați să imprimați singuri)
  • Chit sau bandă (pentru a fixa bateria în interiorul carcasei imprimate)
  • Etriere digitale
  • Krazy Glue
  • Opțional - Mănuși de unică folosință din nitril
  • Opțional - covor de lipit (opțional, dar protejează suprafețele)

Notă: dacă nu aveți aceste instrumente, vă sugerez să vizitați site-ul Becky Stern pentru recomandări pentru opțiuni bune.

Software

  • IDE Arduino
  • Editor nod JS (cum ar fi Microsoft Code)
  • Cont AWS
  • Opțional - Cont Google Cloud (pentru informații despre fitness)
  • Opțional - Cont Microsoft Azure Cloud (pentru informații despre calendar)
  • Pasul 1: Descărcați, modificați fișierele și imprimați fișiere 3D

    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D
    Descărcați, modificați fișierele și imprimați fișiere 3D

    Puteți trimite fișierele la un serviciu de imprimare 3D (cum ar fi Hub-uri 3D) sau puteți imprima propriul dvs. Fișierele sunt disponibile la PrusaPrinters.org.

    Acest caz este un remix al ceasului cu alarmă Py Portal prezentat pe site-ul web Adafruit. Proiectul meu folosește un TFT similar, așa că am reușit să reduc la minimum cantitatea de lucru necesară pentru ca carcasa să funcționeze cu accesoriile mele.

    Am folosit următoarele setări pentru imprimare:

    • Față și spate - imprimate la 0,2 mm înălțimea stratului cu o duză de 0,4 mm, fără suporturi
    • Număr lateral - imprimat la înălțimea stratului de 0,10 mm cu o duză de 0,25 mm, fără suporturi
    • Taste - tipărite la 0,2 mm înălțimea stratului cu o duză de 0,4 mm. Va trebui să tipăriți 7 și va trebui să imprimați cu filament conductiv Proto-Pasta.
    • Carcasă - imprimată la înălțimea stratului de 0,2 mm.

      Suporturile sunt necesare, dar nu sunt necesare peste tot (doar pe părțile laterale și mijlocul în care se află tastatura

    Câteva lucruri pe care ar trebui să le știți:

    1. Prusa MK3 vă permite să schimbați culorile la diferite înălțimi ale stratului. Am folosit această caracteristică pentru piesa cu număr lateral.
    2. De asemenea, în ceea ce privește piesa cu număr lateral:

      • Echipajul de producție Star Trek TNG ar stropi ouă de Paște în recuzită. Dacă vă uitați atent la diverse plăci și panouri, veți vedea numele oamenilor, versurile melodiilor etc. Am vrut să îmi creez propriul „ou de Paște” pentru numărul lateral, așa că folosesc „06” - care se referă la frăția mea (format în 1906) și „OUCOE” - care se referă la alma mater mea (Universitatea din Oklahoma, Colegiul de Inginerie).
      • Am creat o piesă „goală” cu numărul lateral, pe care o puteți modifica pentru a vă crea propriul număr personalizat și text.

    Pasul 2: Componente de lipit / asamblați - partea a (tastatură și număr lateral)

    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)
    Componente de lipit / asamblat - partea a (tastatură și număr lateral)

    În primul rând, vom aplica numărul lateral. Folosiți un pic de adeziv pentru a pune numărul lateral.

    Apoi, vom asambla tastatura

    1. Va trebui să tăiați 7 bucăți de sârmă torsadată - fiecare având o lungime cuprinsă între 10-12 inci. Acestea vor fi conectate la pinii 0-6 ai senzorului tactil capacitiv. Vă sugerez să utilizați culori diferite (și să scrieți culorile / maparea pinilor, deoarece veți avea nevoie de aceste informații mai târziu). Am folosit următoarea combinație de culori:

      • Galben - Pin 0 / Butonul 1
      • Gri - Pinul 1 / Butonul 2
      • Roșu - Pin 2 / Buton 3
      • Albastru - Pin 3 // Butonul 4
      • Verde - Pinul 4 // Butonul 5
      • Alb - Pinul 5 // Butonul 6
      • Negru - Pin 6 // Butonul 7
    2. Îndepărtați 1/2 închi de la capătul fiecărui fir.
    3. Tăiați 7 bucăți de bandă conductivă (fiecare cu o lățime de aproximativ 1/2 inch) și lipiți firele pe partea de cupru a benzii.
    4. Scoateți suportul adeziv și lipiți-l de partea de jos a cheilor. Poate că va trebui să tăiați o parte din banda de cupru.

    Notă: Cheile pot fi fie lipite de jos (astfel încât să fie la nivelul vârfului), fie lipite de sus (astfel încât să „plutească” la câțiva mm de sus). Am ales să-i lipesc pe al meu de sus.

    Odată ce ați terminat toate cele 7, utilizați un pic de lipici pentru a fixa tastele pe tastatură. Mi se pare mai ușor să:

    • Mai întâi „șarpeți” firul prin orificiul cheii.
    • Apoi puneți un pic de lipici pe creasta / marginea cheii
    • Puneți rapid cheia în poziție.

    Notă: Krazy Glue funcționează cel mai bine aici; poate doriți să folosiți mănuși pentru a limita accidentele și șansele de iritare a pielii.

    Pasul 3: Componente de lipit / asamblați - Partea B (Aripi și senzori)

    Componente de lipit / asamblați - partea B (aripi și senzori)
    Componente de lipit / asamblați - partea B (aripi și senzori)
    Componente de lipit / asamblați - partea B (aripi și senzori)
    Componente de lipit / asamblați - partea B (aripi și senzori)
    Componente de lipit / asamblați - partea B (aripi și senzori)
    Componente de lipit / asamblați - partea B (aripi și senzori)

    Următorul pas este pregătirea și asamblarea componentelor hardware. În cele din urmă, aceasta înseamnă lipirea știfturilor și firelor de antet pentru utilizare ulterioară. Acest ghid presupune că sunteți confortabil cu lipirea; dacă nu, consultați acest „Ghid pentru lipirea excelentă” de la Adafruit.

    Mai întâi vom pregăti materiale. Pentru acest pas, veți avea nevoie de:

    • TFT 3.5 Featherwing
    • ESP32 Pene
    • INA219 Featherwing
    • Tripler Featherwing
    • Senzor tactil capacitiv MPR121
    • Senzor BME680
    • Pinii antetului unghi drept și drept
    • Sârmă solidă și eșuată
    • Unelte de lipit și mâini ajutătoare
    • Freze diagonale și freze de sârmă
    • Etriere

    Notă: Vă sugerez să citiți mai întâi acest pas și să vă tăiați toate firele și antetele înainte de a începe să lipiți. În acest fel, nu va trebui să vă opriți pentru a măsura / tăia.

    Pregătiți TFT 3.5 Featherwing

    TFT-ul este gata de utilizare din cutie cu singura reglare. Va trebui să lipiți un fir între pad-ul „Lite” și un tampon de lipit cu știfturi. Codul nostru folosește ESP32 Pin 21 pentru a controla TFT lite. Aranjați TFT-ul „lung”, cu butonul de resetare în partea de jos. Pinul 21 va fi pinul din stânga jos.

    Tăiați o bucată de sârmă de 40 mm. Îndepărtați capetele astfel încât să arate câțiva milimetri de sârmă pe fiecare capăt. Folosind fierul de lipit, lipiți cu atenție pe ambii știfturi.

    Notă: aveți nevoie doar de aproximativ 35 mm lungime … astfel încât să vă puteți tăia firul după cum este necesar. De asemenea, constat că adăugarea lipirii pe tampon, apoi pe fir, apoi lipirea firului pe tampon este cea mai ușoară abordare. În cele din urmă - aceste plăcuțe sunt mici … dacă nu vă simțiți confortabil, puteți oricând sări peste acest pas: este doar pentru oprirea TFT-ului cu tastatura.

    Pregătiți ESP32 Feather

    Va trebui să lipiți pinii de antet standard pentru bărbați la ESP32. ESP32 ar trebui să vină cu anteturi, deși este posibil să fie nevoie să le tăiați pentru a ajunge la lungimea corectă (16 pini pe partea lungă; 12 pini pe partea scurtă). Știfturile pentru antet sunt făcute pentru a „rupe”, astfel încât să puteți utiliza tăietorile diagonale pentru a tăia antetele la lungimea corectă. Din nou, Adafruit are instrucțiuni excelente despre cum să faceți acest lucru, deci verificați-l dacă aveți nevoie de îndrumare.

    OPȚIONAL - Pregătiți INA219 Featherwing

    Mai întâi, lipiți anteturile masculine la aripa cu pene (folosind aceleași instrucțiuni ca și cele utilizate pentru ESP32). Apoi tăiați patru lungimi de 20 mm de sârmă torsadată. Aș face 2 NEGRU și celelalte o culoare diferită. Am folosit GREY și BLUE pentru alegerile mele de culoare.

    Îndepărtați capetele firului astfel încât să fie expuse 3-4 mm de fir de cupru la fiecare capăt. Veți lipi câte unul din fiecare fir ca mai jos:

    • GREY -> V + (plus)
    • ALBASTRU -> V- (minus)
    • NEGRU -> GND (sol)
    • NEGRU -> GND (sol)

    Lăsați celelalte capete ale firelor în acest moment; în cele din urmă le vom lipi la mufele DC 2.1.

    Atașați Piezo Buzzer

    INA Featherwing vine cu o mică zonă de prototipare; vom folosi asta pentru a atașa piezo-ul nostru. Piezo-ul va oferi proiectului nostru capacitatea de a emite semnal sonor și sonor, alarme etc.

    Piezo se conectează la ESP32 PIN 13; acest lucru se corelează cu pinul de lângă pinul USB de pe aripa cu pene (vezi imaginea pentru săgeți). Celălalt știft piezo se conectează la sol. Știfturile pieze sunt suficient de lungi pentru a le lipi direct la aripa cu pene … va trebui doar să îndoiți știfturile în formă de „om cu picioare de arc” (vezi imaginea). Odată ce aveți știfturile în poziție, folosiți o mână de ajutor (sau o bandă) pentru a ține piezo-ul în poziție și lipiți din partea inferioară a aripii.

    Notă - Dacă nu utilizați INA219, atunci va trebui să lipiți piezo direct pe placa cu pene.

    Pregătiți Tripler Featherwing

    Aripa cu pene ne economisește foarte mult de lipit; poate conține 3 pene / pene … așa că îl vom folosi pentru a face conexiuni electrice între TFT, ESP32, INA219 (precum și piezo și pinul TFT Lite).

    Pentru a face conexiunile corect, va trebui să lipim două perechi de anteturi de stivuire și o pereche de anteturi masculine standard.

    • Anteturile masculine obișnuite vor continua în locul "de sus", dar vor fi lipite în partea de jos a Triplerului.
    • Cele două anteturi de stivuire vor fi lipite în locurile 2 și 3, în partea superioară a Tripler-ului.

    Acest lucru este puțin confuz, deci asigurați-vă că vă uitați la imagini pentru a înțelege unde este plasat fiecare antet. De asemenea, o combinație între menghină PCB și mâini ajutătoare poate ajuta foarte mult la lipirea componentelor.

    Pregătiți senzorul BME 680 și senzorul tactil capacitiv MPR121

    Ultimii doi senzori sunt cel mai dificil de atașat. Înainte de a finaliza asamblarea, trebuie să atașăm știfturile de antet la plăcile de separare.

    Senzorul BME este atașat la un unghi de 90, astfel încât să pot alinia senzorul la o gaură din carcasă (astfel încât senzorul să poată captura temperatura, gazul, umiditatea). Va trebui să lipiți știfturile cu unghi drept la găuri. Vedeți imaginile pentru a vă asigura că le aliniați corect.

    Senzorul tactil capacitiv este simplu - doar lipiți pinii conectori drepți de sex masculin, așa cum este prezentat aici. Notă: NU TREBUIEȚI să lipiți pinii la pinii capacitivi tactili (0 - 11).

    Atașați senzorii BME 680 și MPR121 la placa Tripler

    Ambii senzori comunică prin I2C … ceea ce înseamnă că trebuie doar să facem 4 conexiuni între plăcile de separare și Featherwing. Pentru simplitate, am lipit toate conexiunile dintre plăci.

    BME 680

    Pentru acest senzor, folosesc Helping Hands și un menghină PCB pentru a menține ambele componente în poziție (a se vedea imaginea de mai sus). Senzorul BME680 trebuie amplasat la capătul aripii cu pene. Vedeți imaginile de mai sus pentru a confirma plasarea.

    Procesul de lipire a conexiunilor este obositor, deci mergeți încet. Folosesc sârmă cu miez solid pentru conexiuni:

      • NEGRU - GND
      • RED - VIN
      • GALBEN - SCL (pin SCK de pe senzor la
      • ORANGE - SDA (pin SDA pe senzor)

    Notă: Pinii SCL și SDA sunt necesari pentru ambii senzori, deci ar putea fi mai ușor să utilizați un pin SCL sau SDA pe o altă parte a Featherwing.

    MPR121

    Ajutarea mâinilor ajută și la lipirea acestui senzor în loc (banda funcționează și ea). Codul a folosit I2C pentru comunicarea cu ESP32, deci veți conecta pinii SCA și SDA.

    Pasul 4: Componente de lipit / asamblați - Partea C (Tastatura senzorului capacitiv și caracteristica în caz)

    Componente de lipit / asamblați - Partea C (Tastatură pentru senzorul capacitiv și caracteristică în caz)
    Componente de lipit / asamblați - Partea C (Tastatură pentru senzorul capacitiv și caracteristică în caz)
    Componente de lipit / asamblați - Partea C (Tastatură pentru senzorul capacitiv și caracteristică în caz)
    Componente de lipit / asamblați - Partea C (Tastatură pentru senzorul capacitiv și caracteristică în caz)
    Componente de lipit / asamblați - Partea C (Tastatură pentru senzorul capacitiv și caracteristică în caz)
    Componente de lipit / asamblați - Partea C (Tastatură pentru senzorul capacitiv și caracteristică în caz)

    Veți lipi firele de la tastatură la senzorul capacitiv tactil în acest pas. Utilizați aceeași cartografiere a culorilor de mai devreme. Dacă ați urmat schema mea de culori, atunci veți lipi firele colorate după cum urmează:

    • Galben - Pin 0 / Butonul 1
    • Gri - Pinul 1 / Butonul 2
    • Roșu - Pin 2 / Buton 3
    • Albastru - Pinul 3 / Butonul 4
    • Verde - Pinul 4 / Butonul 5
    • Alb - Pinul 5 / Butonul 6
    • Negru - Pinul 6 / Butonul 7

    Odată ce lipirea este terminată, utilizați o cravată pentru a ține firele în poziție.

    Apoi, înșurubați ecranul TFT la piesa „Față”. Veți folosi șuruburile M3 (patru în total). Odată ce TFT este în poziție, înșurubați piesa „Față” la carcasă. Din nou, veți folosi șuruburi M3 (două).

    Apoi, conectați Featherwing Tripler, cu toate componentele conectate, la TFT.

    Notă - Dacă intenționați să utilizați o baterie, asigurați-vă că o conectați la portul ESP32-JST înainte de a introduce TFT-ul. Folosiți bandă pentru a fixa bateria pe partea inferioară a carcasei.

    Pasul 5: OPȚIONAL - Componente de lipit / asamblați - Partea D (INA219 Feather)

    OPȚIONAL - Componente de lipit / asamblat - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblat - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblat - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblat - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblat - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblat - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblați - Partea D (INA219 Feather)
    OPȚIONAL - Componente de lipit / asamblați - Partea D (INA219 Feather)

    Dacă utilizați senzorul INA219, atunci acesta este locul în care atașați firele la mufele de curent continuu.

    1. Introduceți dopurile de curent continuu pe capacul din spate și înșurubați-le în poziție.
    2. Utilizați un fier de lipit pentru a conecta firele INA219.

      • Firele negre ar trebui să meargă la Pământ pentru fiecare fișă DC.
      • Sârmă gri ar trebui să meargă la mufa DC INPUT
      • Firul albastru ar trebui să meargă la mufa OUTPUT.

    Pasul 6: Înșurubați capacul posterior și conectați USB

    Ultimul pas în asamblarea hardware-ului este înșurubarea capacului din spate - folosind șuruburi M2 (4). De acolo, conectați cablul USB, conectați-l la computer și continuați cu pașii software!

    Pasul 7: Pregătiți mediul AWS

    Pregătiți mediul AWS
    Pregătiți mediul AWS

    După cum am afirmat în introducere, premisa soluției este următoarea:

    1. Terminalul, alimentat de un ESP32, utilizează o conexiune MQTT (over Wifi) pentru a comunica cu cloud AWS.
    2. Cloud AWS face cea mai mare parte a procesării și servește ca releu între monitor și serviciile solicitate.

    Există câteva lucruri pe care trebuie să le facem în acest pas:

    Mai întâi, trebuie să vă configurați mediul AWS, dacă nu ați făcut-o încă. Această instrucțiune presupune că aveți deja un cont AWS configurat, deci instrucțiunile privind configurarea unui cont cloud nu sunt incluse. Acestea fiind spuse, pașii sunt simpli și pot fi găsiți aici.

    După ce ați trecut de acel pas, trebuie să creați câteva servicii, deci conectați-vă la consola AWS.

    Creați un lucru și descărcați cheile

    AWS IoT Core facilitează comunicarea între cloud-ul AWS și afișaj. Va trebui să creați un „lucru” și să descărcați certificate pentru a sprijini comunicarea.

    [Notă: majoritatea acestor instrucțiuni au fost preluate dintr-un ghid scris de Moheeb Zara, AWS Evangelist]

    1. Deschideți consola AWS și selectați AWS IoT Core.
    2. În consola AWS IoT, alegeți Înregistrați un lucru nou, Creați un singur lucru.
    3. Denumiți noul lucru „starTrekESP32”. Lăsați câmpurile rămase setate la valorile implicite. Alegeți Următorul.
    4. Alegeți Creați certificat. Pentru conectarea ESP32 sunt necesare doar lucrurile cert, cheia privată și descărcările Amazon Root CA 1. Descărcați-le și salvați-le undeva în siguranță, deoarece sunt utilizate la programarea dispozitivului ESP32.
    5. Alegeți Activare, Atașați o politică.
    6. Omiteți adăugarea unei politici și alegeți Înregistrați lucrurile.
    7. În meniul lateral al consolei AWS IoT, alegeți Securitate, politici, creați o politică.
    8. Denumiți politica AllowEverything. Alegeți fila Avansat.
    9. Inserați următorul șablon de politică.
    10. {{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": "iot: *", "Resource": "*"}]}
    11. Alegeți Creați. (Notă: acest lucru este recomandat numai pentru a începe. După ce vă simțiți confortabil cu tot ce funcționează, vă rugăm să vă întoarceți și să schimbați acest lucru cu ceva mai restrictiv.)
    12. În consola AWS IoT, alegeți Securitate, certificare.
    13. Selectați cel creat pentru dispozitivul dvs. și alegeți Acțiuni, Atașați politica.
    14. Alegeți Permiteți totul, Atașați.
    15. Înainte de a pleca, faceți clic pe „Setări” (în meniul din stânga). Va fi afișat „Punctul final personalizat”; salvați acest lucru într-un fișier text … veți avea nevoie de el când configurați ESP32.

    Creați un fișier Blank Lambda

    Lambda este o formă de calcul fără server, deci nu trebuie să ne facem griji cu privire la orice hardware aici. În cele din urmă, aici vom plasa codul nostru actualizat (pe care îl vom face cu câțiva pași). Deocamdată, vrem doar să creăm un substituent, așa că …

    1. Conectați-vă din nou la consola AWS (dacă v-ați deconectat) și faceți clic pe Lambda.
    2. Faceți clic pe butonul „Creați funcția”.
    3. Pe pagina următoare, introduceți un nume de bază, cum ar fi starTrekDisplay
    4. Selectați Node.js 12. X
    5. Sub permisiuni:

      • Dacă vă cunoașteți calea în jurul Lambda și sunteți familiarizați cu aceasta, atunci puteți selecta orice opțiune are sens. Veți avea nevoie de permisiuni pentru CloudWatch, IotCore, S3 (citire și scriere).
      • Dacă nu sunteți sigur cu privire la permisiuni, selectați „Creați un rol nou cu permisiuni de bază Lambda”. Notează numele rolului. Mai târziu, vom modifica permisiunile.
    6. Faceți clic pe Creare funcție.
    7. După un minut, veți intra într-un nou ecran cu un fragment de cod „hello world”. Derulați în jos până la Setări de bază și faceți clic pe „Editați”
    8. Schimbați expirarea de la 3 secunde la 2 minute și 0 secunde. Notă: codul dvs. nu ar trebui să ruleze niciodată mai mult de 5-10 secunde … cu toate acestea, avem nevoie de un timp mai lung pentru autentificarea dvs. inițială cu Microsoft (pentru funcționalitatea calendarului). După autentificare, puteți schimba acest lucru la 20 de secunde.
    9. Apăsați salvare.

    Creați o regulă Iot

    1. Rămâneți în consola Lambda și derulați în sus. Selectați „Adăugați un declanșator”.
    2. Selectați AWS IoT. Apoi selectați „Regula personalizată”.
    3. Alegeți „Creați o regulă nouă”.

      • Numele regulii: Conexiune ESP
      • Declarație privind interogarea regulii: „SELECT * FROM„ starTrekDisplay / pub”
    4. Faceți clic pe „Adăugați”

    Creați o bucată și un folder S3

    1. Navigați la AWS Console și selectați S3.
    2. Veți avea nevoie de un compartiment și un dosar pentru a stoca fișiere de autentificare. Acest dosar ar trebui să fie privat. Vă sugerez să utilizați orice bucket pe care îl aveți deja și să denumiți crearea unui folder numit „starTrekDisplay”. Notă - dacă nu aveți o găleată, creați una folosind instrucțiunile de aici.

    Actualizați permisiunile - Dacă ați permis lui Lambda să vă creeze un rol, va trebui să urmați acest pas

    1. Conectați-vă la consola AWS și selectați IAM
    2. Faceți clic pe ROLURI, apoi selectați numele rolului pe care l-ați creat anterior.
    3. Faceți clic pe atașarea politicilor, apoi selectați următoarele politici:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Pasul 8: Descărcați cheile software și configurați servicii terță parte

    Descărcați cheile software și configurați servicii terțe
    Descărcați cheile software și configurați servicii terțe

    Folosesc următoarele servicii terțe părți în proiect:

    1. API Worldtime - pentru timp
    2. API-urile Serviciului Național Meteorologic - pentru vreme
    3. API Microsoft Graph pentru acces la calendarul meu
    4. API Google Fitness pentru acces la informații despre fitness

    Va trebui să configurați conturi și să descărcați cheile pentru a beneficia de aceleași servicii

    API Worldtime - pentru timp

    Acest API nu necesită o cheie, deci nu este necesară nicio acțiune pentru ca acest lucru să funcționeze.

    API-urile Serviciului Național Meteorologic - pentru vreme

    API-ul National Weather Service este gratuit și nu este necesară nicio cheie API. Cu toate acestea, aceștia solicită transmiterea informațiilor de contact (sub forma unui e-mail) în fiecare solicitare (ca parte a fișierului antet). Veți adăuga informații de contact la cod în pasul următor.

    OPȚIONAL - API Microsoft Graph și API Google Fitness

    Aceasta este cea mai complexă parte a setării codului. Dispozitivul nostru nu are o tastatură completă … prin urmare, folosim ceva numit OAUTH pentru dispozitive limitate pentru a accesa calendarul nostru. Din păcate, trebuie să creați o „aplicație” Azure și o aplicație Google pentru ca codul dvs. să utilizați OAUTH pentru dispozitive limitate.

    Instrucțiunile pentru crearea unei aplicații sunt aici pentru Microsoft și aici pentru Google. Iată câteva lucruri pe care ar trebui să le știți:

    • Va trebui să creați un cont cloud Azure și Google. Acesta este gratuit și nu veți fi taxat cu nimic
    • Microsoft:

      • Vi se va cere să specificați ce pot utiliza utilizatorii aplicația. Vă sugerez să selectați „Conturi în orice director organizațional și conturi Microsoft personale”. Acest lucru vă va permite să utilizați conturi personale Microsoft și conturi corporative (în majoritatea cazurilor).
      • Veți dori să selectați aplicațiile „Mobile și Desktop”, totuși nu trebuie să completați toate informațiile (deoarece aceasta este o aplicație personală). Aceasta înseamnă că nu vă puteți pune aplicația la dispoziția lumii…. dar este ok în acest caz
      • Odată ce aplicația este configurată, va trebui să selectați permisiunile necesare. Am solicitat permisiuni legate de profile și calendare (vezi imaginea din galerie pentru lista completă a permisiunilor). Va trebui să selectați același set. Dacă adăugați mai multe permisiuni, va trebui să modificați domeniul de aplicare în mod corespunzător în pasul următor.

    Pasul 9: Modificați și încărcați codul AWS

    Acest lucru instructiv presupune că sunteți familiarizați cu dezvoltarea Node.js și Lambda. Descărcați fișierul legat și faceți modificări pentru actualizare:

    • Informații despre aplicația și clientul Microsoft
    • Cheia Google
    • Adresa de e-mail pentru urmărirea Serviciului Național Meteorologic
    • Numele cupei S3
    • Numele folderului S3
    • Punct final AWS

    De asemenea, va trebui să descărcați următoarele biblioteci de noduri:

    1. aws-sdk
    2. fus orar moment
    3. accente

    După efectuarea acestor modificări, încărcați codul în substituentul lambda pe care l-ați creat mai devreme.

    Pasul 10: Pregătiți Arduino IDE și descărcați biblioteci

    Acest ghid presupune, de asemenea, că sunteți familiarizat cu Arduino. Va trebui să vă asigurați că IDE-ul dvs. este configurat pentru a funcționa cu un Adafruit ESP32. Urmați instrucțiunile de aici dacă aveți nevoie de asistență.

    După finalizare, descărcați următoarele biblioteci:

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

    În continuare va trebui să modificăm câteva dintre biblioteci:

    1. Deschideți folderul PubSubClient (în folderul Arduino / Library) și deschideți „PubSubClient.h”. Găsiți valoarea pentru MQTT_MAX_PACKET_SIZE și schimbați-o în 2000.
    2. Apoi, deschideți folderul TFT_eSPI și deschideți fișierul „User_Setup_Select.h”. Comentează orice linie „include users_setup …” și adaugă această linie:

    #include

    Apoi, descărcați fișierul Custom_Tricorder.zip legat și extrageți fișierul „.h” în locația „TFT_eSPI / User_Setups” din folderul bibliotecilor Arduino. Eu

    Acum, putem trece la actualizarea codului Arduino

    Pasul 11: Actualizați și instalați codul Arduino și interacționați

    Actualizați și instalați codul Arduino și interacționați!
    Actualizați și instalați codul Arduino și interacționați!

    Cod Arduino

    Descărcați și dezarhivați fișierul legat pentru codul Arduino. Accesați fila secrete.h. Va trebui să actualizați următoarele:

    • WIFI_SSID = actualizați cu SSID-ul dvs. wifi
    • WIFI_PASSWORD = actualizați cu parola dvs. wifi
    • TIMEZONE = actualizați-vă cu fusul orar din această listă
    • LAT (puteți utiliza un serviciu precum „https://www.latlong.net” pentru a vă găsi latitudinea și longitudinea
    • GNL
    • AWS_IOT_ENDPOINT = ar fi trebuit să-l salvați de mai devreme. Ar trebui să arate ca „dx68asda7sd.iot.us-east1-amazonaws.com”
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    De asemenea, veți descărca certificatele dintr-un pas anterior. Deschideți apoi în editorul de note (de exemplu, blocnotes) și lipiți textul între „R” EOF ('și') EOF”; '. Asigurați-vă că includeți „----- BEGIN CERTIFICATE -----” sau „----- BEGIN RSA PRIVATE KEY -----”.

    Fișiere imagine

    ESP32 vine cu un sistem de fișiere mic. Folosim acest sistem de fișiere pentru a salva imagini pentru programul nostru. Va trebui să instalați instrumentul care vă permite să încărcați fișiere.

    1. Mai întâi, vizitați tutorialul detaliat despre Tutoriale Random Nerd.
    2. După ce funcționați, puteți încărca fișierele în folderul de date (inclus și în fișierul zip).

    Angajează-te

    Încărcați codul Arduino final și ați terminat!

    Notă - Numele Star Trek și imaginile Star Trek sunt deținute de CBS / Paramount. Au o politică destul de laxă în ceea ce privește cosplay-ul și ficțiunea fanilor - vă rugăm să citiți aici dacă aveți întrebări.

    Concurs Fandom
    Concurs Fandom
    Concurs Fandom
    Concurs Fandom

    Premiul I în Concursul Fandom

    Recomandat: