Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Mag-download, Magbago ng Mga File, at Mag-print ng Mga 3D na File
- Hakbang 2: Mga Bahagi ng Solder / Assemble - Bahagi ng (Keypad at Numero ng Gilid)
- Hakbang 3: Mga Bahagi ng Solder / Assemble - Bahagi B (Mga Featherwing at Sensor)
- Hakbang 4: Mga Bahagi ng Solder / Assemble - Bahagi C (Keypad sa Capacitive Sensor at Pagpapakita sa Kaso)
- Hakbang 5: OPSYONAL - Mga Komponente ng Solder / Assemble - Bahagi D (INA219 Feather)
- Hakbang 6: Screw sa Back Cover at I-plug sa USB
- Hakbang 7: Maghanda ng Kapaligirang AWS
- Hakbang 8: Mag-download ng Mga Susi ng Software at I-set Up ang Mga Serbisyo sa 3 Party
- Hakbang 9: Baguhin at Mag-upload ng AWS Code
- Hakbang 10: Ihanda ang Arduino IDE at I-download ang Mga Aklatan
- Hakbang 11: I-update at I-install ang Arduino Code at Makisali
Video: Gawin Ito Kaya! Star Trek TNG Mini Engineering Computer: 11 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Pangkalahatang-ideya
Lumaki akong nanonood ng Star Trek: The Next Generation. Palagi kong nais na bumuo ng isang aparato na may temang Star Trek, kaya't sa wakas ay nakalibot ako upang muling baguhin ang isa sa aking mga dating proyekto upang makagawa ng isang Star Trek Display Terminal.
Nagbibigay ang terminal ng sumusunod na impormasyon:
- Panahon - gamit ang National Weather Service
- Panloob na Temperatura, Humidity at pabagu-bago ng lakas ng Organic Compound (VOC)
- Mga Artikulo sa Balita - mula sa News.org
- Iskedyul (na may pag-andar ng alarma) - mula sa Microsoft Outlook
- Impormasyon sa Fitness (Mga Hakbang, Mga Minuto ng Paglipat, Mga Punto ng Puso, Timbang, Mga Calory na Nasunog) - mula sa Google Fitness
- isang tsart ng kulay ng code ng Resistor
- isang LED Resistor Calculator (upang matukoy ang halaga ng risistor batay sa kasalukuyang at pinagkukunang lakas)
- Kasangkapan at Kasalukuyang tool sa Pagsukat
Ang impormasyong ito ay ginawang magagamit sa pamamagitan ng isang kumbinasyon ng mga API at sensor ng hardware. Ginagamit ko ang isang ESP32 para sa microcontroller, at pinapakinabangan ang AWS Cloud para sa lahat ng koleksyon ng data at pagsasama-sama.
Nagsama din ako ng ilang "mga itlog ng easter":
-
Paggalang ni Ron McNair - Si Dr McNair ang dahilan kung bakit ako naging isang inhenyero; lumaki siya ng 45 minuto mula sa aking bayan. Namatay siya sa pagsabog ng Challenger.
- Ang pangalan ng aking star ship ay ang "USS Ronald E McNair"
- Ang Numero ng Registry ay mula sa petsa ng kapanganakan ni Sr McNair; ang Precode Code ay ang araw na nawala siya sa kanyang buhay.
- Ang paggamit ng isang "prefix code" ay isang pagtango sa Star Trek: Wrath of Khan (ang pinakadakilang pelikula ng Star Trek sa lahat ng oras; huwag @ ako).
- Ang mga numero ng kanan ng terminal case ay tumutukoy sa aking fraternity (1906 - Alpha Phi Alpha) at aking alma mater at larangan ng pag-aaral - (University of Oklahoma, College of Engineering)
Mayroon kang pagpipilian ng pagpapasadya ng pagnunumero, pagsulat, at pangalan ng barko, pagpapatala, atbp para sa iyong sariling "mga itlog ng easter".
Background
Noong nakaraang taon, kailangan ko ng isang mababang paraan ng gastos upang masukat ang lakas at alisan ng baterya para sa isang naisusuot na proyekto. Bumili ako ng isang Adafruit INA219 Featherwing, at gumamit ng iba't ibang mga ekstrang bahagi upang makabuo ng isang simpleng aparato ng Pagsukat sa Lakas (maaari mong basahin ang higit pa tungkol dito).
Ngayong taon, napagpasyahan kong i-upgrade ang aparato … upang gawin itong mas "masalimuot". Orihinal kong binalak na bumuo ng isang gumaganang tricorder ng Star Trek (ang bersyon ng Mark IV TR-590 Mark IX, para sa mga nangangalaga na iyon) … ngunit mabilis kong napagtanto na mas may katuturan na lumikha ng isang bagay na makaupo sa aking mesa (Ibig kong sabihin, bakit pumunta sa lahat ng problemang ito upang makagawa ng isang cool na aparato, upang maisara lamang ito at ilagay sa isang drawer kapag hindi ginamit).
Kaya, ako ay bumaling ako sa paggawa ng isang bersyon ng mga display sa computer na nakikita mo sa Star Trek TNG o Voyager (o sa iba't ibang mga pelikula). Naglaro ako ng iba't ibang mga disenyo, pagkatapos ay nakatagpo ng isang bersyon na nilikha ng Ruiz Brothers ng Adafruit. Ang Adafruit ay gumagawa ng isang mahusay na trabaho ng mga ibinigay na mga file ng mapagkukunan para sa kanilang mga naka-print na proyekto sa 3D, kaya't nakuha ko ang kanilang orihinal na bersyon at muling hinusay ito para sa aking hardware, mga pindutan, at iba pang mga peripheral.
Mga bagay na dapat malaman bago ang iyong pagpapatuloy
- Nagbibigay ako ng mga sunud-sunod na tagubilin para sa paggawa ng aking bersyon ng proyekto; gayunpaman, hindi ako dumidetalye sa ilang mga hakbang (magli-link ako sa mga sumusuportang tagubilin o dokumentasyon)
-
Ito ay isang kumplikadong proyekto. Ito ay isang "multi-disiplina make", na nangangailangan ng mga sumusunod na kasanayan
- Arduino IDE
- AWS - Kakailanganin mo ang isang account at kakailanganin mong maunawaan ang S3, Lambda, at Node JS
- Paghihinang
- Pagpi-print ng 3D
- Mayroong mga opsyonal na "add ins" upang mapagbuti ang proyekto upang makakuha ng impormasyon sa Kalendaryo at Fitness. Ang pag-andar ay kasama sa codebase; subalit magkakaroon ka upang lumikha ng "apps" sa Azure at Google cloud upang suportahan ang mga tampok.
- Ito ay sa kalaunan napapasadyang … maaari mong palitan ang Kasalukuyang Sensor sa isa pang featherwing Maaari kang gumamit ng ibang pagsasama-sama ng balahibo / wifi.
Mga gamit
Mga Elektronikong Bahagi
- Adafruit ESP32 Huzzah Feather
- Adafruit Featherwing Tripler Mini Kit
- Adafruit 12-Key Capacitive Touch Sensor Breakout
- Adafruit TFT FeatherWing - 3.5 "480x320 Touchscreen
- Adafruit BME680 - Temperatura, Humidity, Pressure at Gas Sensor
- DC Panel Mount 2.1 Barrel Jack (2)
- Lithium Ion Polymer Battery - 3.7 V 500mAh
- Piezo Buzzer
- Mirco USB cable at 5V charger (gagana ang isang karaniwang USB phone charger)
- Copper Foil Tape na may malagkit
- Opsyonal - Adafruit INA219 Featherwing
- Opsyonal - 2.1 Mga plugs ng Lalaki - (para magamit sa INA219 Kasalukuyang Sensor)
Link sa lahat ng mga elektronikong sangkap maliban sa 2.1 plugs:
Mga Bahagi ng 3D na Filament At Mga Opsyonal na Mga Bahagi ng Pintura / Sanding
- Proto Pasta Conductive PLA
- Karagdagang mga 3D filament - Gumamit ako ng 4 na kulay - Gray, Black, Aqua (light blue) at White
- .25 at 0.4 mm nozzles (Ginamit ko ang 0.25 para sa mga detalye sa pagsulat).
Mga Bahagi ng Hardware Assembly at Mga Tool
- M2x5 at M3x5 Screws
- Straight and Right Angle Header Pins (Tingnan ang wishlist ng Adafruit para sa mga link)
- Panghinang na Bakal (at spool ng panghinang, tip tinner, panghinang na panghinang, atbp.)
- Philips Head Screwdriver Kit
- Paliitin ang Balot
- Maiiwan tayo Wire 22AWG - lima o anim na kulay
- Solid Wire 22AWG - lima o anim na kulay
- Mga kamay ng PCB Vise at Pagtulong (opsyonal, ngunit ginagawang mas madali ang paghihinang)
- Mga Diagonal Wire Cutter
- Mga Striper ng Wire
- Xacto Knife (para sa pag-aalis ng mga suporta mula sa mga bahagi ng 3D printer)
- 3D Printer (kung balak mong i-print ang iyong sarili)
- Putty o tape (upang mailagay ang baterya sa loob ng naka-print na kaso)
- Mga digital caliper
- Krazy Glue
- Opsyonal - Nitrile Disposable Gloves
- Opsyonal - Paghihinang Mat (opsyonal, ngunit pinoprotektahan ang mga ibabaw)
Tandaan: kung wala kang mga tool na ito, iminumungkahi kong suriin mo ang site ni Becky Stern para sa mga rekomendasyon para sa magagandang pagpipilian.
Software
Hakbang 1: Mag-download, Magbago ng Mga File, at Mag-print ng Mga 3D na File
Maaari mong isumite ang mga file sa isang serbisyo sa pag-print ng 3D (tulad ng 3D Hubs) o maaari mong mai-print ang iyong sarili. Magagamit ang mga file sa PrusaPrinters.org.
Ang kasong ito ay isang remix ng Py Portal Alarm Clock na itinampok sa Adafruit website. Gumagamit ang aking proyekto ng isang katulad na TFT kaya, na-minimize ko ang dami ng gawaing disenyo na kinakailangan upang maisagawa ang kaso sa aking mga accessories.
Ginamit ko ang mga sumusunod na setting para sa pag-print:
- Harap at Likod- nakalimbag sa 0.2mm Layer Height na may 0.4mm na nguso ng gripo, walang mga suporta
- Numero ng Gilid - naka-print sa 0.10mm Layer Height na may 0.25mm nozzle, walang mga suporta
- Mga Susi - nakalimbag sa 0.2mm Layer Height na may 0.4mm na nguso ng gripo. Kakailanganin mong mag-print ng 7 at kakailanganin mong mag-print gamit ang Proto-Pasta Conductive Filament.
-
Kaso - nakalimbag sa 0.2mm Layer Height.
Kailangan ng mga suporta, ngunit hindi kinakailangan saanman (sa mga gilid at gitna lamang kung saan nakaupo ang keypad
Ilang bagay na dapat mong malaman:
- Pinapayagan ka ng Prusa MK3 na baguhin ang mga kulay sa iba't ibang taas ng layer. Ginamit ko ang tampok na ito para sa bahagi ng numero.
-
Gayundin, patungkol sa bahagi ng numero sa gilid:
- Ang Star Trek TNG production crew ay magwiwisik ng mga itlog ng pasko sa mga prop. Kung titingnan mo nang mabuti ang iba't ibang mga plake at panel, makikita mo ang mga pangalan ng tao, lyrics ng kanta, atbp. Nais kong lumikha ng aking sariling "itlog ng easter" para sa numero ng gilid, kaya gumagamit ako ng "06" - na tumutukoy sa aking fraternity (nabuo noong 1906), at "OUCOE" - na tumutukoy sa aking alma mater (University of Oklahoma, College of Engineering).
- Lumikha ako ng isang "blangko" na bahagi ng gilid na numero na maaari mong baguhin upang makagawa ng iyong sariling pasadyang numero at teksto.
Hakbang 2: Mga Bahagi ng Solder / Assemble - Bahagi ng (Keypad at Numero ng Gilid)
Una, ilalagay namin ang numero sa gilid. Gumamit ng isang maliit na dab ng pandikit upang ilagay ang numero ng gilid sa lugar.
Susunod, tipunin namin ang keypad
-
Kakailanganin mong gupitin ang 7 piraso ng maiiwan tayo na kawad - bawat isa ay nasa pagitan ng 10-12 pulgada ang haba. Ang mga ito ay konektado sa Pins 0-6 ng capacitive touch sensor. Iminumungkahi kong gumamit ka ng iba't ibang mga kulay (at isulat ang mga kulay / pin na pagmamapa, dahil kakailanganin mo ang impormasyong ito sa paglaon). Ginamit ko ang sumusunod na kumbinasyon ng kulay:
- Dilaw - Pin 0 / Button 1
- Gray - Pin 1 / Button 2
- Pula - Pin 2 / Button 3
- Blue - Pin 3 // Button 4
- Green - Pin 4 // Button 5
- Puti - Pin 5 // Button 6
- Itim - Pin 6 // Button 7
- Ihubad ang 1/2 mula sa dulo ng bawat kawad.
- Gupitin ang 7 piraso ng conductive tape (bawat isa ay tungkol sa 1/2 pulgada ang lapad) at ihihinang ang mga wire sa tanso na bahagi ng tape.
- Alisin ang malagkit na pag-back at idikit ang mga ito sa ilalim ng mga key. Maaaring kailanganin mong i-trim ang ilan sa tanso tape.
Tandaan: ang mga Susi ay maaaring nakadikit mula sa ilalim (upang sila ay mapula sa tuktok) o nakadikit mula sa itaas (upang "lumutang" sila ng ilang mm mula sa itaas). Pinili kong idikit ang minahan mula sa itaas.
Kapag nakumpleto mo na ang lahat ng 7, gumamit ng isang maliit na dab ng pandikit na nakakabit ng mga susi sa keypad. Mas madali ko itong:
- Una "ahas" ang kawad sa pamamagitan ng key hole.
- Pagkatapos ay maglagay ng isang maliit na dab ng pandikit sa ridge / rim ng susi
- Mabilis na ilagay ang susi sa lugar.
Tandaan: Ang Krazy Glue ay pinakamahusay na gumagana dito; baka gusto mong gumamit ng guwantes upang malimitahan ang mga aksidente at posibilidad ng pangangati ng balat.
Hakbang 3: Mga Bahagi ng Solder / Assemble - Bahagi B (Mga Featherwing at Sensor)
Ang susunod na hakbang ay upang ihanda at tipunin ang mga bahagi ng hardware. Sa huli, nangangahulugan ito ng paghihinang ng mga pin ng header at wires para magamit sa paglaon. Ipinapalagay ng gabay na ito na komportable ka sa paghihinang; kung hindi, tingnan ang "Patnubay sa Mahusay na Paghinang" mula sa Adafruit.
Maghahanda muna kami ng mga materyales. Para sa hakbang na ito, kakailanganin mo ang:
- TFT 3.5 Featherwing
- Balahibo ng ESP32
- INA219 Featherwing
- Tripler Featherwing
- MPR121 Capacitive Touch Sensor
- BME680 Sensor
- Straight at Right Angle Header pin
- Solid at Maiiwan ang Wire
- Mga Tool sa Paghihinang at mga kamay na tumutulong
- Mga pamutol ng Diagonal Wire at wire striper
- Mga caliper
Tandaan: Iminumungkahi ko sa iyo na basahin mo muna ang hakbang na ito at gupitin ang lahat ng iyong mga wire at header bago ka magsimulang maghinang. Sa ganoong paraan, hindi ka titigilan upang sukatin / gupitin.
Ihanda ang TFT 3.5 Featherwing
Ang TFT ay handa nang gamitin sa labas ng kahon na may isang pag-aayos lamang. Kakailanganin mong maghinang ng isang kawad sa pagitan ng "Lite" pad at isang pin solder pad. Gumagamit ang aming code ng ESP32 Pin 21 upang makontrol ang TFT lite. Ayusin ang TFT sa "mahabang" paraan, kasama ang pindutan ng pag-reset sa ibaba. Ang Pin 21 ay ang ibabang kaliwang pin.
Gupitin ang isang 40mm piraso ng maiiwan tayo na kawad. Ihubad ang mga dulo upang ang ilang mga millimeter ng kawad ay nagpapakita sa bawat dulo. Gamit ang iyong soldering iron, maingat na maghinang sa parehong mga pin.
Tandaan: kailangan mo lamang ng tungkol sa 35mm ng haba … upang maaari mong i-trim ang iyong kawad kung kinakailangan. Gayundin, nalaman ko na ang pagdaragdag ng panghinang sa pad, pagkatapos sa kawad, pagkatapos ay ang paghihinang ng kawad sa pad ay ang pinakamadaling diskarte. Panghuli - ang mga pad na ito ay maliit … kung hindi ka komportable, maaari mong palaging laktawan ang hakbang na ito: para lamang sa pag-off ng TFT gamit ang keypad.
Ihanda ang Balahibo ng ESP32
Kakailanganin mong maghinang ng karaniwang mga pin na header na lalaki sa ESP32. Ang iyong ESP32 ay dapat na may mga header, kahit na maaaring kailanganin mong i-trim ang mga ito upang makarating sa tamang haba (16 na pin sa mahabang bahagi; 12 mga pin sa maikling gilid). Ang mga pin ng header ay ginawa upang "mag-snap away", upang magamit mo ang iyong mga dayagonal cutter upang i-clip ang mga header sa tamang haba. Muli, ang Adafruit ay may mahusay na mga tagubilin sa kung paano ito gawin, kaya suriin ito kung kailangan mo ng patnubay.
OPSYONAL - Ihanda ang Featherwing ng INA219
Una, maghinang na mga header ng lalaki sa featherwing (gamit ang parehong mga tagubilin tulad ng ginamit para sa ESP32). Susunod na gupitin ang apat na 20mm haba ng maiiwan tayo na kawad. Gagawin kong 2 BLACK at ang iba ay ibang kulay. Gumamit ako ng GRAY at BLUE para sa aking mga pagpipilian sa kulay.
Ihubad ang mga dulo ng kawad upang ang 3-4mm ng tanso na kawad ay tumambad sa bawat dulo. Maghihinang ka ng bawat isa sa bawat kawad tulad ng sa ibaba:
- GRAY -> V + (plus)
- BLUE -> V- (minus)
- BLACK -> GND (ground)
- BLACK -> GND (ground)
Iwanan ang iba pang mga dulo ng mga wire sa oras na ito; huli naming solder ang mga ito sa DC 2.1 plugs.
Ikabit ang Piezo Buzzer
Ang INA Featherwing ay may kasamang isang maliit na prototyping area; gagamitin namin iyon upang ikabit ang aming piezo. Bibigyan ng piezo ang aming proyekto ng kakayahang beep at tunog ng mga alerto, alarma, atbp.
Ang piezo ay kumokonekta sa ESP32 PIN 13; nauugnay ito sa pin sa tabi ng USB pin sa featherwing (tingnan ang imahe para sa mga arrow). Ang iba pang mga piezo pin ay kumokonekta sa lupa. Ang mga pieze pin ay sapat na mahaba upang maghinang ang mga ito nang direkta sa featherwing … kakailanganin mo lamang na yumuko ang mga pin sa isang hugis na "bow-legged man" (tingnan ang imahe). Kapag mayroon ka nang mga pin sa lugar, gumamit ng isang tumutulong kamay (o tape) upang hawakan ang piezo sa lugar, at maghinang mula sa ilalim ng featherwing.
Tandaan - Kung hindi mo gagamitin ang INA219, pagkatapos ay kakailanganin mong solder ang piezo nang direkta sa featherwing board.
Ihanda ang Tripler Featherwing
Ang featherwing ay nakakatipid sa atin ng maraming paghihinang; maaari itong hawakan ng 3 feathers / featherwings … kaya gagamitin namin ito upang gumawa ng mga koneksyon sa kuryente sa pagitan ng TFT, ESP32, INA219 (pati na rin ang piezo at ang TFT Lite pin).
Upang maayos na makakonekta, kakailanganin naming maghinang ng dalawang pares ng mga stacking header at isang pares ng karaniwang mga header ng lalaki.
- Ang mga regular na header ng lalaki ay magpapatuloy sa "tuktok" na lugar, ngunit hihihinang sa ibabang bahagi ng Tripler.
- Ang dalawang stacking header ay solder sa mga spot 2 at 3, sa tuktok na bahagi ng Tripler.
Ito ay isang maliit na nakalilito, kaya siguraduhing tingnan ang mga imahe upang maunawaan kung saan nakalagay ang bawat header. Gayundin, ang isang kumbinasyon ng isang PCB Vise at Helping Hands ay maaaring makatulong sa paghihinang ng mga sangkap.
Ihanda ang BME 680 Sensor at ang MPR121 Capacitive Touch Sensor
Ang huling dalawang sensor ay ang pinaka mahirap na ikabit. Kailangan naming ikabit ang mga header pin sa mga breakout board bago matapos ang pagpupulong.
Ang BME Sensor ay nakakabit sa isang 90 anggulo, upang maaari kong ihanay ang sensor sa isang butas sa kaso (upang ang sensor ay maaaring makuha ang temperatura, gas, halumigmig). Kakailanganin mong maghinang ng tamang mga anggulo ng mga pin sa mga butas. Tingnan ang mga imahe upang matiyak na nakahanay mo ang mga ito nang tama.
Ang sensor ng Capacitive Touch ay prangka - solder lang ng mga straight male konektor na pin, tulad ng nakabalangkas dito. Tandaan: HINDI KA DAPAT solder pin sa Capacitive Touch Pins (0-11).
Ikabit ang BME 680 at MPR121 Sensors sa Tripler Board
Ang parehong Sensors ay nakikipag-usap sa pamamagitan ng I2C… na nangangahulugang kailangan lamang naming gumawa ng 4 na koneksyon sa pagitan ng mga breakout board at ng Featherwing. Para sa pagiging simple, hinihinang ko ang lahat ng mga koneksyon sa pagitan ng mga board.
BME 680
Para sa sensor na ito, gumagamit ako ng Mga Pantulong na Kamay at isang PCB Vise upang i-hold ang parehong mga bahagi sa lugar (tingnan ang imahe sa itaas). Ang BME680 Sensor ay dapat ilagay sa dulo ng featherwing. Tingnan ang mga imahe sa itaas upang kumpirmahin ang pagkakalagay.
Nakakapagod ang proseso ng paghihinang ng mga koneksyon, kaya dahan-dahan. Gumagamit ako ng solidong core wire para sa mga koneksyon:
- BLACK - GND
- PULA - VIN
- YELLOW - SCL (SCK pin sa sensor sa
- ORANGE - SDA (SDA pin sa sensor)
Tandaan: Ang mga pin ng SCL at SDA ay kinakailangan para sa parehong sensor, kaya maaaring mas madaling gamitin ang isang SCL o SDA pin sa ibang bahagi ng Featherwing.
MPR121
Ang pagtulong sa mga kamay ay makakatulong din sa paghihinang sa sensor na ito sa lugar (gumagana rin ang tape). Ginamit ng code ang I2C para sa komunikasyon sa ESP32, kaya ikukonekta mo ang mga pin ng SCA at SDA.
Hakbang 4: Mga Bahagi ng Solder / Assemble - Bahagi C (Keypad sa Capacitive Sensor at Pagpapakita sa Kaso)
Hihinang mo ang mga wires mula sa Keypad hanggang sa sensor ng Capacitive Touch sa hakbang na ito. Gumamit ng parehong pagmamapa ng kulay mula nang mas maaga. Kung sinundan mo ang aking scheme ng kulay, pagkatapos ay hihihinang mo ang mga may kulay na mga wire tulad ng sumusunod:
- Dilaw - Pin 0 / Button 1
- Gray - Pin 1 / Button 2
- Pula - Pin 2 / Button 3
- Blue - Pin 3 / Button 4
- Green - Pin 4 / Button 5
- Puti - Pin 5 / Button 6
- Itim - Pin 6 / Button 7
Kapag tapos na ang paghihinang, gumamit ng isang paikot-ikot na i-hold ang mga wire sa lugar.
Susunod, i-tornilyo ang TFT screen sa piraso na "Front". Gagamitin mo ang mga M3 screws (apat na kabuuan). Kapag ang TFT ay nasa lugar na, i-tornilyo ang piraso na "Front" sa kaso. Muli, gagamit ka ng M3 screws (dalawa).
Susunod, i-plug ang Featherwing Tripler, kasama ang lahat ng mga bahagi na naka-plug in, sa TFT.
Tandaan - Kung plano mong gumamit ng isang baterya, tiyaking i-plug ito sa port ng ESP32-JST bago ipasok ang TFT. Gumamit ng tape upang mailagay ang baterya sa loob ng ilalim ng kaso.
Hakbang 5: OPSYONAL - Mga Komponente ng Solder / Assemble - Bahagi D (INA219 Feather)
Kung gumagamit ka ng sensor ng INA219, kung gayon dito mo ikakabit ang mga wire sa mga plugs ng DC.
- Ipasok ang mga DC plug sa likod na takip, at i-tornilyo sa lugar.
-
Gumamit ng isang soldering iron upang ikonekta ang mga wire ng INA219.
- Ang mga Black wires ay dapat pumunta sa GROUND para sa bawat DC plug.
- Ang Gray wire ay dapat pumunta sa plug ng INPUT DC
- Ang Blue wire ay dapat pumunta sa plug ng OUTPUT.
Hakbang 6: Screw sa Back Cover at I-plug sa USB
Ang pangwakas na hakbang sa pagpupulong ng hardware ay upang i-tornilyo ang takip sa likod sa lugar - gamit ang M2 screws (4). Mula doon, isaksak ang USB cable, ikonekta ito sa iyong PC, at magpatuloy sa mga hakbang sa software!
Hakbang 7: Maghanda ng Kapaligirang AWS
Tulad ng sinabi ko sa panimula, ang saligan ng solusyon ay ang mga sumusunod:
- Ang Terminal, na pinalakas ng isang ESP32, ay gumagamit ng isang koneksyon sa MQTT (sa paglipas ng Wifi) sa komunikasyon sa ulap ng AWS.
- Ginagawa ng cloud ng AWS ang karamihan ng pagproseso at nagsisilbing isang relay sa pagitan ng Monitor at mga hiniling na serbisyo.
Mayroong ilang mga bagay na kailangan nating gawin sa hakbang na ito:
Una, kailangan mong i-set up ang iyong kapaligiran sa AWS, kung hindi mo pa nagagawa. Ipinapalagay ng itinuturo na mayroon kang isang AWS Account na na-set-up, kaya't ang mga tagubilin sa pag-set up ng isang cloud account ay hindi kasama. Sinabi na, ang mga hakbang ay diretso at maaaring matagpuan dito.
Kapag nalampasan mo na ang hakbang na iyon, kailangan mong lumikha ng ilang mga serbisyo, kaya mag-log in sa AWS console.
Lumikha ng isang Bagay at Mga Susi sa Pag-download
Pinapabilis ng AWS IoT Core ang komunikasyon sa pagitan ng ulap ng AWS at ng display. Kakailanganin mong lumikha ng isang "bagay" at mag-download ng mga sertipiko upang suportahan ang komunikasyon.
[Tandaan: ang karamihan sa mga tagubiling ito ay kinuha mula sa isang patnubay na isinulat ni Moheeb Zara, AWS Evangelist]
- Buksan ang AWS console at piliin ang AWS IoT Core.
- Sa AWS IoT console, piliin ang Magrehistro ng isang bagong bagay, Lumikha ng isang solong bagay.
- Pangalanan ang bagong bagay na "starTrekESP32". Iwanan ang natitirang mga patlang na itinakda sa kanilang mga default. Piliin ang Susunod.
- Piliin ang Lumikha ng sertipiko. Tanging ang bagay na cert, pribadong key, at mga pag-download sa Amazon Root CA 1 ang kinakailangan para kumonekta ang ESP32. I-download at i-save ang mga ito sa isang lugar na ligtas, dahil ginagamit ang mga ito kapag pinaprograma ang aparato ng ESP32.
- Piliin ang Isaaktibo, Maglakip ng isang patakaran.
- Laktawan ang pagdaragdag ng isang patakaran, at piliin ang Magrehistro Bagay.
- Sa menu ng panig ng AWS IoT console, piliin ang Ligtas, Mga Patakaran, Lumikha ng isang patakaran.
- Pangalanan ang patakaran na AllowEverything. Piliin ang tab na Advanced.
- I-paste sa sumusunod na template ng patakaran.
- {{"Bersyon": "2012-10-17", "Pahayag": [{"Epekto": "Payagan", "Aksyon": "iot: *", "Resource": "*"}]}
- Piliin ang Lumikha. (Tandaan: Inirerekumenda lamang ito upang magsimula. Pagkatapos mong komportable sa lahat ng gumagana, mangyaring bumalik at baguhin ito sa isang bagay na mas mahigpit.)
- Sa AWS IoT console, piliin ang Secure, Certification.
- Piliin ang nilikha para sa iyong aparato at piliin ang Mga Pagkilos, Mag-attach ng patakaran.
- Piliin ang Payagan ang Lahat, Maglakip.
- Bago ka umalis, mag-click sa "Mga Setting" (sa kaliwang menu). Ipapakita ang iyong "Pasadyang endpoint"; i-save iyon sa isang text file … kakailanganin mo ito kapag na-configure mo ang ESP32.
Lumikha ng isang Blangko na file ng Lambda
Ang Lambda ay isang form ng serverless compute, kaya't hindi kami kailangang magalala tungkol sa anumang hardware dito. Sa huli, dito namin ilalagay ang aming na-update na code (na gagawin namin ito ng ilang mga hakbang). Sa ngayon, nais lamang naming lumikha ng isang placeholder, kaya…
- Mag-log muli sa AWS console (kung naka-log out ka) at mag-click sa Lambda.
- Mag-click sa pindutang "Lumikha ng Pag-andar".
- Sa susunod na pahina, maglagay ng pangunahing pangalan, tulad ng starTrekDisplay
- Piliin ang Node.js 12. X
-
Sa ilalim ng mga pahintulot:
- Kung alam mo ang iyong paraan sa paligid ng Lambda, at pamilyar dito, maaari kang pumili ng anumang pagpipilian na may katuturan. Kakailanganin mo ang mga pahintulot sa CloudWatch, IotCore, S3 (basahin at isulat).
- Kung hindi ka sigurado sa mga pahintulot, pagkatapos ay piliin ang "Lumikha ng isang bagong papel na may pangunahing mga pahintulot sa Lambda". Isulat ang pangalan ng tungkulin. Mamaya, babaguhin namin ang mga pahintulot.
- I-click ang Lumikha ng Pag-andar.
- Pagkatapos ng isang minuto, maglalagay ka ng isang bagong screen na may isang "hello world" na code snippet. Mag-scroll pababa sa ibaba sa Mga Pangunahing setting at i-click ang "I-edit"
- Baguhin ang timeout mula 3 segundo hanggang 2 minuto at 0 segundo. Tandaan: ang iyong code ay hindi dapat tumakbo nang mas mahaba sa 5-10 segundo … subalit, kailangan namin ng mas mahabang oras para sa iyong paunang pagpapatotoo sa Microsoft (para sa pagpapaandar sa kalendaryo). Kapag napatunayan mo na, maaari mo itong palitan sa 20 segundo.
- Pindutin ang i-save.
Lumikha ng Iot Rule
- Manatili sa Lambda console at mag-scroll pataas. Piliin ang "Magdagdag ng Trigger".
- Piliin ang AWS IoT. Pagkatapos ay piliin ang "Pasadyang Panuntunan".
-
Piliin ang "Lumikha ng isang Bagong Panuntunan".
- Pangalan ng Panuntunan: Koneksyon ng ESP
- Pahayag ng query sa panuntunan: "PUMILI * MULA sa 'starTrekDisplay / pub'
- I-click ang "Idagdag"
Lumikha ng isang S3 Bucket at Folder
- Mag-navigate sa AWS Console at piliin ang S3.
- Kakailanganin mo ng isang timba at folder upang mag-imbak ng mga file ng pagpapatotoo. Ang folder na ito ay dapat na pribado. Iminumungkahi kong gumamit ka ng anumang bucket na mayroon ka at pangalanan ang lumikha ng isang folder na tinatawag na "starTrekDisplay". Tandaan - kung wala kang isang timba, lumikha ng isa gamit ang mga tagubilin dito.
Mga Pahintulot sa Pag-update - Kung pinayagan mong lumikha ng isang papel para sa iyo, kailangan mong sundin ang hakbang na ito
- Mag-log in sa AWS console at piliin ang IAM
- Mag-click sa ROLES, pagkatapos ay piliin ang pangalan ng tungkulin na nilikha mo nang mas maaga.
-
Mag-click sa mga patakarang i-attach, pagkatapos ay piliin ang mga sumusunod na patakaran:
- AWSIoTFullAccess
- AmazonSNSFullAccess
- CloudWatchFullAccess
- AmazonS3FullAccess
Hakbang 8: Mag-download ng Mga Susi ng Software at I-set Up ang Mga Serbisyo sa 3 Party
Ginagamit ko ang sumusunod na mga serbisyo ng third party sa proyekto:
- Worldtime API - para sa oras
- National Weather Service API - para sa panahon
- Microsoft Graph API para sa pag-access sa aking kalendaryo
- Google Fitness API para sa pag-access sa impormasyon sa fitness
Kakailanganin mong i-set up ang mga account at i-download ang mga key upang magamit ang parehong mga serbisyo
Worldtime API - para sa oras
Ang API na ito ay hindi nangangailangan ng isang susi, kaya't walang kinakailangang aksyon upang magawa ito.
National Weather Service API - para sa panahon
Ang National Weather Service API ay libre, at walang kinakailangang API key. Gayunpaman, hinihiling nila na ipasa mo kasama ang impormasyon sa pakikipag-ugnay (sa anyo ng isang email) sa bawat kahilingan (bilang bahagi ng header file). Magdaragdag ka ng impormasyon sa pakikipag-ugnay sa code sa susunod na hakbang.
OPSYONAL - Microsoft Graph API at Google Fitness API
Ito ang pinaka-kumplikadong bahagi ng pag-set up ng code. Ang aming aparato ay walang ganap na keyboard … samakatuwid gumagamit kami ng isang bagay na tinatawag na OAUTH para sa Mga Limitadong Device upang ma-access ang aming kalendaryo. Sa kasamaang palad, kailangan mong lumikha ng isang "app" na Azure at isang Google App upang maaari kang gumamit ng code na OAUTH para sa mga limitadong aparato.
Ang mga tagubilin para sa paglikha ng isang app ay narito para sa Microsoft fand dito para sa Google. Narito ang ilang mga bagay na dapat mong malaman:
- Kakailanganin mong lumikha ng isang Azure at Google cloud account. Ito ay libre, at wala kang masisingil kahit ano
-
Microsoft:
- Hihilingin sa iyo na tukuyin kung anong mga gumagamit ang maaaring gumamit ng app. Iminumungkahi ko na piliin mo ang "Mga account sa anumang direktoryo ng organisasyon at personal na mga account sa Microsoft". Papayagan ka nitong gumamit ng mga personal na Microsoft account at corporate account (sa karamihan ng mga kaso).
- Gusto mong piliin ang mga application na "Mobile at Desktop", subalit hindi mo kailangang punan ang lahat ng impormasyon (dahil ito ay isang personal na app). Nangangahulugan ito na hindi mo maaaring gawing magagamit ang iyong app sa mundo…. ngunit ok lang ito sa kasong ito
- Kapag na-set up na ang iyong app, kakailanganin mong pumili ng mga pahintulot na kinakailangan. Humingi ako ng mga pahintulot na nauugnay sa mga profile at kalendaryo (tingnan ang imahe sa gallery para sa buong listahan ng mga pahintulot). Kakailanganin mong piliin ang parehong hanay na ito. Kung magdagdag ka ng higit pang mga pahintulot, kailangan mong baguhin nang naaangkop ang saklaw sa susunod na hakbang.
Hakbang 9: Baguhin at Mag-upload ng AWS Code
Ipinapalagay ng itinuturo na pamilyar ka sa pag-unlad ng Node.js at Lambda. I-download ang naka-link na file, at gumawa ng mga pagbabago upang ma-update:
- Ang impormasyon ng Microsoft App at Client
- Google Key
- Email address para sa pagsubaybay sa Pambansang Serbisyo sa Panahon
- Pangalan ng S3 bucket
- Pangalan ng folder ng S3
- Endpoint ng AWS
Kakailanganin mo ring i-download ang mga sumusunod na node library:
- aws-sdk
- sandaling timezone
- mga accent
Kapag nagawa ang mga pagbabagong iyon, i-upload ang code sa placeholder lambda na nilikha mo nang mas maaga.
Hakbang 10: Ihanda ang Arduino IDE at I-download ang Mga Aklatan
Ipinapalagay din ng gabay na ito na pamilyar ka sa Arduino. Kakailanganin mong tiyakin na ang iyong IDE ay naka-set up upang gumana sa isang Adafruit ESP32. Sundin ang mga tagubilin dito kung kailangan mo ng tulong.
Kapag nakumpleto na ito, i-download ang mga sumusunod na aklatan:
- Adafruit_GFX (mula sa manager ng library)
- Adafruit_HX8357 (mula sa manager ng library)
- TFT_eSPI (mula sa manager ng library)
- TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
- PubSubClient (mula sa manager ng library)
- ArduinoJson (mula sa manager ng library)
- Adafruit_STMPE610 (mula sa manager ng library)
- Adafruit_MPR121 (mula sa manager ng library)
- Adafruit_INA219 (mula sa manager ng library)
- Adafruit_Sensor (mula sa manager ng library)
- Adafruit_BME680 (mula sa manager ng library)
- Tone32 (https://github.com/lbernstone/Tone)
Susunod na kakailanganin naming baguhin ang ilang mga aklatan:
- Buksan ang folder na PubSubClient (sa folder ng Arduino / Library) at buksan ang "PubSubClient.h". Hanapin ang halaga para sa MQTT_MAX_PACKET_SIZE at baguhin ito sa 2000.
- Susunod, buksan ang folder na TFT_eSPI, at buksan ang file na "User_Setup_Select.h". Magkomento ng anumang mga linya na "may kasamang mga user_setup…" at idagdag ang linyang ito:
# isama
Pagkatapos, i-download ang naka-link na Custom_Tricorder.zip file at kunin ang file na ".h" sa lokasyon ng "TFT_eSPI / User_Setups" sa iyong folder ng mga library ng Arduino. Ako
Ngayon, maaari tayong lumipat sa pag-update ng Arduino code
Hakbang 11: I-update at I-install ang Arduino Code at Makisali
Code ng Arduino
I-download at i-unzip ang naka-link na file para sa Arduino code. Pumunta sa mga lihim.h tab. Kakailanganin mong i-update ang sumusunod:
- WIFI_SSID = i-update sa iyong wifi SSID
- WIFI_PASSWORD = mag-update gamit ang iyong wifi password
- TIMEZONE = i-update sa iyong timezone mula sa listahang ito
- LAT (maaari mong gamitin ang isang serbisyo tulad ng "https://www.latlong.net" upang mahanap ang iyong Latitude at Longhitud
- LNG
- AWS_IOT_ENDPOINT = dapat ay nai-save mo ito mula nang mas maaga. Dapat magmukhang "dx68asda7sd.iot.us-east1-amazonaws.com"
- AWS_CERT_CA
- AWS_CERT_CRT
- AWS_CERT_PRIVATE
Mag-download ka rin ng mga sertipiko mula sa isang naunang hakbang. Buksan pagkatapos sa mga tala ng editor (hal. Notepad) at i-paste ang teksto sa pagitan ng 'R "EOF (' at ') EOF";'. Siguraduhing isama ang "----- BEGIN CERTIFICATE -----" o "----- BEGIN RSA PRIVATE KEY -----".
Mga File ng Imahe
Ang ESP32 ay may kasamang isang maliit na filesystem. Ginagamit namin ang filesystem na ito upang makatipid ng mga imahe para sa aming programa. Kakailanganin mong i-install ang tool na nagbibigay-daan sa iyo upang mag-upload ng mga file.
- Una, bisitahin ang malalim na tutorial sa Random Nerd Tutorials.
- Kapag nagawa mo na itong gumana, maaari mong mai-upload ang mga file sa folder ng data (kasama rin sa zip file).
Makisali
I-upload ang panghuling Arduino code, at tapos ka na!
Tandaan - Ang pangalan ng Star Trek at mga imahe ng Star Trek ay pagmamay-ari ng CBS / Paramount. Mayroon silang medyo maluwag na patakaran pagdating sa cosplay at fan fiction - mangyaring basahin dito kung mayroon kang mga katanungan.
Unang Gantimpala sa Fandom Contest
Inirerekumendang:
Pagguhit ng Robot Sa Adafruit Shield (Gawin Ito Paligsahan): 10 Hakbang (na may Mga Larawan)
Pagguhit ng Robot Sa Adafruit Shield (Gawin Ito Paligsahan): Kamusta ang mga pangalan kong Jacob at nakatira ako sa UK. Sa proyektong ito magtatayo ako ng isang robot na kumukuha para sa iyo. * Sigurado akong marami sa iyo ang nais na makita ito kaya kung nais mong malaman mangyaring laktawan ang kanan hanggang sa pangalawa hanggang huling hakbang ngunit tiyaking bumalik dito upang makita
Magaling: ang Itakda Ito at Kalimutan Ito Studio Mas malinis: 10 Hakbang (na may Mga Larawan)
Magaling: ang Itakda Ito at Kalimutan Ito Studio Mas malinis: Ni: Evan Guan, Terence Lo at Wilson Yang Panimula & MotivationSweepy ang studio cleaner ay dinisenyo bilang tugon sa magulong kalagayan ng studio ng arkitektura na naiwan ng mga barbaric na mag-aaral. Pagod na sa kung gaano magulo ang studio sa panahon ng revi
Kaya, Naglo-load ka ng STM32duino Bootloader sa Iyong "Blue Pill" Kaya Ano Ngayon ?: 7 Hakbang
Kaya, Naglo-load ka ng STM32duino Bootloader sa Iyong "Blue Pill" … Kaya Ano Ngayon?: Kung nabasa mo na ang aking mga instruktor na nagpapaliwanag kung paano mag-load ng STM32duino bootloader o anumang iba pang katulad na dokumentasyon, subukan mo ang halimbawa ng pag-load ng code at …. maaaring wala nangyayari talaga. Ang problema ay, marami, kung hindi lahat ng mga halimbawa para sa " Generic " STM32 wil
Panoorin ito ng Raspberry Pi Oled Clock Pakinggan Ito at Pakiramdam Ito: 5 Hakbang (na may Mga Larawan)
Panoorin ito ng Raspberry Pi Oled Clock Naririnig Ito at Nararamdaman Ito: Ito ay isang matalinong orasan na nagpapakita ng oras sa isang OLED display at maaari mo ring marinig ang oras sa iba't ibang agwat ng oras na tutulong para sa bulag at binabago din nito ang humantong kulay sa oras tulad ng ilaw sa takipsilim na ilaw sa gabi ay nagiging kulay kahel sa dilaw at tulad ng
Paano Sukatin ang Kasalukuyan at Bakit Dapat Mong Gawin Ito ?: 4 Mga Hakbang (na may Mga Larawan)
Paano Sukatin ang Kasalukuyan at Bakit Dapat Mong Gawin Ito?: Maraming tagagawa ay hindi alam kung gaano kahalaga na malaman ang kasalukuyang gumuhit ng iyong proyekto, o kung bakit kailangan mong malaman ito. Sa tutorial na ito ipapaliwanag ko sa iyo kung paano sukatin ang kasalukuyang gumuhit ng iyong proyekto, at kung bakit napakahalagang malaman ito. T