Sadržaj:
- Supplies
- Korak 1: Preuzmite, izmijenite datoteke i ispišite 3D datoteke
- Korak 2: Komponente za lemljenje/sastavljanje - dio a (Broj tastature i sa strane)
- Korak 3: Komponente za lemljenje/sastavljanje - dio B (krila i senzori)
- Korak 4: Komponente za lemljenje/sastavljanje - dio C (tastatura na kapacitivni senzor i pričvršćivanje u slučaju)
- Korak 5: DOBRO - Komponente za lemljenje/sastavljanje - Dio D (INA219 pero)
- Korak 6: Pričvrstite stražnji poklopac i priključite USB
- Korak 7: Pripremite AWS okruženje
- Korak 8: Preuzmite softverske ključeve i postavite usluge trećih strana
- Korak 9: Izmijenite i otpremite AWS kôd
- Korak 10: Pripremite Arduino IDE i preuzmite biblioteke
- Korak 11: Ažurirajte i instalirajte Arduino kôd i uključite se
Video: Neka bude tako! Star Trek TNG Mini Engineering Computer: 11 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
- 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)
-
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
- 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.
- 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
Korak 1: 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:
- Prusa MK3 omogućuje vam promjenu boja na različitim visinama slojeva. Koristio sam ovu funkciju za bočni broj.
-
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)
Prvo ćemo pričvrstiti bočni broj. Upotrijebite malu mrvicu ljepila da postavite bočni broj na mjesto.
Zatim ćemo sastaviti tastaturu
-
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
- Odvojite 1/2 unutra sa kraja svake žice.
- Izrežite 7 komada provodljive trake (svaki širine oko 1/2 inča) i lemite žice na bakrenu stranu trake.
- 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)
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)
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)
Ako koristite INA219 senzor, ovdje žice priključujete na istosmjerne utikače.
- Umetnite DC utikače u stražnji poklopac i pričvrstite ih na mjesto.
-
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
Kao što sam rekao u uvodu, premisa rješenja je sljedeća:
- Terminal, koji pokreće ESP32, koristi MQTT (preko Wifi) veze za komunikaciju s AWS oblakom.
- 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]
- Otvorite AWS konzolu i odaberite AWS IoT Core.
- Na AWS IoT konzoli odaberite Registriraj novu stvar, Kreiraj jednu stvar.
- Nazovite novu stvar "starTrekESP32". Preostala polja ostavite na zadane vrijednosti. Odaberite Dalje.
- 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.
- Odaberite Aktiviraj, Priloži pravilo.
- Preskočite dodavanje pravila i odaberite Registriraj stvar.
- U bočnom meniju AWS IoT konzole odaberite Sigurnost, Smernice, Kreiraj pravilo.
- Imenujte politiku AllowEverything. Odaberite karticu Napredno.
- Zalijepite u sljedeći predložak politike.
- {{"Verzija": "2012-10-17", "Izjava": [{"Efekat": "Dozvoli", "Akcija": "iot:*", "Resurs": "*"}]}
- 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.)
- Na AWS IoT konzoli odaberite Sigurnost, Certifikacija.
- Odaberite onu koja je stvorena za vaš uređaj i odaberite Radnje, Priloži pravila.
- Odaberite Dopusti sve, priloži.
- 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 …
- Ponovo se prijavite na AWS konzolu (ako ste se odjavili) i kliknite na Lambda.
- Kliknite na dugme "Kreiraj funkciju".
- Na sljedećoj stranici unesite osnovni naziv, poput starTrekDisplay
- Odaberite Node.js 12. X
-
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.
- Pritisnite Kreiraj funkciju.
- Nakon minute ući ćete na novi ekran sa isječkom koda "hello world". Pomaknite se do dna do Osnovne postavke i kliknite "Uredi"
- 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.
- Pritisnite sačuvaj.
Kreirajte puno pravilo
- Ostanite u Lambda konzoli i pomaknite se gore. Odaberite "Dodaj okidač".
- Odaberite AWS IoT. Zatim odaberite "Prilagođeno pravilo".
-
Odaberite "Kreiraj novo pravilo".
- Naziv pravila: ESP veza
- Naredba upita pravila: "SELECT * FROM 'starTrekDisplay/pub'
- Kliknite na "Dodaj"
Napravite S3 korpu i mapu
- Idite na AWS konzolu i odaberite S3.
- 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
- Prijavite se na AWS konzolu i odaberite IAM
- Pritisnite ULOGE, a zatim odaberite naziv uloge koji ste ranije stvorili.
-
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
U projektu koristim sljedeće usluge trećih strana:
- Svetski API - za vreme
- API -ji nacionalne meteorološke službe - za vremenske prilike
- Microsoft Graph API za pristup mom kalendaru
- 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:
- aws-sdk
- trenutna vremenska zona
- 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:
- Otvorite mapu PubSubClient (u mapi Arduino/Biblioteka) i otvorite "PubSubClient.h". Pronađite vrijednost za MQTT_MAX_PACKET_SIZE i promijenite je u 2000.
- 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
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.
- Prvo posjetite detaljni vodič o vodičima za slučajne štrebere.
- 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.
Prva nagrada na takmičenju Fandom
Preporučuje se:
Neka SMD ICs Breadboard bude prijateljski!: 10 koraka (sa slikama)
Učinite SMD ICs Breadboard Friendly!: Često se događa da je naš omiljeni IC dostupan samo u SMD paketu i ne postoji način da ga isprobate na matičnoj ploči. Pa bih vam u ovom kratkom uputstvu pokazao kako sam napravio ovaj mali adapter za SMD IC tako da može jesti
Ne tako pametno-ali-vrlo zdravo-ipak-pomalo jezivo ogledalo: 5 koraka (sa slikama)
Ne tako pametno-ali-vrlo zdravo-ipak-pomalo jezivo ogledalo: Treba vam ogledalo, ali ne želite dodati još jedan pametan objekt u svoj dom? Onda je ovo ne tako pametno-ali-vrlo zdravo-ipak-pomalo jezivo ogledalo upravo za vas
UChip Lightsaber - "Neka sila bude s vama": 6 koraka
UChip Lightsaber - "Neka sila bude s vama": Jeste li ikada sanjali o tome da budete Jedi ili Sith iz svemira Star Wars, zamahnete moćnim svjetlosnim mačem kako biste podržali svoju stranu? Kakav god odgovor bio, evo ga: Kako napraviti svjetlosni mač sam sa sobom sa µChipFirstom, dopustite mi da navedem da namjeravam
FridgePi: Ostaci nikada nisu zvučali tako dobro: 7 koraka (sa slikama)
FridgePi: Ostaci nikad nisu zvučali tako dobro: Godinama sam puštao muziku s iPhonea na stereo postavci u podrumu, sa zvučnicima povezanim u kuhinju. Radi dovoljno dobro, ali mi je ispraznio bateriju telefona i ograničio sadržaj na moju iTunes biblioteku ili neki web rad
Napravite Star Trek Communicator Edition RAZR: 3 koraka (sa slikama)
Napravite Star Trek Communicator Edition RAZR: Budući da je Star Trek Communicator bio inspiracija za današnje preklopne telefone, zašto ne biste učinili da vaš telefon više liči na original. Jesam i evo kako