Sadržaj:

Učinite tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)
Učinite tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)

Video: Učinite tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)

Video: Učinite tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)
Video: Star Trek Continues E11 "To Boldly Go: Part II" 2024, Srpanj
Anonim
Image
Image
Učinite tako! Star Trek TNG Mini inženjersko računalo
Učinite tako! Star Trek TNG Mini inženjersko računalo
Učinite tako! Star Trek TNG Mini inženjersko računalo
Učinite tako! Star Trek TNG Mini inženjersko računalo

Pregled

Odrastao sam gledajući Star Trek: The Next Generation. Oduvijek sam želio izgraditi uređaj s temom Star Trek, pa sam konačno počeo remiksati jedan od svojih starih projekata kako bih napravio Star Trek Display Terminal.

Terminal pruža sljedeće podatke:

  • Vrijeme - pomoću Nacionalne meteorološke službe
  • Unutarnja temperatura, vlažnost i čvrstoća hlapivih organskih spojeva (VOC)
  • Vijesti Članci - s News.org
  • Raspored (s funkcijom alarma) - iz programa Microsoft Outlook
  • Podaci o fitnesu (koraci, minute kretanja, otkucaji srca, težina, sagorijevanje kalorija) - iz Google Fitnessa
  • tablica kodova boja otpornika
  • kalkulator LED otpornika (za određivanje vrijednosti otpornika na temelju struje i snage izvora)
  • Alat za mjerenje snage i struje

Ove su informacije dostupne putem kombinacije API -ja i hardverskih senzora. Koristim ESP32 za mikrokontroler i AWS Cloud za svo prikupljanje i prikupljanje podataka.

Uključio sam i nekoliko "uskršnjih jaja":

  • Ron McNair hommage - Dr McNair je razlog zašto sam postao inženjer; odrastao je 45 minuta od mog rodnog grada. Poginuo je u eksploziji Challengera.

    • Ime mog zvjezdanog broda je "USS Ronald E McNair"
    • Broj registra je od datuma rođenja Sr McNaira; predbroj je dan kada je izgubio život.
  • Korištenje "prefiks koda" znak je Star Treka: Wrath of Khan (najveći film Star Treka svih vremena; nemoj @ mene).
  • Brojevi s desne strane završnog kućišta odnose se na moje bratstvo (1906. - Alpha Phi Alpha) i moju alma mater i područje studija - (Sveučilište u Oklahomi, Tehnički fakultet)

Imate mogućnost prilagođavanja numeriranja, natpisa i naziva broda, registra itd. Za svoja "uskršnja jaja".

Pozadina

Prošle godine trebao mi je jeftin način mjerenja snage i pražnjenja baterije za nosivi projekt. Kupio sam Adafruit INA219 Featherwing i upotrijebio neke različite rezervne dijelove za izradu jednostavnog uređaja za mjerenje snage (više o tome možete pročitati ovdje).

Ove sam godine odlučio nadograditi uređaj … kako bih ga učinio "tehničkijim". Prvotno sam planirao izgraditi radni trikord Star Trek (verzija Mark IV TR-590 Mark IX, za one kojima je stalo) … ali brzo sam shvatio da ima smisla stvoriti nešto što će sjediti na mom stolu (mislim, zašto uložite sve ove probleme u izradu kul uređaja, samo ga zatvorite i stavite u ladicu kada se ne koristi).

Pa sam se okrenuo izradi verzije računalnih prikaza koje vidite na Star Trek TNG -u ili Voyageru (ili raznim filmovima). Igrao sam se s različitim dizajnom, a zatim naišao na verziju koju su stvorili braća Ruiz iz Adafruta. Adafruit odlično radi s izvornim datotekama za svoje 3D tiskane projekte, pa sam uspio uzeti njihovu izvornu verziju i remiksati je za svoj hardver, gumbe i drugu periferiju.

Stvari koje trebate znati prije nego nastavite

  1. Dajem korak po korak upute za izradu moje verzije projekta; međutim, ne ulazim u pojedinosti o određenim koracima (povezat ću se s pratećim uputama ili dokumentacijom)
  2. Ovo je složen projekt. To je "multidisciplinirana marka", koja zahtijeva sljedeće vještine

    • Arduino IDE
    • AWS - Trebat će vam račun i morat ćete razumjeti S3, Lambda i Node JS
    • Lemljenje
    • 3D ispis
  3. Postoje izborni "dodaci" za poboljšanje projekta kako bi se dobile informacije o kalendaru i fitnesu. Funkcionalnost je uključena u bazu kodova; no za podršku značajkama morat ćete stvoriti "aplikacije" u oblacima Azure i Google.
  4. Ovo se u konačnici može prilagoditi … trenutni osjetnik možete zamijeniti drugim perjem. Možete koristiti drugu kombinaciju pero/wifi.

Pribor

Elektroničke komponente

  • Adafruit ESP32 Huzzah pero
  • Mini komplet Adapruit Featherwing Trostruki
  • Adafruit kapacitivni senzor osjetljiv na dodir s 12 ključeva
  • Adafruit TFT FeatherWing - 3.5 "480x320 zaslon osjetljiv na dodir
  • Adafruit BME680 - Senzor temperature, vlažnosti, tlaka i plina
  • Utor za bačvu za DC ploču 2.1 (2)
  • Litij -ionska polimerna baterija - 3,7 V 500mAh
  • Piezo zujalica
  • Mirco USB kabel i 5V punjač (tipičan USB punjač za telefon će raditi)
  • Traka od bakrene folije s ljepilom
  • Izborno - Adafruit INA219 Featherwing
  • Izborno - 2.1 utikači - (za uporabu sa senzorom struje INA219)

Veza na sve elektroničke komponente osim utikača 2.1:

Komponente 3D niti i dodatne komponente za bojenje/brušenje

  • Proto Pasta Conductive PLA
  • Dodatni 3D filamenti - koristio sam 4 boje - sivu, crnu, Aqua (svijetlo plava) i bijelu
  • .25 i 0.4 mm mlaznice (koristio sam 0.25 za detalje s natpisima).

Komponente i alati za montažu hardvera

  • M2x5 i M3x5 vijci
  • Igle zaglavlja s ravnim i pravim kutom (pogledajte Adafruit listu želja za veze)
  • Lemilica (i kalem za lemljenje, kalaj za vrhove, usisavač lemljenja itd.)
  • Philips komplet odvijača za glavu
  • Skupljajući omot
  • Žičana žica 22AWG - pet ili šest boja
  • Puna žica 22AWG - pet ili šest boja
  • PCB Vise i ruke za pomoć (izborno, ali olakšava lemljenje)
  • Dijagonalni rezači žice
  • Skidači žica
  • Xacto nož (za uklanjanje nosača s dijelova 3D pisača)
  • 3D pisač (ako planirate sami ispisivati)
  • Git ili traka (za pričvršćivanje baterije na unutarnju stranu tiskanog kućišta)
  • Digitalne čeljusti
  • Ludo ljepilo
  • Izborno - nitrilne rukavice za jednokratnu upotrebu
  • Izborno - prostirka za lemljenje (opcionalno, ali štiti površine)

Napomena: ako nemate ove alate, predlažem da provjerite web stranice Becky Stern za preporuke za dobre mogućnosti.

Softver

  • Arduino IDE
  • Node JS editor (poput Microsoft Code -a)
  • AWS račun
  • Izborno - Google Cloud račun (za informacije o fitnesu)
  • Izborno - Microsoft Azure Cloud račun (za podatke o kalendaru)
  • Korak 1: Preuzmite, izmijenite datoteke i ispišite 3D datoteke

    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke
    Preuzmite, izmijenite datoteke i ispišite 3D datoteke

    Datoteke možete poslati usluzi 3D ispisa (poput 3D koncentratora) ili možete ispisati vlastitu. Datoteke su dostupne na PrusaPrinters.org.

    Ovaj slučaj je remiks budilice Py Portal na Adafruit web stranici. Moj projekt koristi sličan TFT pa sam uspio smanjiti količinu dizajnerskog rada potrebnog kako bi kućište radilo s mojim priborom.

    Za ispis sam koristio sljedeće postavke:

    • Prednja i stražnja strana- ispisane na 0,2 mm visine sloja s mlaznicom od 0,4 mm, bez oslonaca
    • Bočni broj - ispisan na 0,10 mm visine sloja s mlaznicom 0,25 mm, bez oslonaca
    • Ključevi - ispisani na visini sloja 0,2 mm s mlaznicom od 0,4 mm. Morat ćete ispisati 7 i ispisati s proto-tjesteninom provodljivom niti.
    • Kućište - tiskano na 0,2 mm visine sloja.

      Podrške su potrebne, ali nisu potrebne svugdje (samo sa strana i na sredini na kojoj se nalazi tipkovnica

    Nekoliko stvari koje trebate znati:

    1. Prusa MK3 omogućuje vam promjenu boja na različitim visinama slojeva. Koristio sam ovu značajku za bočni broj.
    2. Također, što se tiče sporednog broja:

      • Produkcijska ekipa Star Treka TNG posipala bi uskršnja jaja u rekvizite. Ako pomno pogledate razne ploče i ploče, vidjet ćete imena ljudi, tekstove pjesama itd. Htio sam stvoriti svoje "uskršnje jaje" za sporedni broj, pa koristim "06" - što se odnosi na moje bratstvo (nastao 1906.) i "OUCOE" - koji se odnosi na moju alma mater (Sveučilište u Oklahomi, Tehnički fakultet).
      • Napravio sam "prazan" dio side_number koji možete izmijeniti kako biste napravili vlastiti prilagođeni broj i tekst.

    Korak 2: Komponente za lemljenje/sastavljanje - dio a (Broj tipkovnice i bočne strane)

    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)
    Komponente za lemljenje/sastavljanje - dio a (broj tipkovnice i strane)

    Prvo ćemo pričvrstiti bočni broj. Upotrijebite mali dio ljepila da postavite bočni broj na mjesto.

    Zatim ćemo sastaviti tipkovnicu

    1. Morat ćete rezati 7 komada namotane žice - svaki između 10-12 inča duljine. Oni će biti spojeni na pinove 0-6 kapacitivnog osjetnika na dodir. Predlažem da upotrijebite različite boje (i napišete preslikavanje boja/igle, jer će vam kasnije te informacije trebati). Koristio sam sljedeću kombinaciju boja:

      • Žuta - Pin 0/Gumb 1
      • Siva - Pin 1/Gumb 2
      • Crveno - Pin 2 /Tipka 3
      • Plava - Pin 3 // Gumb 4
      • Zelena - Pin 4 // Gumb 5
      • Bijela - Pin 5 // Gumb 6
      • Crna - Pin 6 // Gumb 7
    2. Odvojite 1/2 unutra s kraja svake žice.
    3. Izrežite 7 komada provodljive trake (svaki širine oko 1/2 inča) i lemite žice na bakrenu stranu trake.
    4. Uklonite ljepljivu podlogu i zalijepite ih na dno tipki. Možda ćete morati odrezati dio bakrene trake.

    Napomena: Ključevi se mogu lijepiti odozdo (tako da budu u ravnini s vrhom) ili zalijepljeni odozgo (tako da "lebde" nekoliko mm od vrha). Ja sam svoj odlučio zalijepiti s vrha.

    Nakon što dovršite svih 7, pomoću male mrvice ljepila pričvrstite tipke na tipkovnicu. Lakše mi je:

    • Prvo "provucite" žicu kroz otvor za ključ.
    • Zatim stavite mali dio ljepila na greben/rub ključa
    • Brzo postavite ključ na mjesto.

    Napomena: Krazy Glue ovdje najbolje funkcionira; možda biste htjeli koristiti rukavice kako biste ograničili nezgode i šanse za nadraživanje kože.

    Korak 3: Komponente za lemljenje/sastavljanje - dio B (krila i senzori)

    Komponente za lemljenje/sastavljanje - dio B (krila i senzori)
    Komponente za lemljenje/sastavljanje - dio B (krila i senzori)
    Komponente za lemljenje/sastavljanje - dio B (krila i senzori)
    Komponente za lemljenje/sastavljanje - dio B (krila i senzori)
    Komponente za lemljenje/sastavljanje - dio B (krila i senzori)
    Komponente za lemljenje/sastavljanje - dio B (krila i senzori)

    Sljedeći korak je priprema i sastavljanje hardverskih komponenti. U konačnici, to znači lemljenje igala i žica zaglavlja za kasniju uporabu. Ovaj vodič pretpostavlja da vam je lemljenje ugodno; ako ne, pogledajte ovaj "Vodič za izvrsno lemljenje" tvrtke Adafruit.

    Prvo ćemo pripremiti materijale. Za ovaj korak trebat će vam:

    • TFT 3.5 Featherwing
    • ESP32 pero
    • INA219 Perjanica
    • Trostruki Featherwing
    • Kapacitivni osjetnik na dodir MPR121
    • Senzor BME680
    • Igle zaglavlja ravnog i pravog kuta
    • Čvrsta i nasukana žica
    • Alati za lemljenje i ruke za pomoć
    • Dijagonalni rezači žice i skidači žice
    • Čeljusti

    Napomena: Predlažem da prije početka lemljenja pročitate ovaj korak i odrežete sve žice i zaglavlja. Na taj način nećete morati stati da biste izmjerili/izrezali.

    Pripremite TFT 3.5 Featherwing

    TFT je spreman za upotrebu izvan kutije s jedinom prilagodbom. Morat ćete lemiti žicu između "Lite" jastučića i igle za lemljenje. Naš kôd koristi ESP32 Pin 21 za upravljanje TFT lite. Rasporedite TFT "dug" put, s gumbom za poništavanje na dnu. Pin 21 bit će donji lijevi zatik.

    Odrežite komad žice od 40 mm. Ogolite krajeve tako da se na svakom kraju vidi nekoliko milimetara žice. Lemilicom pažljivo lemite oba pina.

    Napomena: potrebno vam je samo oko 35 mm duljine … pa možete ošišati žicu po potrebi. Također smatram da je najlakši pristup dodati lemljenje na jastučić, zatim na žicu, pa lemljenje žice na jastučić. Konačno - ovi jastučići su mali … ako vam je neugodno, uvijek možete preskočiti ovaj korak: to je samo za isključivanje TFT -a pomoću tipkovnice.

    Pripremite ESP32 pero

    Morat ćete lemiti standardne muške iglice zaglavlja na ESP32. Vaš ESP32 trebao bi doći s zaglavljima, iako ćete ih možda morati obrezati da biste došli do ispravne duljine (16 pinova na dugoj strani; 12 pinova na kratkoj strani). Igle zaglavlja izrađene su tako da se "odlijepe", pa možete upotrijebiti dijagonalne rezače za rezanje zaglavlja na ispravnu duljinu. Opet, Adafruit ima izvrsne upute kako to učiniti, pa provjerite ako vam trebaju smjernice.

    NEOBVEZNO - Pripremite INA219 Featherwing

    Prvo zalemite muške zaglavlje na perje (koristeći iste upute kao i za ESP32). Zatim izrežite četiri upletene žice duljine 20 mm. Ja bih 2 CRNE, a ostale u drugoj boji. Za odabir boja koristila sam SIVU i PLAVU.

    Skinite krajeve žice tako da 3-4 mm bakrene žice budu izložene na svakom kraju. Spajat ćete po jednu žicu, kao što je prikazano u nastavku:

    • SIVA -> V+ (plus)
    • PLAVA -> V- (minus)
    • CRNO -> GND (uzemljeno)
    • CRNO -> GND (uzemljeno)

    U ovom trenutku ostavite druge krajeve žica; na kraju ćemo ih lemiti na utičnice DC 2.1.

    Pričvrstite Piezo zujalicu

    INA Featherwing dolazi s malim prostorom za izradu prototipova; upotrijebit ćemo to za pričvršćivanje našeg pieza. Piezo će našem projektu dati mogućnost zvučnih i zvučnih upozorenja, alarma itd.

    Piezo se spaja na ESP32 PIN 13; ovo je u vezi s iglom pored USB pina na perju (vidi sliku za strelice). Drugi piezo pin se spaja na masu. Igle za pieze dovoljno su dugačke da ih zalemite izravno na perje … samo ćete ih morati saviti u oblik "čovjeka s pramčanim nogama" (vidi sliku). Nakon što ste postavili igle, upotrijebite ruke za pomoć (ili traku) da držite piezo na mjestu i lemite s donje strane perjanice.

    Napomena - Ako ne koristite INA219, morat ćete lemiti piezo izravno na ploču s perjem.

    Pripremite Tripler Featherwing

    Perjanica nam štedi mnogo lemljenja; može držati 3 perja/krilca … pa ćemo ga koristiti za uspostavljanje električnih veza između TFT -a, ESP32, INA219 (kao i piezo i TFT Lite pina).

    Da bi veze bile ispravne, trebat ćemo lemiti dva para zaglavlja za slaganje i jedan par standardnih muških zaglavlja.

    • Uobičajena muška zaglavlja nastavit će se na "gornjem" mjestu, ali će biti lemljena na donju stranu trostrukog uloška.
    • Dva zaglavlja za slaganje bit će lemljena na mjestima 2 i 3, na gornjoj strani trostrukog uloška.

    Ovo je malo zbunjujuće pa svakako pogledajte slike da biste razumjeli gdje se nalazi svako zaglavlje. Također, kombinacija PCB Vise i ruku za pomoć može uvelike pomoći pri lemljenju komponenti.

    Pripremite senzor BME 680 i kapacitivni osjetnik na dodir MPR121

    Posljednja dva senzora najteže je pričvrstiti. Moramo pričvrstiti igle zaglavlja na ploče za razbijanje prije dovršetka montaže.

    BME senzor je pričvršćen pod kutom od 90, tako da mogu poravnati senzor s rupom u kućištu (tako da senzor može zabilježiti temperaturu, plin, vlagu). Morat ćete lemiti igle pod pravim kutom na rupe. Pogledajte slike kako biste bili sigurni da ste ih ispravno poravnali.

    Kapacitivni osjetnik na dodir je jednostavan - samo lemite ravne muške konektore, kako je ovdje opisano. Napomena: IGRE NE SMETE lemiti na kapacitivne dodirne igle (0 - 11).

    Pričvrstite senzore BME 680 i MPR121 na ploču trostrukih ulagača

    Oba senzora komuniciraju putem I2C … što znači da samo moramo uspostaviti 4 veze između probojnih ploča i Featherwinga. Radi jednostavnosti, lemio sam sve spojeve između ploča.

    BME 680

    Za ovaj senzor koristim Ruke za pomoć i PCB Vise za držanje obje komponente na mjestu (vidi gornju sliku). Senzor BME680 treba postaviti na kraj pernatog krila. Pogledajte gornje slike za potvrdu mjesta.

    Proces lemljenja veza je dosadan, pa idite polako. Za veze koristim žicu s punom jezgrom:

      • CRNI - GND
      • CRVENI - VIN
      • ŽUTI - SCL (SCK pin na senzoru prema
      • NARANČASTA - SDA (SDA pin na senzoru)

    Napomena: SCL i SDA pinovi potrebni su za oba senzora, pa bi moglo biti lakše koristiti SCL ili SDA pin na drugom dijelu Featherwinga.

    MPR121

    Ruke za pomoć također pomažu pri lemljenju ovog senzora na mjesto (radi i vrpca). Kôd je koristio I2C za komunikaciju s ESP32, pa ćete spojiti SCA i SDA pinove.

    Korak 4: Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)

    Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)
    Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)
    Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)
    Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)
    Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)
    Komponente za lemljenje/sastavljanje - dio C (tipkovnica do kapacitivnog senzora i pričvršćivanje u slučaju)

    U ovom koraku ćete lemiti žice s tipkovnice na kapacitivni dodirni senzor. Upotrijebite isto mapiranje boja od ranije. Ako ste slijedili moju shemu boja, žice u boji ćete lemiti na sljedeći način:

    • Žuta - Pin 0/Gumb 1
    • Siva - Pin 1/Gumb 2
    • Crveno - Pin 2 /Tipka 3
    • Plava - pin 3 /gumb 4
    • Zelena - Pin 4/Gumb 5
    • Bijela - Pin 5/Gumb 6
    • Crna - Pin 6/Gumb 7

    Nakon što je lemljenje završeno, upotrijebite uvijač kako biste držali žice na mjestu.

    Zatim pričvrstite TFT zaslon na "prednji" dio. Upotrijebit ćete vijke M3 (ukupno četiri). Nakon što je TFT postavljen, pričvrstite "prednji" dio na kućište. Opet ćete upotrijebiti vijke M3 (dva).

    Zatim priključite Featherwing Tripler sa svim komponentama na TFT.

    Napomena - Ako namjeravate koristiti bateriju, svakako je umetnite u ESP32 -JST priključak prije umetanja TFT -a. Trakom pričvrstite bateriju na unutarnji dio kućišta.

    Korak 5: NEOBVEZNO - Komponente za lemljenje/sastavljanje - Dio D (INA219 pero)

    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)
    NEOBVEZNO - Komponente za lemljenje/sastavljanje - dio D (INA219 pero)

    Ako koristite INA219 senzor, ovdje žice priključujete na istosmjerne utikače.

    1. Umetnite DC utikače u stražnji poklopac i pričvrstite ih.
    2. Za spajanje INA219 žica koristite lemilicu.

      • Crne žice trebaju ići na UZEMLJENJE za svaki istosmjerni utikač.
      • Siva žica bi trebala ići na INPUT DC utikač
      • Plava žica trebala bi ići do OUTPUT utikača.

    Korak 6: Pričvrstite stražnji poklopac i priključite USB

    Posljednji korak u montaži hardvera je pričvrstiti stražnji poklopac - pomoću vijaka M2 (4). Odatle priključite USB kabel, spojite ga na računalo i nastavite sa softverskim koracima!

    Korak 7: Pripremite AWS okruženje

    Pripremite AWS okruženje
    Pripremite AWS okruženje

    Kao što sam rekao u uvodu, premisa rješenja je sljedeća:

    1. Terminal, koji pokreće ESP32, koristi MQTT (preko Wifi) veze za komunikaciju s AWS oblakom.
    2. AWS oblak obavlja većinu obrade i služi kao relej između monitora i traženih usluga.

    U ovom koraku moramo učiniti nekoliko stvari:

    Prvo morate postaviti svoje AWS okruženje, ako to još niste učinili. Ove upute pretpostavljaju da ste već postavili AWS račun, pa upute za postavljanje računa u oblaku nisu uključene. S obzirom na to, koraci su jednostavni i mogu se pronaći ovdje.

    Kad prijeđete taj korak, morate stvoriti nekoliko usluga, pa se prijavite na AWS konzolu.

    Stvorite stvar i preuzmite ključeve

    AWS IoT Core olakšava komunikaciju između AWS oblaka i zaslona. Morat ćete stvoriti "stvar" i preuzeti certifikate za podršku komunikacije.

    [Napomena: većina ovih uputa preuzeta je iz vodiča koji je napisao Moheeb Zara, AWS Evangelist]

    1. Otvorite AWS konzolu i odaberite AWS IoT Core.
    2. Na AWS IoT konzoli odaberite Registriraj novu stvar, Izradi jednu stvar.
    3. Nazovite novu stvar "starTrekESP32". Preostala polja ostavite na zadane vrijednosti. Odaberite Dalje.
    4. Odaberite Stvori certifikat. Za povezivanje ESP32 potrebni su samo certifikati, privatni ključ i Amazon Root CA 1 za preuzimanje. Preuzmite ih i spremite na sigurno mjesto jer se koriste pri programiranju ESP32 uređaja.
    5. Odaberite Aktiviraj, Priloži pravilo.
    6. Preskočite dodavanje pravila i odaberite Registracija stvari.
    7. Na bočnom izborniku AWS IoT konzole odaberite Sigurnost, Pravila, Izradi pravilo.
    8. Imenujte politiku AllowEverything. Odaberite karticu Napredno.
    9. Zalijepite u sljedeći predložak pravila.
    10. {{"Verzija": "2012-10-17", "Izjava": [{"Učinak": "Dopusti", "Radnja": "iot:*", "Resurs": "*"}]}
    11. Odaberite Stvori. (Napomena: Ovo se preporučuje samo za početak. Nakon što vam bude odgovaralo sve što radi, vratite se i promijenite ovo na nešto restriktivnije.)
    12. Na AWS IoT konzoli odaberite Sigurnost, Certifikacija.
    13. Odaberite onu stvorenu za vaš uređaj i odaberite Radnje, Priloži pravila.
    14. Odaberite Dopusti sve, priloži.
    15. Prije nego što odete, kliknite "Postavke" (na lijevom izborniku). Prikazat će se vaša "Prilagođena krajnja točka"; spremite to u tekstualnu datoteku … trebat će vam pri konfiguriranju ESP32.

    Napravite praznu lambda datoteku

    Lambda je oblik računanja bez poslužitelja, stoga ne moramo brinuti o hardveru. U konačnici, ovdje ćemo postaviti naš ažurirani kôd (što ćemo učiniti u nekoliko koraka). Za sada samo želimo stvoriti rezervirano mjesto, pa …

    1. Ponovno se prijavite na AWS konzolu (ako ste se odjavili) i kliknite na Lambda.
    2. Kliknite gumb "Kreiraj funkciju".
    3. Na sljedećoj stranici unesite osnovni naziv, poput starTrekDisplay
    4. Odaberite Node.js 12. X
    5. Prema dopuštenjima:

      • Ako znate svoj put oko Lambde i upoznati ste s njim, tada možete odabrati bilo koju opciju koja ima smisla. Trebat će vam dopuštenja za CloudWatch, IotCore, S3 (čitanje i pisanje).
      • Ako niste sigurni u dopuštenja, odaberite "Izradi novu ulogu s osnovnim lambda dopuštenjima". Zapišite naziv uloge. Kasnije ćemo izmijeniti dopuštenja.
    6. Pritisnite Stvori funkciju.
    7. Nakon minute ući ćete na novi zaslon s isječkom koda "hello world". Pomaknite se do dna do Osnovne postavke i kliknite "Uredi"
    8. Promijenite vremensko ograničenje s 3 sekunde na 2 minute i 0 sekundi. Napomena: vaš kôd nikada ne smije trajati dulje od 5-10 sekundi … međutim, potrebno nam je dulje vrijeme za vašu početnu autentifikaciju kod Microsofta (za funkcionalnost kalendara). Nakon što ste potvrdili autentičnost, ovo možete promijeniti na 20 sekundi.
    9. Pritisnite spremi.

    Stvorite puno pravilo

    1. Ostanite u Lambda konzoli i pomaknite se prema gore. Odaberite "Dodaj okidač".
    2. Odaberite AWS IoT. Zatim odaberite "Prilagođeno pravilo".
    3. Odaberite "Izradi novo pravilo".

      • Naziv pravila: ESP veza
      • Izraz upita pravila: "SELECT * FROM 'starTrekDisplay/pub'
    4. Kliknite "Dodaj"

    Izradite S3 kantu i mapu

    1. Idite na AWS konzolu i odaberite S3.
    2. Za pohranu datoteka za provjeru autentičnosti trebat će vam kanta i mapa. Ova bi mapa trebala biti privatna. Predlažem da upotrijebite bilo koju kantu koju već imate i imenujte datoteku za izradu mape pod nazivom "starTrekDisplay". Napomena - ako nemate kantu, stvorite je prema uputama ovdje.

    Dopuštenja za ažuriranje - ako ste dopustili Lambdi da vam kreira ulogu, morate slijediti ovaj korak

    1. Prijavite se na AWS konzolu i odaberite IAM
    2. Pritisnite ULOGE, a zatim odaberite naziv uloge koji ste ranije stvorili.
    3. Kliknite na priloži pravila, a zatim odaberite sljedeća pravila:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Korak 8: Preuzmite softverske ključeve i postavite usluge trećih strana

    Preuzmite softverske ključeve i postavite usluge trećih strana
    Preuzmite softverske ključeve i postavite usluge trećih strana

    U projektu koristim sljedeće usluge trećih strana:

    1. Svjetski API - za vrijeme
    2. API -ji nacionalne meteorološke službe - za vremenske prilike
    3. Microsoft Graph API za pristup mojem kalendaru
    4. Google Fitness API za pristup podacima o fitnesu

    Morat ćete postaviti račune i preuzeti ključeve kako biste iskoristili iste usluge

    Svjetski API - za vrijeme

    Za ovaj API nije potreban ključ, pa nisu potrebne nikakve radnje da bi ovo funkcioniralo.

    API -ji nacionalnih meteoroloških službi - za vremenske prilike

    API Nacionalne meteorološke službe je besplatan i nije potreban API ključ. Međutim, oni zahtijevaju da proslijedite kontaktne podatke (u obliku e -pošte) u svakom zahtjevu (kao dio datoteke zaglavlja). Kôdu ćete u sljedećem koraku dodati podatke za kontakt.

    NEOBVEZNO - Microsoft Graph API i Google Fitness API

    Ovo je najsloženiji dio postavljanja koda. Naš uređaj nema punopravnu tipkovnicu … stoga za pristup kalendaru koristimo nešto što se zove OAUTH za ograničene uređaje. Nažalost, morate stvoriti Azureovu "aplikaciju" i Google aplikaciju kako biste mogli kodirati OAUTH za ograničene uređaje.

    Upute za izradu aplikacije nalaze se ovdje za Microsoft, a ovdje za Google. Evo nekoliko stvari koje biste trebali znati:

    • Morat ćete stvoriti Azure i Google cloud račun. Ovo je besplatno i ništa vam neće biti naplaćeno
    • Microsoft:

      • Od vas će se tražiti da navedete koji korisnici mogu koristiti aplikaciju. Predlažem da odaberete "Računi u bilo kojem organizacijskom imeniku i osobni Microsoftovi računi". To će vam omogućiti korištenje osobnih Microsoftovih računa i korporativnih računa (u većini slučajeva).
      • Morat ćete odabrati aplikacije "Mobilna i stolna računala", međutim ne morate ispuniti sve podatke (budući da je ovo osobna aplikacija). To znači da svoju aplikaciju ne možete učiniti dostupnom svijetu…. ali u ovom slučaju je to ok
      • Nakon što postavite aplikaciju, morat ćete odabrati potrebna dopuštenja. Zatražio sam dopuštenja vezana za profile i kalendare (pogledajte sliku u galeriji za potpuni popis dopuštenja). Morat ćete odabrati isti skup. Ako dodate još dopuštenja, morat ćete na odgovarajući način promijeniti opseg u sljedećem koraku.

    Korak 9: Izmijenite i prenesite AWS kôd

    Ovo uputstvo pretpostavlja da ste upoznati s razvojem Node.js -a i Lambde. Preuzmite povezanu datoteku i unesite izmjene za ažuriranje:

    • Podaci o aplikaciji i klijentu tvrtke Microsoft
    • Google ključ
    • Adresa e -pošte za praćenje Nacionalne meteorološke službe
    • Naziv kante S3
    • S3 naziv mape
    • AWS završna točka

    Također ćete morati preuzeti sljedeće biblioteke čvorova:

    1. aws-sdk
    2. trenutna vremenska zona
    3. akcenti

    Nakon što unesete te izmjene, prenesite kôd na lambdu rezerviranog mjesta koju ste ranije stvorili.

    Korak 10: Pripremite Arduino IDE i preuzmite knjižnice

    Ovaj vodič također pretpostavlja da ste upoznati s Arduinom. Morat ćete osigurati da je vaš IDE postavljen za rad s Adafruit ESP32. Slijedite upute ovdje ako vam je potrebna pomoć.

    Nakon što to dovršite, preuzmite sljedeće knjižnice:

    • Adafruit_GFX (od upravitelja knjižnice)
    • Adafruit_HX8357 (od upravitelja knjižnice)
    • TFT_eSPI (od upravitelja knjižnice)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (od upravitelja knjižnice)
    • ArduinoJson (od upravitelja knjižnice)
    • Adafruit_STMPE610 (od upravitelja knjižnice)
    • Adafruit_MPR121 (od upravitelja knjižnice)
    • Adafruit_INA219 (od upravitelja knjižnice)
    • Adafruit_Sensor (od upravitelja knjižnice)
    • Adafruit_BME680 (od upravitelja knjižnice)
    • Tone32 (https://github.com/lbernstone/Tone)

    Zatim ćemo morati izmijeniti nekoliko knjižnica:

    1. Otvorite mapu PubSubClient (u mapi Arduino/Library) i otvorite "PubSubClient.h". Pronađite vrijednost za MQTT_MAX_PACKET_SIZE i promijenite je u 2000.
    2. Zatim otvorite mapu TFT_eSPI i datoteku "User_Setup_Select.h". Komentirajte sve retke "include users_setup…" i dodajte ovaj redak:

    #uključi

    Nakon toga preuzmite povezanu datoteku Custom_Tricorder.zip i izdvojite datoteku ".h" na mjesto "TFT_eSPI / User_Setups" u mapu Arduino knjižnica. Ja

    Sada možemo prijeći na ažuriranje Arduino koda

    Korak 11: Ažurirajte i instalirajte Arduino kod i uključite se

    Ažurirajte i instalirajte Arduino kod i uključite se!
    Ažurirajte i instalirajte Arduino kod i uključite se!

    Arduino kod

    Preuzmite i raspakirajte povezanu datoteku za Arduino kôd. Idite na karticu secrets.h. Morat ćete ažurirati sljedeće:

    • WIFI_SSID = ažurirajte sa svojim Wi -Fi SSID -om
    • WIFI_PASSWORD = ažurirajte svojom lozinkom za WiFi
    • TIMEZONE = ažurirajte svoju vremensku zonu s ovog popisa
    • LAT (možete koristiti uslugu poput "https://www.latlong.net" da biste pronašli svoju zemljopisnu širinu i dužinu
    • LNG
    • AWS_IOT_ENDPOINT = Ovo ste trebali spremiti od ranije. Trebalo bi izgledati poput "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Također ćete preuzeti certifikate iz ranijeg koraka. Otvorite, zatim u uređivaču bilješki (npr. Bilježnicu) i zalijepite tekst između "R" EOF ('i') EOF "; '. Obavezno uključite "----- POČNITE CERTIFIKAT -----" ili "----- POČNI PRAČNI KLJUČ RSA -----".

    Datoteke slika

    ESP32 dolazi s malim datotečnim sustavom. Ovaj datotečni sustav koristimo za spremanje slika u naš program. Morat ćete instalirati alat koji vam omogućuje prijenos datoteka.

    1. Prvo posjetite detaljni vodič o vodičima za slučajne štrebere.
    2. Kad ovo počnete raditi, možete učitati datoteke u podatkovnu mapu (također uključenu u zip datoteku).

    Uključite se

    Prenesite konačni Arduino kôd i gotovi ste!

    Napomena - Ime Zvjezdanih staza i slike Zvjezdanih staza vlasništvo su CBS/Paramount. Imaju prilično labavu politiku što se tiče cosplaya i fan fikcije - pročitajte ovdje ako imate pitanja.

    Fandom natjecanje
    Fandom natjecanje
    Fandom natjecanje
    Fandom natjecanje

    Prva nagrada na natjecanju za fandom

    Preporučeni: