Sadržaj:

Neka bude tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)
Neka bude tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)

Video: Neka bude tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)

Video: Neka bude tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)
Video: Elon Musk: The future we're building -- and boring | TED 2024, Juli
Anonim
Image
Image
Neka bude tako! Star Trek TNG Mini Inženjerski računar
Neka bude tako! Star Trek TNG Mini Inženjerski računar
Neka bude tako! Star Trek TNG Mini Inženjerski računar
Neka bude tako! Star Trek TNG Mini Inženjerski računar

Pregled

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

Terminal pruža sljedeće informacije:

  • Vrijeme - pomoću Nacionalne meteorološke službe
  • Unutrašnja temperatura, vlažnost i čvrstoća hlapivih organskih spojeva (VOC)
  • Vijesti - sa portala News.org
  • Raspored (sa funkcijom alarma) - iz programa Microsoft Outlook
  • Informacije 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 osnovu struje i snage izvora)
  • Alat za mjerenje snage i struje

Ove informacije su 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":

  • Poklon Ronu McNairu - Dr McNair je razlog zašto sam postao inženjer; odrastao je 45 minuta od mog rodnog grada. Poginuo je u eksploziji Challenger -a.

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

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

Pozadina

Prošle godine mi je bio potreban 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 godine sam odlučio nadograditi uređaj… kako bih ga učinio „tehničkijim“. Prvobitno sam planirao da napravim radni trikord Star Trek (verzija Mark IV TR-590 Mark IX, za one kojima je stalo) … ali sam brzo shvatio da ima smisla stvoriti nešto što će mi sedeti na stolu (mislim, zašto potrudite se napraviti sve ovo kako biste napravili cool uređaj, samo ga zatvorite i stavite u ladicu kada se ne koristi).

Pa sam se okrenuo izradi verzije računarskih ekrana koje vidite na Star Trek TNG -u ili Voyageru (ili različitim filmovima). Igrao sam se s različitim dizajnom, a zatim naišao na verziju koju su stvorila braća Ruiz iz Adafruit -a. Adafruit odlično radi s izvornim datotekama za svoje 3D štampane projekte, pa sam uspio uzeti njihovu originalnu verziju i remiksati je za svoj hardver, gumbe i druge periferne uređaje.

Stvari koje trebate znati prije nego nastavite

  1. Dajem korak po korak upute za izradu moje verzije projekta; međutim, ne ulazim u detalje o određenim koracima (povezat ću se s pratećim uputama ili dokumentacijom)
  2. Ovo je složen projekat. To je "multidisciplinarna 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 štampanje
  3. Postoje opcionalni "dodaci" za poboljšanje projekta kako bi se dobile informacije o kalendaru i fitnesu. Funkcionalnost je uključena u bazu kodova; međutim morat ćete stvoriti "aplikacije" u oblacima Azure i Google kako biste podržali funkcije.
  4. Ovo se u konačnici može prilagoditi … trenutni senzor možete zamijeniti drugim perjem. Možete koristiti drugu kombinaciju pero/wifi.

Supplies

Elektronske komponente

  • Adafruit ESP32 Huzzah pero
  • Adapruit Featherwing trostruki mini komplet
  • Adafruit kapacitivni senzor osjetljiv na dodir sa 12 ključeva
  • Adafruit TFT FeatherWing - 3.5 "480x320 ekran osetljiv na dodir
  • Adafruit BME680 - Senzor temperature, vlažnosti, pritiska i plina
  • Montaža na DC ploču 2.1 Cijevni priključak (2)
  • Litijum -jonska polimerna baterija - 3,7 V 500mAh
  • Piezo Buzzer
  • Mirco USB kabel i 5V punjač (tipičan USB punjač za telefon će raditi)
  • Bakarna traka sa ljepilom
  • Opcionalno - Adafruit INA219 Featherwing
  • Opcionalno - 2.1 muški utikači - (za upotrebu sa senzorom struje INA219)

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

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

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

Komponente i alati za sklapanje 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č za lemljenje itd.)
  • Philips Komplet odvijača za glavu
  • Shrink Wrap
  • Žičana žica 22AWG - pet ili šest boja
  • Puna žica 22AWG - pet ili šest boja
  • PCB Vise i ruke za pomoć (opcionalno, ali olakšavaju lemljenje)
  • Dijagonalni rezači žice
  • Strojevi za skidanje žice
  • Xacto nož (za uklanjanje nosača sa dijelova 3D štampača)
  • 3D štampač (ako planirate štampanje sami)
  • Git ili traka (za pričvršćivanje baterije na unutrašnjost štampanog kućišta)
  • Digitalne čeljusti
  • Krazy Glue
  • Opciono - Nitrilne rukavice za jednokratnu upotrebu
  • Opcionalno - lemilica (opcionalno, ali štiti površine)

