Kazalo:
- Zaloge
- Korak: Prenesite, spremenite datoteke in natisnite 3D datoteke
- 2. korak: Spajkanje/sestavljanje komponent - del a (številka tipkovnice in strani)
- Korak: Spajkanje/sestavljanje komponent - del B (krilca in senzorji)
- 4. korak: Spajkanje/sestavljanje komponent - del C (tipkovnica do kapacitivnega senzorja in ohišje v primeru)
- 5. korak: NEOBVEZNO - komponente spajkanja/sestavljanja - del D (pero INA219)
- 6. korak: Privijte zadnji pokrov in priključite USB
- 7. korak: Pripravite okolje AWS
- 8. korak: Prenesite programske ključe in nastavite storitve tretjih oseb
- 9. korak: Spremenite in naložite kodo AWS
- 10. korak: Pripravite Arduino IDE in prenesite knjižnice
- 11. korak: Posodobite in namestite Arduino kodo in sodelujte
Video: Naj bo tako! Mini inženirski računalnik Star Trek TNG: 11 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Pregled
Odrasel sem ob gledanju Zvezdne steze: naslednja generacija. Vedno sem si želel zgraditi tematsko napravo Star Trek, zato sem se končno lotil ponovnega mešanja enega od svojih starih projektov, da bi naredil prikazovalni terminal Star Trek.
Terminal ponuja naslednje informacije:
- Vreme - z uporabo nacionalne vremenske službe
- Notranja temperatura, vlažnost in trdnost hlapnih organskih spojin (HOS)
- Novice - iz News.org
- Urnik (s funkcijo alarma) - iz programa Microsoft Outlook
- Podatki o fitnesu (koraki, minute gibanja, srčne točke, teža, porabljene kalorije) - iz Googla Fitness
- grafikon barvnih kod upora
- kalkulator upornosti LED (za določitev vrednosti upora na podlagi toka in moči vira)
- Orodje za merjenje moči in toka
Te informacije so na voljo s kombinacijo API -jev in senzorjev strojne opreme. Uporabljam ESP32 za mikrokrmilnik in uporabljam oblak AWS za vse zbiranje in združevanje podatkov.
Vključil sem tudi nekaj "velikonočnih jajc":
-
Ron McNair poklon - dr. McNair je razlog, da sem postal inženir; zrasel je 45 minut od mojega domačega kraja. Umrl je v eksploziji Challengerja.
- Ime moje zvezdniške ladje je "USS Ronald E McNair"
- Registrska številka je od datuma rojstva Sr McNairja; Predpona je dan, ko je izgubil življenje.
- Uporaba "predponske kode" je znak Star Trek: Wrath of Khan (največji film Star Trek vseh časov; ne @ mene).
- Številke na desni strani končne omarice se nanašajo na moje bratstvo (1906 - Alpha Phi Alpha) in mojo alma mater ter področje študija - (Univerza v Oklahomi, Fakulteta za inženiring)
Imate možnost prilagajanja oštevilčenja, črk in imena ladje, registra itd. Za svoja "velikonočna jajca".
Ozadje
Lani sem potreboval poceni način za merjenje moči in praznjenja baterije pri nosljivem projektu. Kupil sem Adafruit INA219 Featherwing in uporabil nekaj različnih rezervnih delov za izdelavo preproste naprave za merjenje moči (več o tem lahko preberete tukaj).
Letos sem se odločil nadgraditi napravo, da bo postala bolj "tehnična". Sprva sem nameraval zgraditi delujoč trikoder Star Trek (različica Mark IV TR-590 Mark IX, za tiste, ki jim je mar) … vendar sem hitro ugotovil, da je bolj smiselno ustvariti nekaj, kar bi sedelo na moji mizi (mislim, zakaj naredi vse te težave, da narediš kul napravo, samo da jo zapreš in daš v predal, ko je ne uporabljaš).
Zato sem se obrnil na izdelavo različice računalniških zaslonov, ki jih vidite na Star Trek TNG ali Voyagerju (ali različnih filmih). Poigraval sem se z različnimi modeli, nato pa naletel na različico, ki so jo ustvarili brata Ruiz iz Adafruit. Adafruit odlično opravlja svoje izvorne datoteke za svoje 3D tiskane projekte, zato sem lahko vzel njihovo izvirno različico in jo ponovno premešal za strojno opremo, gumbe in drugo zunanjo opremo.
Kaj morate vedeti, preden nadaljujete
- Zagotavljam navodila po korakih za izdelavo moje različice projekta; vendar se ne spuščam v podrobnosti o nekaterih korakih (povezal bom do podpornih navodil ali dokumentacije)
-
To je kompleksen projekt. To je "multidisciplinarna znamka", ki zahteva naslednje spretnosti
- Arduino IDE
- AWS - Potrebovali boste račun in morali boste razumeti S3, Lambda in Node JS
- Spajkanje
- 3D tiskanje
- Obstajajo neobvezni "dodatki" za izboljšanje projekta, da bi dobili podatke o koledarju in fitnesu. Funkcionalnost je vključena v kodno bazo; za podporo funkcij pa boste morali ustvariti "aplikacije" v oblakih Azure in Google.
- To je na koncu prilagodljivo … trenutni senzor lahko zamenjate z drugim perjem. Uporabite lahko drugo kombinacijo pero/wifi.
Zaloge
Elektronske komponente
- Adafruit ESP32 Huzzah pero
- Mini komplet Adapruit Featherwing Tripler Mini
- Adapruit 12-ključni kapacitivni senzor na dotik
- Adafruit TFT FeatherWing - 3,5 -palčni zaslon na dotik 480x320
- Adafruit BME680 - senzor temperature, vlažnosti, tlaka in plina
- Vtič za cevni priključek DC Panel 2.1 (2)
- Litij -ionska polimerna baterija - 3,7 V 500mAh
- Piezo Buzzer
- Mirco USB kabel in 5V polnilec (tipičen USB polnilec za telefon bo deloval)
- Trak iz bakrene folije z lepilom
- Izbirno - Adafruit INA219 Featherwing
- Izbirno - 2.1 moški vtiči - (za uporabo s senzorjem toka INA219)
Povezava do vseh elektronskih komponent, razen vtičev 2.1:
Komponente 3D niti in izbirne komponente za barvanje/brušenje
- Proto Pasta Conductive PLA
- Dodatni 3D filamenti - uporabil sem 4 barve - sivo, črno, Aqua (svetlo modra) in belo
- .25 in 0,4 mm šobe (za podrobnosti o črkah sem uporabil 0,25).
Sestavni deli in orodja za sestavljanje strojne opreme
- Vijaki M2x5 in M3x5
- Zatiči za glavo z ravnim in pravim kotom (za povezave glejte seznam želja Adafruit)
- Spajkalnik (in tuljava spajkalnika, pločevinka za konice, sesalnik za spajkanje itd.)
- Komplet izvijačev za glavo Philips
- Skrčljiva folija
- Napeta žica 22AWG - pet ali šest barv
- Masivna žica 22AWG - pet ali šest barv
- PCB Vise in roke za pomoč (neobvezno, vendar olajša spajkanje)
- Diagonalni rezalniki žice
- Odstranjevalci žice
- Xacto nož (za odstranjevanje nosilcev iz delov 3D tiskalnika)
- 3D tiskalnik (če nameravate tiskati sami)
- Kiti ali trak (za pritrditev baterije na notranjo stran natisnjenega ohišja)
- Digitalne čeljusti
- Noro lepilo
- Neobvezno - nitrilne rokavice za enkratno uporabo
- Izbirno - spajkalna preproga (neobvezno, vendar ščiti površine)
Opomba: če nimate teh orodij, predlagam, da na priporočilih za dobre možnosti obiščete spletno mesto Becky Stern.
Programska oprema
Korak: Prenesite, spremenite datoteke in natisnite 3D datoteke
Datoteke lahko pošljete v storitev 3D tiskanja (na primer 3D Hubs) ali pa natisnete svojo. Datoteke so na voljo na PrusaPrinters.org.
Ta ovitek je remiks budilke Py Portal na spletni strani Adafruit. Moj projekt uporablja podoben TFT, zato sem lahko zmanjšal količino oblikovalskega dela, ki je potrebno, da bi ohišje delovalo z mojo dodatno opremo.
Za tiskanje sem uporabil naslednje nastavitve:
- Spredaj in zadaj- natisnjeno na višini sloja 0,2 mm z nastavkom 0,4 mm, brez nosilcev
- Stranska številka - natisnjena na višini sloja 0,10 mm s šobo 0,25 mm, brez nosilcev
- Ključi - natisnjeni na višini sloja 0,2 mm s šobo 0,4 mm. Natisniti morate 7 in tiskati s prevodno nitjo iz proto-testenin.
-
Ohišje - natisnjeno na višini sloja 0,2 mm.
Podpore so potrebne, vendar niso potrebne povsod (samo na straneh in na sredini, kjer se nahaja tipkovnica
Nekaj stvari, ki jih morate vedeti:
- Prusa MK3 vam omogoča spreminjanje barv na različnih višinah plasti. To funkcijo sem uporabil za del stranske številke.
-
Tudi glede dela s stransko številko:
- Proizvodna ekipa Star Trek TNG bi v rekvizite potresela velikonočna jajca. Če natančno pogledate različne plošče in plošče, boste videli imena ljudi, besedila pesmi itd. Za stransko številko sem želel ustvariti svoje "velikonočno jajce", zato uporabljam "06" - kar se nanaša na moje bratstvo (ustanovljen leta 1906) in "OUCOE" - ki se nanaša na mojo alma mater (Univerza v Oklahomi, College of Engineering).
- Ustvaril sem "prazen" del side_number, ki ga lahko spremenite, da naredite svojo številko in besedilo po meri.
2. korak: Spajkanje/sestavljanje komponent - del a (številka tipkovnice in strani)
Najprej bomo pritrdili stransko številko. Z majhnim kosom lepila namestite stransko številko.
Nato sestavimo tipkovnico
-
Odrezati morate 7 kosov žice, dolžine 10-12 centimetrov. Ti bodo povezani z nožicami 0-6 kapacitivnega senzorja na dotik. Predlagam, da uporabite različne barve (in zapišite barve/preslikavo pin, saj boste te podatke potrebovali kasneje). Uporabil sem naslednjo barvno kombinacijo:
- Rumena - Pin 0/Gumb 1
- Siva - Pin 1/Gumb 2
- Rdeča - Pin 2 /Gumb 3
- Modra - Pin 3 // Gumb 4
- Zelena - Pin 4 // Gumb 5
- Bela - Pin 5 // Gumb 6
- Črna - Pin 6 // Gumb 7
- Odstranite 1/2 vh s konca vsake žice.
- Odrežite 7 kosov prevodnega traku (vsak približno 1/2 palca v širino) in žice spajkajte na bakreno stran traku.
- Odstranite lepilno podlago in jih prilepite na dno tipk. Morda boste morali odrezati nekaj bakrenega traku.
Opomba: Ključe lahko prilepite od spodaj (tako, da so poravnani z vrhom) ali pa od zgoraj (tako da "plavajo" nekaj mm od vrha). Odločil sem se, da bom svojega zlepil z vrha.
Ko dokončate vseh 7, z majhnim kančkom lepila pritrdite tipke na tipkovnico. Lažje mi je:
- Najprej "kačo" žico skozi luknjo za ključ.
- Nato na greben/rob ključa nanesite majhen trak lepila
- Hitro postavite ključ na mesto.
Opomba: Krazy Glue tukaj najbolje deluje; morda boste želeli uporabiti rokavice za omejitev nesreč in možnosti draženja kože.
Korak: Spajkanje/sestavljanje komponent - del B (krilca in senzorji)
Naslednji korak je priprava in montaža komponent strojne opreme. Konec koncev to pomeni spajkanje zatičev in žic za poznejšo uporabo. Ta priročnik predpostavlja, da vam spajkanje ne ustreza; v nasprotnem primeru si oglejte ta "Vodnik za odlično spajkanje" podjetja Adafruit.
Najprej bomo pripravili materiale. Za ta korak boste potrebovali:
- TFT 3.5 Featherwing
- ESP32 pero
- INA219 Featherwing
- Tripler Featherwing
- Kapacitivni senzor na dotik MPR121
- Senzor BME680
- Zatiči glave naravnost in pravokotno
- Trdna in nasedla žica
- Spajkalna orodja in roke za pomoč
- Diagonalni rezalniki in odstranjevalci žice
- Čeljusti
Opomba: Predlagam, da najprej preberete ta korak in odrežete vse žice in glave, preden začnete spajkati. Tako vam ne bo treba ustaviti za merjenje/rezanje.
Pripravite TFT 3.5 Featherwing
TFT je pripravljen za uporabo izven škatle z edino nastavitvijo. Med "Lite" blazinico in blazinico za spajkanje morate spajkati žico. Naša koda uporablja ESP32 Pin 21 za nadzor TFT lite. TFT razporedite po "dolgi" poti z gumbom za ponastavitev na dnu. Pin 21 bo spodnji levi zatič.
Odrežite 40 mm kos žice. Odstranite konce tako, da se na vsakem koncu prikaže nekaj milimetrov žice. S spajkalnikom previdno spajkajte na oba zatiča.
Opomba: potrebujete le približno 35 mm dolžine … tako da lahko po potrebi obrežete žico. Prav tako se mi zdi najlažji način dodajanje spajkanja na blazinico, nato na žico, nato pa spajkanje žice na blazinico. Končno - te blazinice so majhne … če vam je neprijetno, lahko ta korak vedno preskočite: gre le za izklop TFT s tipkovnico.
Pripravite pero ESP32
Standardne moške zatiče glave morate spajkati na ESP32. Vaš ESP32 mora imeti priložene glave, čeprav jih boste morda morali obrezati, da dosežete pravilno dolžino (16 zatičev na dolgi strani; 12 zatičev na kratki strani). Zatiči glave so narejeni tako, da se "odtrgajo", zato lahko z diagonalnimi rezalniki glave odrežete na pravo dolžino. Spet ima Adafruit odlična navodila, kako to storiti, zato preverite, če potrebujete navodila.
NEOBVEZNO - Pripravite INA219 Featherwing
Najprej spajkajte moške glave na perje (z uporabo istih navodil kot za ESP32). Nato izrežite štiri 20 mm dolge žice. Jaz bi naredila 2 ČRNA, drugi pa drugo barvo. Za izbiro barv sem uporabila sivo in modro.
Odstranite konce žice, tako da je na vsakem koncu izpostavljeno 3-4 mm bakrene žice. Vsako žico boste spajkali po eno, kot je prikazano spodaj:
- SIVA -> V+ (plus)
- MODRA -> V- (minus)
- ČRNA -> GND (zemlja)
- ČRNA -> GND (zemlja)
Druge konce žic v tem času pustite; na koncu jih bomo spajkali na vtiče DC 2.1.
Pritrdite Piezo Buzzer
INA Featherwing ima majhno območje izdelave prototipov; to bomo uporabili za pritrditev našega pieza. Piezo bo našemu projektu omogočil piskanje in zvočna opozorila, alarme itd.
Piezo se poveže z ESP32 PIN 13; to je povezano z zatičem poleg zatiča USB na perju (glej sliko za puščice). Drugi piezo pin se poveže z maso. Zatiči za piezo so dovolj dolgi, da jih lahko spajkate neposredno na perje … igle morate samo upogniti v obliko "moškega z lokom" (glej sliko). Ko namestite zatiče, z rokami za pomoč (ali trakom) držite piezo na mestu in spajkajte s spodnje strani perja.
Opomba - Če ne uporabljate INA219, boste morali piezo spajkati neposredno na desko za perje.
Pripravite Tripler Featherwing
Perjanica nam prihrani veliko spajkanja; lahko drži 3 perja/krilca … zato ga bomo uporabili za vzpostavitev električnih povezav med TFT, ESP32, INA219 (pa tudi piezo in pin TFT Lite).
Za pravilno povezavo bomo morali spajkati dva para zloženih glav in en par standardnih moških glav.
- Navadne moške glave se bodo nadaljevale na "zgornjem" mestu, vendar bodo spajkane na spodnjo stran trojčka.
- Dva zglavja za zlaganje bosta spajkana na mestih 2 in 3 na zgornji strani trojčka.
To je malo zmedeno, zato si oglejte slike, da razumete, kje so vsaka glava. Tudi kombinacija PCB Vise in Roke za pomoč lahko v veliko pomoč pri spajkanju komponent.
Pripravite senzor BME 680 in kapacitivni senzor na dotik MPR121
Zadnja dva senzorja sta najtežje pritrditi. Na zaključne plošče moramo pritrditi zatiče glave, da zaključimo montažo.
Senzor BME je pritrjen pod kotom 90, tako da lahko senzor poravnam z luknjo v ohišju (tako da lahko senzor zajame temperaturo, plin, vlažnost). Na luknje morate spajkati pravokotne zatiče. Oglejte si slike in se prepričajte, da ste jih pravilno poravnali.
Kapacitivni senzor na dotik je preprost - le spajkajte ravne moške priključke, kot je opisano tukaj. Opomba: ne smete spajkati zatičev na kapacitivne dotike (0 - 11).
Senzorje BME 680 in MPR121 pritrdite na trojno ploščo
Oba senzorja komunicirata prek I2C … kar pomeni, da moramo vzpostaviti samo 4 povezave med odmičnimi ploščami in Featherwingom. Zaradi preprostosti sem spajkal vse povezave med ploščami.
BME 680
Za ta senzor uporabljam Roki za pomoč in PCB Vise, da obe komponenti pritrdimo na svoje mesto (glej sliko zgoraj). Senzor BME680 je treba namestiti na konec krila. Za potrditev umestitve si oglejte zgornje slike.
Postopek spajkanja povezav je dolgočasen, zato pojdite počasi. Za povezave uporabljam polno žico:
- ČRNA - GND
- RDEČA - VIN
- RUMENI - SCL (SCK pin na senzorju do
- ORANGE - SDA (zatič SDA na senzorju)
Opomba: Zatiča SCL in SDA sta potrebna za oba senzorja, zato je morda lažje uporabiti zatič SCL ali SDA na drugem delu Featherwinga.
MPR121
Roke za pomoč pomagajo tudi pri spajkanju tega senzorja (tudi trak deluje). Koda je uporabljala I2C za komunikacijo z ESP32, zato boste priključili nožice SCA in SDA.
4. korak: Spajkanje/sestavljanje komponent - del C (tipkovnica do kapacitivnega senzorja in ohišje v primeru)
V tem koraku boste spajkali žice s tipkovnice na kapacitivni senzor na dotik. Uporabite isto barvno preslikavo od prej. Če ste sledili moji barvni shemi, boste barvne žice spajkali na naslednji način:
- Rumena - Pin 0/Gumb 1
- Siva - Pin 1/Gumb 2
- Rdeča - Pin 2 /Gumb 3
- Modra - Pin 3 /Gumb 4
- Zelena - Pin 4/Gumb 5
- Bela - Pin 5/Gumb 6
- Črna - Pin 6/Gumb 7
Ko je spajkanje končano, žice držite na mestu.
Nato privijte zaslon TFT na "sprednji" kos. Uporabili boste vijake M3 (skupaj štiri). Ko je TFT na svojem mestu, privijte "sprednji" kos na ohišje. Spet boste uporabili vijaka M3 (dva).
Nato priključite trojček Featherwing z vsemi priključenimi komponentami na TFT.
Opomba - Če nameravate uporabljati baterijo, jo vstavite v vrata ESP32 -JST, preden vstavite TFT. Baterijo pritrdite na notranji spodnji del ohišja s trakom.
5. korak: NEOBVEZNO - komponente spajkanja/sestavljanja - del D (pero INA219)
Če uporabljate senzor INA219, potem tukaj priključite žice na enosmerne vtiče.
- Vtiče enosmernega toka vstavite v zadnji pokrov in jih privijte.
-
Za spajanje žic INA219 uporabite spajkalnik.
- Črne žice morajo iti v ZEMLJO za vsak enosmerni vtič.
- Siva žica mora iti v vtičnico INPUT DC
- Modra žica mora iti v vtičnico OUTPUT.
6. korak: Privijte zadnji pokrov in priključite USB
Zadnji korak pri montaži strojne opreme je priviti zadnji pokrov - z vijaki M2 (4). Od tam priključite kabel USB, ga povežite z računalnikom in nadaljujte s koraki programske opreme!
7. korak: Pripravite okolje AWS
Kot sem navedel v uvodu, je predpostavka rešitve naslednja:
- Terminal, ki ga poganja ESP32, za komunikacijo z oblakom AWS uporablja povezavo MQTT (prek Wi -Fi).
- Oblak AWS opravi večino obdelave in služi kot prenos med monitorjem in zahtevanimi storitvami.
V tem koraku moramo narediti nekaj stvari:
Najprej morate nastaviti okolje AWS, če tega še niste storili. Ta navodilo predvideva, da imate že nastavljen račun AWS, zato navodila za nastavitev računa v oblaku niso vključena. Kot rečeno, so koraki naravnost in jih najdete tukaj.
Ko končate ta korak, morate ustvariti nekaj storitev, zato se prijavite v konzolo AWS.
Ustvarite stvar in prenesite ključe
AWS IoT Core olajša komunikacijo med oblakom AWS in zaslonom. Za podporo komunikacije boste morali ustvariti "stvar" in prenesti potrdila.
[Opomba: večina teh navodil je vzeta iz vodnika, ki ga je napisal Moheeb Zara, evangelist AWS]
- Odprite konzolo AWS in izberite AWS IoT Core.
- V konzoli AWS IoT izberite Registracija nove stvari, Ustvari eno stvar.
- Novo stvar poimenujte "starTrekESP32". Preostala polja pustite privzete. Izberite Naprej.
- Izberite Ustvari potrdilo. Za povezavo ESP32 so potrebni le certifikati, zasebni ključ in Amazon Root CA 1. Prenesite in shranite na varno mesto, saj se uporabljajo pri programiranju naprave ESP32.
- Izberite Aktiviraj, pripni pravilnik.
- Preskočite dodajanje pravilnika in izberite Register Thing.
- V stranskem meniju konzole AWS IoT izberite Varnost, Politike, Ustvari pravilnik.
- Poimenujte pravilnik AllowEverything. Izberite zavihek Napredno.
- Prilepite v naslednjo predlogo pravilnika.
- {{"Različica": "2012-10-17", "Izjava": [{"Učinek": "Dovoli", "Dejanje": "iot:*", "Viri": "*"}]}
- Izberite Ustvari. (Opomba: To je priporočljivo le za začetek. Ko se boste prepričali, da vse deluje, se vrnite in spremenite to na nekaj bolj omejevalnega.)
- V konzoli AWS IoT izberite Secure, Certification.
- Izberite tistega, ki je ustvarjen za vašo napravo, in izberite Dejanja, Pripni pravilnik.
- Izberite AllowEverything, Attach.
- Preden odidete, kliknite »Nastavitve« (v levem meniju). Prikazala se bo vaša "končna točka po meri"; shranite to v besedilno datoteko … potrebovali jo boste pri konfiguraciji ESP32.
Ustvarite prazno datoteko Lambda
Lambda je oblika računanja brez strežnika, zato nam tukaj ni treba skrbeti za strojno opremo. Na koncu bomo tukaj postavili posodobljeno kodo (to bomo naredili v nekaj korakih). Za zdaj želimo samo ustvariti nadomestno mesto, zato …
- Znova se prijavite v konzolo AWS (če ste se odjavili) in kliknite Lambda.
- Kliknite gumb "Ustvari funkcijo".
- Na naslednji strani vnesite osnovno ime, na primer starTrekDisplay
- Izberite Node.js 12. X
-
Pod dovoljenji:
- Če poznate svojo pot okoli Lambde in jo poznate, lahko izberete katero koli možnost, ki je smiselna. Potrebovali boste dovoljenja za CloudWatch, IotCore, S3 (branje in pisanje).
- Če niste prepričani o dovoljenjih, izberite "Ustvari novo vlogo z osnovnimi dovoljenji Lambda". Zapišite ime vloge. Kasneje bomo dovoljenja spremenili.
- Kliknite Ustvari funkcijo.
- Čez minuto boste vstopili na nov zaslon z delčkom kode "hello world". Pomaknite se navzdol do dna do osnovnih nastavitev in kliknite »Uredi«
- Časovno omejitev spremenite s 3 sekund na 2 minuti in 0 sekund. Opomba: vaša koda ne sme trajati dlje kot 5-10 sekund … vendar potrebujemo daljši čas za vašo prvotno avtentikacijo pri Microsoftu (za funkcionalnost koledarja). Ko potrdite pristnost, lahko to spremenite na 20 sekund.
- Pritisnite shrani.
Ustvarite veliko pravilo
- Ostanite v konzoli Lambda in se pomaknite navzgor. Izberite "Dodaj sprožilec".
- Izberite AWS IoT. Nato izberite "Pravilo po meri".
-
Izberite "Ustvari novo pravilo".
- Ime pravila: Povezava ESP
- Stavek poizvedbe pravila: "SELECT * FROM 'starTrekDisplay/pub'
- Kliknite "Dodaj"
Ustvarite vedro in mapo S3
- Pomaknite se do konzole AWS in izberite S3.
- Za shranjevanje datotek za preverjanje pristnosti boste potrebovali vedro in mapo. Ta mapa mora biti zasebna. Predlagam, da uporabite katero koli vedro, ki jo že imate, in ustvarite mapo z imenom "starTrekDisplay". Opomba - če nimate vedra, ga ustvarite po navodilih tukaj.
Dovoljenja za posodobitev - če ste dovolili, da vam Lambda ustvari vlogo, boste morali slediti temu koraku
- Prijavite se v konzolo AWS in izberite IAM
- Kliknite VLOGE in izberite ime vloge, ki ste ga ustvarili prej.
-
Kliknite na priloži pravilnike, nato izberite te pravilnike:
- AWSIoTFullAccess
- AmazonSNSFullAccess
- CloudWatchFullAccess
- AmazonS3FullAccess
8. korak: Prenesite programske ključe in nastavite storitve tretjih oseb
V projektu uporabljam naslednje storitve tretjih oseb:
- Svetovni API - za čas
- API -ji nacionalnih vremenskih služb - za vreme
- Microsoft Graph API za dostop do mojega koledarja
- Google Fitness API za dostop do podatkov o fitnesu
Če želite uporabiti iste storitve, boste morali nastaviti račune in prenesti ključe
Svetovni API - za čas
Ta API ne potrebuje ključa, zato za njegovo delovanje ni potrebno nobeno dejanje.
API -ji nacionalnih vremenskih služb - za vreme
API nacionalne vremenske službe je brezplačen in ključ API ni potreben. Vendar pa zahtevajo, da v vsaki zahtevi posredujete kontaktne podatke (v obliki e -pošte) (kot del datoteke z glavo). Kodi boste v naslednjem koraku dodali kontaktne podatke.
NEOBVEZNO - Microsoft Graph API in Google Fitness API
To je najbolj zapleten del nastavitve kode. Naša naprava nima polnopravne tipkovnice … zato za dostop do koledarja uporabljamo nekaj, kar se imenuje OAUTH za omejene naprave. Na žalost morate ustvariti "aplikacijo" Azure in Googlovo aplikacijo, da boste lahko kodo uporabljali OAUTH za omejene naprave.
Navodila za ustvarjanje aplikacije so tukaj za Microsoft fand tukaj za Google. Tukaj je nekaj stvari, ki jih morate vedeti:
- Ustvariti boste morali račun Azure in Google v oblaku. To je brezplačno in nič vam ne bo zaračunano
-
Microsoft:
- Od vas se bo zahtevalo, da navedete, kateri uporabniki lahko uporabljajo aplikacijo. Predlagam, da izberete »Računi v katerem koli organizacijskem imeniku in osebnih Microsoftovih računih«. Tako boste lahko uporabljali osebne Microsoftove račune in poslovne račune (v večini primerov).
- Izbrati boste morali aplikacije za mobilne in namizne računalnike, vendar vam ni treba izpolniti vseh podatkov (ker je to osebna aplikacija). To pomeni, da svoje aplikacije ne morete dati na voljo svetu … ampak v tem primeru je to v redu
- Ko je aplikacija nastavljena, morate izbrati potrebna dovoljenja. Prosil sem za dovoljenja v zvezi s profili in koledarji (za celoten seznam dovoljenj si oglejte sliko v galeriji). Ta isti niz morate izbrati. Če dodate več dovoljenj, boste morali v naslednjem koraku ustrezno spremeniti obseg.
9. korak: Spremenite in naložite kodo AWS
Ta navodila zahtevajo, da poznate razvoj Node.js in Lambda. Prenesite povezano datoteko in spremenite posodobitve:
- Podatki o aplikaciji Microsoft in odjemalcu
- Googlov ključ
- E -poštni naslov za sledenje Nacionalni vremenski službi
- Ime vedra S3
- Ime mape S3
- Končna točka AWS
Prav tako boste morali prenesti naslednje knjižnice vozlišč:
- aws-sdk
- trenutni časovni pas
- poudarki
Ko so te spremembe narejene, naložite kodo v lambda, ki ste jo ustvarili prej.
10. korak: Pripravite Arduino IDE in prenesite knjižnice
Ta priročnik tudi predvideva, da poznate Arduino. Zagotoviti morate, da je vaš IDE nastavljen za delo z Adafruit ESP32. Če potrebujete pomoč, sledite navodilom tukaj.
Ko je to končano, prenesite naslednje 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)
Nato bomo morali spremeniti nekaj knjižnic:
- Odprite mapo PubSubClient (v mapi Arduino/Library) in odprite "PubSubClient.h". Poiščite vrednost za MQTT_MAX_PACKET_SIZE in jo spremenite v 2000.
- Nato odprite mapo TFT_eSPI in odprite datoteko "User_Setup_Select.h". Komentirajte vse vrstice "include users_setup…" in dodajte to vrstico:
#vključi
Nato prenesite povezano datoteko Custom_Tricorder.zip in izvlecite datoteko ».h« na mesto »TFT_eSPI / User_Setups« v mapi knjižnic Arduino. jaz
Zdaj lahko nadaljujemo s posodobitvijo kode Arduino
11. korak: Posodobite in namestite Arduino kodo in sodelujte
Koda Arduino
Prenesite in razpakirajte povezano datoteko za kodo Arduino. Pojdite na zavihek secrets.h. Posodobiti morate naslednje:
- WIFI_SSID = posodobite z vašim SSID -jem za wifi
- WIFI_PASSWORD = posodobite z geslom za wifi
- TIMEZONE = posodobi vaš časovni pas s tega seznama
- LAT (za iskanje zemljepisne širine in dolžine lahko uporabite storitev, kot je "https://www.latlong.net"
- LNG
- AWS_IOT_ENDPOINT = To bi morali shraniti od prej. Videti bi moral kot "dx68asda7sd.iot.us-east1-amazonaws.com"
- AWS_CERT_CA
- AWS_CERT_CRT
- AWS_CERT_PRIVATE
Prenesli boste tudi potrdila iz prejšnjega koraka. Odprite in nato v urejevalniku beležk (npr. Beležnico) in prilepite besedilo med 'R "EOF (' in ') EOF";'. Ne pozabite vključiti "----- BEGIN CERTIFICATE -----" ali "----- BEGIN RSA PRIVATE KEY -----".
Slikovne datoteke
ESP32 ima majhen datotečni sistem. Ta datotečni sistem uporabljamo za shranjevanje slik v naš program. Namestiti morate orodje, ki vam omogoča nalaganje datotek.
- Najprej obiščite poglobljeno vadnico o vadnicah o naključnih norcih.
- Ko to delo opravite, lahko datoteke naložite v podatkovno mapo (vključeno tudi v datoteko zip).
Sodelujte
Naložite končno kodo Arduino in končali ste!
Opomba - Ime Star Trek in slike Star Trek so last CBS/Paramount. Kar zadeva cosplay in fan fiction, imajo dokaj ohlapno politiko - preberite tukaj, če imate vprašanja.
Prva nagrada na natečaju Fandom
Priporočena:
Kako pretvoriti star/poškodovan računalnik ali prenosni računalnik v medijsko škatlo: 9 korakov
Kako pretvoriti star/poškodovan računalnik ali prenosni računalnik v medijsko škatlo: V svetu, kjer tehnologija napreduje najhitreje kot mi, naša ljubljena elektronika prehitro zastara. Morda so vaše vedno ljubeče mačke na prenosni računalnik padle na mizo in zaslon se je zlomil. Ali pa morda želite medijsko škatlo za pametni televizor
Naj slepi prepoznajo stvari tako, da se z MakeyMakeyjem dotaknejo stvari okoli njih: 3 koraki
Omogočite slepim, da stvari prepoznajo tako, da se jih dotaknete z uporabo MakeyMakey: uvod Ta projekt želi olajšati življenje slepim z identifikacijo stvari okoli njih s pomočjo dotika. S sinom Mustafo sva razmišljala, da bi poiskala orodje, ki bi jima pomagalo, in v obdobju, ko uporabljamo strojno opremo MakeyMakey,
Noro impresivni znanstveni/inženirski projekti: 10 korakov
Nori impresivni znanstveni/inženirski projekti: Želite imeti najboljši znanstveno -inženirski projekt doslej? Beri naprej
Programirajte računalnik, da se samodejno izklopi, tako da mu določite, kdaj želite to narediti: 4 koraki
Programirajte računalnik, da se samodejno izklopi, tako da določite, kdaj želite, da to stori: hej, to je še en pouk iz mojega vsakdana … nazadnje sem moral na svoj računalnik prenesti veliko programske opreme in moral sem ga pustiti naložiti čez noč nisem želel, da bi bil računalnik vso noč vklopljen po končanem prenosu in ob
Kako naj vaš računalnik deluje HITRO in UČINKOVITO: 7 korakov
Kako naj vaš računalnik deluje HITRO in UČINKOVITO: Ta navodila vam bodo vodila korak za korakom, kako očistiti računalnik in ga ohraniti, da bo deloval hitro, ne da bi plačali enega od teh smešnih programov