Napomena: ako nemate ove alate, predlažem da provjerite web lokaciju Becky Stern za preporuke za dobre opcije.

Softver

  • Arduino IDE
  • Node JS editor (poput Microsoft Code)
  • AWS račun
  • Opcionalno - Google Cloud račun (za informacije o fitnesu)
  • Opcionalno - Microsoft Azure Cloud račun (za informacije 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 štampanja (poput 3D čvorišta) ili možete odštampati svoju. Datoteke su dostupne na PrusaPrinters.org.

    Ovaj slučaj je remiks budilnika Py Portal koji se nalazi na web stranici Adafruit. 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 štampanje sam koristio sljedeće postavke:

    • Prednji i stražnji dio- otisnuti na visini sloja od 0,2 mm sa mlaznicom od 0,4 mm, bez oslonaca
    • Bočni broj - odštampan na 0,10 mm visine sloja sa mlaznicom 0,25 mm, bez oslonaca
    • Ključevi - štampani na visini sloja 0,2 mm sa mlaznicom od 0,4 mm. Morat ćete odštampati 7 i morat ćete štampati sa proto-tjesteninom provodljivom niti.
    • Kućište - štampano na visini sloja 0,2 mm.

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

    Nekoliko stvari koje trebate znati:

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

      • Proizvodna ekipa Star Trek TNG -a posipala bi uskršnja jaja po rekvizitima. Ako pažljivo 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 (formiran 1906.) i "OUCOE" - koji se odnosi na moju alma mater (Univerzitet u Oklahomi, Inženjerski fakultet).
      • Napravio sam "prazan" dio side_number koji možete promijeniti da napravite vlastiti prilagođeni broj i tekst.

    Korak 2: Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)

    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
    Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)

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

    Zatim ćemo sastaviti tastaturu

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

      • Žuta - Pin 0/dugme 1
      • Siva - pin 1/dugme 2
      • Crvena - Pin 2 /Dugme 3
      • Plava - Pin 3 // Dugme 4
      • Zelena - Pin 4 // Dugme 5
      • Bijela - Pin 5 // Dugme 6
      • Crna - Pin 6 // Dugme 7
    2. Odvojite 1/2 unutra sa 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 ključeva. 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). Odlučio sam lijepiti svoj odozgo.

    Nakon što završite svih 7, upotrijebite malu mrvicu ljepila i pričvrstite tipke na tastaturu. Lakše mi je:

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

    Napomena: Krazy Glue ovdje najbolje funkcionira; možda biste trebali koristiti rukavice kako biste ograničili nezgode i šanse za iritaciju 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. Na kraju, to znači lemljenje igala i žica zaglavlja za kasniju upotrebu. Ovaj vodič pretpostavlja da vam je lemljenje ugodno; ako ne, pogledajte ovaj "Vodič za izvrsno lemljenje" kompanije Adafruit.

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

    • TFT 3.5 Featherwing
    • ESP32 pero
    • INA219 Featherwing
    • Tripler Featherwing
    • MPR121 Kapacitivni senzor dodira
    • BME680 Senzor
    • Igle zaglavlja ravnog i pravog ugla
    • Puna i nasukana žica
    • Alati za lemljenje i ruke za pomoć
    • Dijagonalni rezači žice i skidači žice
    • Čeljusti

    Napomena: Predlažem da prvo pročitate ovaj korak i odrežete sve žice i zaglavlje prije nego počnete lemiti. Na taj način nećete morati stati da biste izmjerili/izrezali.

    Pripremite TFT 3.5 Featherwing

    TFT je spreman za upotrebu van kutije sa samo jednim podešavanjem. Morat ćete lemiti žicu između "Lite" jastučića i igle za lemljenje. Naš kôd koristi ESP32 Pin 21 za kontrolu TFT lite. Rasporedite TFT "dug" put, sa dugmetom za resetovanje na dnu. Pin 21 će biti donji lijevi pin.

    Odrežite komad žice od 40 mm. Odvojite 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 dužine … tako da možete obrezati žicu po potrebi. Također smatram da je najlakši pristup dodavanje lemljenja jastučiću, zatim žici, pa lemljenje žice jastučiću. 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 tastature.

    Pripremite pero ESP32

    Morat ćete lemiti standardne muške iglice zaglavlja na ESP32. Vaš ESP32 trebao bi doći s zaglavljima, mada ćete ih možda morati obrezati da biste došli do ispravne dužine (16 pinova na dugoj strani; 12 pinova na kratkoj strani). Igle zaglavlja su napravljene da "odlepe", tako da možete koristiti svoje dijagonalne rezače da isečete zaglavlja na odgovarajuću dužinu. Opet, Adafruit ima sjajna uputstva 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 dužine 20 mm. Napravila bih 2 CRNA, a ostale u drugoj boji. Za izbor boja koristila sam SIVU i PLAVU.

    Skinite krajeve žice tako da 3-4 mm bakrene žice budu izložene na svakom kraju. Zalemit ć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 DC 2.1 utikače.

    Pričvrstite Piezo zujalicu

    INA Featherwing dolazi s malom površinom za izradu prototipova; iskoristit ć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 povezuje sa ESP32 PIN 13; ovo je u vezi sa iglom pored USB pina na perju (vidi sliku za strelice). Drugi piezo pin se spaja na masu. Igle za pieze su dovoljno dugačke da ih zalemite direktno na perje … samo ćete ih morati saviti u oblik "čovjeka s nogama" (vidi sliku). Nakon što postavite igle, upotrijebite ruke za pomoć (ili traku) da biste držali piezo na mjestu i lemite s donje strane pernatog krila.

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

    Pripremite Tripler Featherwing

    Perjanica nam štedi mnogo lemljenja; može držati 3 pera/perna krila … 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, morat ćemo lemiti dva para zaglavlja za slaganje i jedan par standardnih muških zaglavlja.

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

    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 BME 680 senzor i kapacitivni osjetnik na dodir MPR121

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

    BME senzor je pričvršćen pod uglom od 90, tako da mogu poravnati senzor sa rupom u kućištu (tako da senzor može uhvatiti temperaturu, gas, vlažnost). Morat ćete lemiti igle pod pravim uglom na rupe. Pogledajte slike kako biste bili sigurni da ste ih pravilno poravnali.

    Kapacitivni dodirni senzor je jednostavan - samo lemite prave muške konektore, kako je ovdje opisano. Napomena: IGRE NE SMETE lemiti na kapacitivne dodirne pinove (0 - 11).

    Pričvrstite senzore BME 680 i MPR121 na trostruku ploču

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

    BME 680

    Za ovaj senzor koristim Ruke za pomoć i PCB Vise da držim 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:

      • CRNO - GND
      • CRVENA - VIN
      • ŽUTI - SCL (SCK pin na senzoru na
      • 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ć pomažu i pri lemljenju ovog senzora na mjesto (traka također radi). Kod je koristio I2C za komunikaciju s ESP32, pa ćete spojiti SCA i SDA pinove.

    Korak 4: Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i pričvršćivanje u slučaju)

    Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i okidanje u kutiji)
    Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i okidanje u kutiji)
    Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i okidanje u kutiji)
    Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i okidanje u kutiji)
    Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i okidanje u kutiji)
    Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i okidanje u kutiji)

    U ovom koraku ćete lemiti žice sa tastature na kapacitivni dodirni senzor. Koristite isto mapiranje boja od ranije. Ako ste slijedili moju shemu boja, lemit ćete obojene žice na sljedeći način:

    • Žuta - Pin 0/dugme 1
    • Siva - pin 1/dugme 2
    • Crvena - Pin 2 /Dugme 3
    • Plava - pin 3 /dugme 4
    • Zelena - Pin 4/Dugme 5
    • Bijela - Pin 5/Dugme 6
    • Crna - Pin 6/Dugme 7

    Nakon što je lemljenje završeno, upotrijebite uvijač za pričvršćivanje žica na mjestu.

    Zatim pričvrstite TFT ekran na "prednji" dio. Koristit ćete vijke M3 (ukupno četiri). Nakon što je TFT na svom mjestu, pričvrstite "prednji" dio na kućište. Opet ćete koristiti vijke M3 (dva).

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

    Napomena - Ako planirate koristiti bateriju, svakako je umetnite u ESP32 -JST port prije nego umetnete TFT. Pomoću trake pričvrstite bateriju na unutarnje dno kućišta.

    Korak 5: DOBRO - 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 na mjesto.
    2. Za spajanje INA219 žica koristite lemilicu.

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

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

    Posljednji korak u sastavljanju 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. Ovo uputstvo pretpostavlja da već imate postavljen 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 prođete taj korak, trebate 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 uputstava 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, Kreiraj jednu stvar.
    3. Nazovite novu stvar "starTrekESP32". Preostala polja ostavite na zadane vrijednosti. Odaberite Dalje.
    4. Odaberite Kreiraj 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 Registriraj stvar.
    7. U bočnom meniju AWS IoT konzole odaberite Sigurnost, Smernice, Kreiraj pravilo.
    8. Imenujte politiku AllowEverything. Odaberite karticu Napredno.
    9. Zalijepite u sljedeći predložak politike.
    10. {{"Verzija": "2012-10-17", "Izjava": [{"Efekat": "Dozvoli", "Akcija": "iot:*", "Resurs": "*"}]}
    11. Odaberite Kreiraj. (Napomena: Ovo se preporučuje samo za početak. Nakon što vam bude odgovaralo da sve radi, vratite se i promijenite ovo na nešto restriktivnije.)
    12. Na AWS IoT konzoli odaberite Sigurnost, Certifikacija.
    13. Odaberite onu koja je stvorena za vaš uređaj i odaberite Radnje, Priloži pravila.
    14. Odaberite Dopusti sve, priloži.
    15. Prije nego što krenete, kliknite na "Postavke" (u lijevom meniju). Prikazat će se vaša "Prilagođena krajnja točka"; sačuvajte to u tekstualnu datoteku … trebat će vam pri konfiguriranju ESP32.

    Kreirajte praznu lambda datoteku

    Lambda je oblik računarskog računanja, tako da ne moramo brinuti o bilo kakvom hardveru ovdje. Na kraju, ovdje ćemo postaviti naš ažurirani kôd (što ćemo učiniti u nekoliko koraka). Za sada samo želimo stvoriti rezervirano mjesto, pa …

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

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

    Kreirajte puno pravilo

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

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

    Napravite S3 korpu 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 mapa bi trebala biti privatna. Predlažem da upotrijebite bilo koju korpu koju već imate i imenujte datoteku za stvaranje koja se zove "starTrekDisplay". Napomena - ako nemate kantu, stvorite je koristeći upute 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 politike, a zatim odaberite sljedeće politike:

      • 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. Svetski API - za vreme
    2. API -ji nacionalne meteorološke službe - za vremenske prilike
    3. Microsoft Graph API za pristup mom kalendaru
    4. Google Fitness API za pristup informacijama o fitnesu

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

    Svetski API - za vreme

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

    API -ji nacionalne meteorološke službe - za vremenske prilike

    API Nacionalne meteorološke službe je besplatan i nije potreban API ključ. Međutim, oni zahtijevaju da proslijedite kontakt 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 tastaturu … stoga koristimo nešto što se zove OAUTH za ograničene uređaje za pristup našem kalendaru. Nažalost, morate stvoriti Azureovu "aplikaciju" i Google aplikaciju kako biste mogli kodirati OAUTH za ograničene uređaje.

    Upute za kreiranje aplikacije su ovdje za Microsoft, a ovdje za Google. Evo nekoliko stvari koje trebate 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 direktoriju i lični Microsoft 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 "Mobilni i stolni računari", 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 u redu
      • Nakon što postavite aplikaciju, morat ćete odabrati potrebna dopuštenja. Tražio sam dozvole vezane za profile i kalendare (pogledajte sliku u galeriji za potpunu listu dozvola). Morat ćete odabrati isti skup. Ako dodate još dozvola, morat ćete na odgovarajući način promijeniti opseg u sljedećem koraku.

    Korak 9: Izmijenite i otpremite 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:

    • Informacije o aplikaciji i klijentu Microsoft
    • Google ključ
    • Adresa e -pošte za praćenje Nacionalne meteorološke službe
    • S3 naziv korpe
    • S3 naziv foldera
    • AWS Endpoint

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

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

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

    Korak 10: Pripremite Arduino IDE i preuzmite biblioteke

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

    Kada se ovo završi, preuzmite sljedeće biblioteke:

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

    Zatim ćemo morati izmijeniti nekoliko biblioteka:

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

    #include

    Nakon toga preuzmite povezanu datoteku Custom_Tricorder.zip i izdvojite datoteku ".h" na lokaciju "TFT_eSPI / User_Setups" u vašu mapu Arduino biblioteka. I

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

    Korak 11: Ažurirajte i instalirajte Arduino kôd 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 WiFi WiFi -jem
    • WIFI_PASSWORD = ažuriranje lozinkom za WiFi
    • TIMEZONE = ažurirajte svoju vremensku zonu sa ove liste
    • 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 sačuvati od ranije. Trebalo bi izgledati kao "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 sistemom. Ovaj datotečni sistem koristimo za spremanje slika u naš program. Morat ćete instalirati alat koji vam omogućuje postavljanje datoteka.

    1. Prvo posjetite detaljni vodič o vodičima za slučajne štrebere.
    2. Nakon što ovo završite, možete učitati datoteke u mapu s podacima (također uključenu u zip datoteku).

    Engage

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

    Napomena - Ime Star Treka i slike Star Treka 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 Contest
    Fandom Contest
    Fandom Contest
    Fandom Contest

    Prva nagrada na takmičenju Fandom

    Preporučuje se: