Orodha ya maudhui:

Minecraft inayoingiliana Usiingie Upanga / Ishara (ESP32-CAM): Hatua 15 (na Picha)
Minecraft inayoingiliana Usiingie Upanga / Ishara (ESP32-CAM): Hatua 15 (na Picha)

Video: Minecraft inayoingiliana Usiingie Upanga / Ishara (ESP32-CAM): Hatua 15 (na Picha)

Video: Minecraft inayoingiliana Usiingie Upanga / Ishara (ESP32-CAM): Hatua 15 (na Picha)
Video: МАРІУПОЛЬЦЯМ ПРИСВЯЧУЮ НІЧНИЙ СТРІМ 2024, Julai
Anonim
Image
Image
Bidhaa ya Mwisho
Bidhaa ya Mwisho

Kuna sababu kadhaa kwa nini mradi huu umekuwepo:

1. Kama mwandishi wa maktaba ya ushirika ya kazi nyingi TaskScheduler siku zote nilikuwa nikitaka kujua jinsi ya kuchanganya faida za ushirika multitasking na faida ya moja ya mapema. Kuna faida kwa wote na wote wana mapungufu. Kuchanganya hizi mbili kunaruhusu fursa ya kipekee ya kuongeza faida na kucheza maswala ya yoyote kulingana na kesi fulani ya matumizi. Kuvutia? Soma kwenye…

2. Ukweli sana kwamba ESP32 ni mdhibiti mkuu wa anuwai ya kupendeza ni ya kuvutia. Siku zote nilikuwa nikitaka kujua ikiwa ninaweza kuchukua faida ya huduma hiyo. Kwa hivyo jaribio hapa lilikuwa: Je! ESP32 inaweza kutiririsha video vizuri kutumia msingi mmoja wakati wa kufanya kitu kingine (cha maana na cha nguvu kwa kitu kingine) kwenye msingi mwingine. Inafurahisha zaidi? Soma kwenye…!

3. Nilihitaji uwanja wa kujaribu miradi yangu ya hivi karibuni karibu na utoaji wa firmware ya OTA na usimamizi wa usanidi…

4. Nilikuwa nimenunua moduli mbili za LED Dot Matrix muda uliopita na sikuweza kujua nini cha kufanya nazo…

5. Mtoto wangu ni mcheza mchezo wa Minecraft, na kama mvulana yeyote mdogo anapenda kupamba mlango wake na "Usiingie" mabango…

Kwa hivyo hapa unaenda - sababu zote nzuri za: Maingiliano Usiingie ishara ya mlango na utiririshaji wa ESP32-CAM ya malisho ya video "kutoka nyuma ya mlango uliofungwa" - au "Nani anakuja chumbani kwangu?"

Kwa hivyo… inahusu nini?

Ikiwa una subira ya kusoma hadithi nzima unatambua kuwa hii sio kweli juu ya upanga wa Minecraft. Mradi huu ni uthibitisho wa dhana nyingi:

  • Kuwepo kwa shughuli nyingi za Upendeleo na Ushirika
  • Matumizi ya kuchagua ya cores za ESP32
  • Matumizi ya maktaba mpya ya Kamusi na EspBootstrap
  • Utoaji wa firmware ya OTA
  • Usimamizi wa usanidi
  • Utiririshaji wa video kwa wateja wengi

na mengi zaidi.

Furahiya

Vifaa

  • ESP32-CAM
  • Moduli ya MAX7219 Dot Matrix 4-in-1 Module ya Kuonyesha ya LED Geekcreit ya Arduino
  • Attom Tech 2500mAh Benki ya Nguvu

Hatua ya 1: Bidhaa ya Mwisho

Bidhaa ya Mwisho
Bidhaa ya Mwisho

Nitaanza na jinsi bidhaa ya mwisho inavyoonekana, na kisha ueleze jinsi ilijengwa na jinsi ya kuidhibiti.

Inaonekana kuhusika zaidi kwa njia hii…

Hatua ya 2: Upanga wa uso

Upanga wa uso
Upanga wa uso
Upanga wa uso
Upanga wa uso

Kifua cha uso cha upanga kimetengenezwa kutoka kwa ubao mweupe, uliowekwa alama na penseli, na rangi na alama za Crayola. Hii peke yake inaweza kuwa mradi wa kupendeza na mtoto wako:

  • Andika upanga kwenye ubao mweupe
  • Kata uso wa uso
  • Weka alama kwenye viwanja (au vizuizi)
  • Wapake rangi mmoja mmoja
  • Ongeza mistari nyeusi na mkali.

Nilijumuisha hati ya wazi ya ofisi na mfano wa upanga wa almasi ambayo unaweza gundi juu ya ubao mweupe ikiwa unapendelea njia za mkato… Mara tu kila kitu kitakapofanyika unaweza kupachika gundi ya uso kwa mkutano wote au utumie mara mbili- mkanda wa upande.

Hatua ya 3: Dot Matrix LED Display

Uonyesho wa Dot Matrix LED
Uonyesho wa Dot Matrix LED
Uonyesho wa Dot Matrix LED
Uonyesho wa Dot Matrix LED
Uonyesho wa Dot Matrix LED
Uonyesho wa Dot Matrix LED

Nilikuwa na 2 kati yao, sehemu 4 kila moja, kwa hivyo niliamua kutengeneza sehemu moja 8-moja.

Kwa urahisi kuna kichwa cha kiume cha pini 5 upande mmoja, na vinavyolingana na mashimo 5 upande mwingine. Kuinama kichwa cha kiume kuwa sura-kama-kikuu], niliweza kuunganisha moduli mbili kwa njia ya umeme na kiufundi! Kuua ndege wawili kwa jiwe moja (au nzi wawili na swat moja, kusimamisha vinywa viwili na kipande kimoja, kufanya marafiki wawili na zawadi moja, kuwa na nyuzi mbili kwa upinde mmoja, nahau gani nyingine kwa jambo hilo - umefikiria? Samahani, nimechoka).

Kichwa cha kiume cha kinyume kitatumika kuunganisha kichwa cha kike kinacholingana kutoka kwenye veroboard na ESP32-Cam na vifaa vingine.

Vipengele viwili vimeunganishwa na daraja iliyochapishwa 3d, ambayo pia ina swichi ya kuwasha na kuzima umeme. Faili za 3L STL za daraja na vifaa vingine ziko kwenye folda ya faili / 3d kwenye GitHub.

Hatua ya 4: Nguvu

Nguvu
Nguvu

Upanga unaendeshwa na benki ya umeme ya 2500 mAh USB - ndogo na nyembamba zaidi ningeweza kupata. Powerbank huteleza kwenye kesi iliyochapishwa 3d, ambayo pia inaambatanisha na moduli za nukta za nukta, na hivyo kushikilia kitu kizima pamoja.

Kuna sumaku mbili za mviringo zilizofunikwa kwenye kasha la benki ya nguvu, na ndivyo upanga umeambatanishwa na mlango (kwa hivyo inaweza kutengwa kwa urahisi kwa matengenezo).

Hatua ya 5: Mpangilio

Mpangilio
Mpangilio
Mpangilio
Mpangilio
Mpangilio
Mpangilio

Mpangilio halisi uko kwenye GitHub, lakini picha ina thamani ya maneno 1000 (1024 katika Teknolojia ya Habari), kwa hivyo hapa wewe ni:

Hii ni sawa ikiwa unajua njia yako na bunduki ya kutengeneza. Kumbuka: Sehemu ya daraja la 3d imeundwa kwa saizi maalum ya veroboard: 30 x 70 mm. Ikiwa utaamua kutumia tofauti, unahitaji kuunda tena sehemu ya daraja.

Hatua ya 6: Uchapishaji wa 3d

Uchapishaji wa 3d
Uchapishaji wa 3d
Uchapishaji wa 3d
Uchapishaji wa 3d
Uchapishaji wa 3d
Uchapishaji wa 3d

Kesi ya betri na daraja linalounganisha veroboard ya ESP32-CAM kwenye mkutano wa dot-matrix zilibuniwa na kuchapishwa.

Kesi ya betri huja katika sehemu 2, ambazo zinahitaji kushikamana pamoja baada ya kuchapisha kuunda "mfukoni" kwa betri. Daraja linahitaji tu kusafishwa kwa miundo yote ya msaada (hakuna mwelekeo mzuri unaowapunguza, kwa bahati mbaya). Faili za STL ziko kwenye asili ya GitHub na asili ya TinkerCad ziko hapa.

Ubunifu wa 3D kwenye TinkerCad pia ni pamoja na muundo wa mkutano ulioigwa wa jinsi sehemu zinavyoshikana pamoja na zinapaswa kuunganishwa.

Hatua ya 7: Programu

Kazi nyingi

Ubunifu huu hutumia FreeRTOS kwa maktaba ya kufanya kazi nyingi na maktaba ya TaskScheduler kwa moja ya ushirika. Tabia ya upanga na ujumbe unadhibitiwa kupitia Programu ya Blynk. Baada ya usanidi (pini, kamera na uanzishaji wa dot-matrix, unganisha kwa WiFi, nk), kazi kuu mbili za RTOS zinaundwa:

  • Utiririshaji wa video wa kazi ya RTOS, iliyowekwa kwenye Msingi wa Maombi wa ESP32 (msingi 1)
  • Kuonyesha maandishi na kudhibiti Blynk kazi ya RTOS, iliyowekwa kwenye Nguvu ya Nguvu ya ESP32 (msingi 0), ambayo pia inawajibika kwa kazi zote zinazohusiana na WiFi. Utekelezaji wa maandishi na Blynk unasimamiwa kupitia majukumu ya TaskScheduler.

Niligundua kuwa 4K ya nafasi ya stack ni ya kutosha kwa kazi za RTOS, lakini kuna uwezekano wa kuishiwa na stack, kwa hivyo ukipenda, fanya 8K - kuna RAM nyingi kwenye ESP32.

Upigaji video na utiririshaji wote wa video hufanyika kwenye Core 1. Kila kitu kingine - kwenye Core 0.

ESP32 ina nguvu ya kutosha kushughulikia yote hayo kwa kuvunja jasho kidogo (bodi inapata moto wakati wa kutiririsha video).

HILI ndilo lilikuwa lengo kuu la mradi: kuishi kwa amani na uzalishaji wa shughuli nyingi za mapema na za ushirika!

Hatua ya 8: Udhibiti wa Matiti ya Dot

Ninatumia maktaba yenye nguvu sana ya MD_Parola na MD_MAX72xx pia inapatikana katika msimamizi wa maktaba ya Arduino IDE.

Athari zote maalum za maandishi hufanywa kupitia maktaba hizo. Ilichukua juhudi kidogo kuamua aina sahihi ya vifaa vya MAX72XX (MD_MAX72XX:: ICSTATION_HW kwa upande wangu, yako inaweza kuwa tofauti), baada ya hapo, kudhibiti maandishi ni upepo.

Upanga unaruhusu udhibiti zifuatazo:

  • Mwangaza
  • Kupepesa
  • Flash
  • Kasi ya kusogeza na mwelekeo (juu / chini, kushoto / kulia, thabiti)
  • Unaweza pia kuibadilisha kuwa Saa ya Ukuta

Hatua ya 9: Utiririshaji wa Video

Programu ya Blynk ina kidude kidogo cha kutiririsha video, lakini unaweza kutiririka kwenye kivinjari, Kicheza VLC, au kitu chochote kinachounga mkono kiwango cha MJPEG.

Hadi wateja 10 waliounganishwa wanasaidiwa.

Utalazimika kujua anwani ya IP ya ESP32-CAM yako ili uweze kuungana nayo. Unaweza kuiangalia kwenye router yako, au kukusanya mchoro huu na chaguo la _DEBUG_ kuwezeshwa kwanza, na soma anwani ya IP ya kituo wakati inaunganisha kwenye mtandao wako.

MUHIMU: Inashauriwa sana kupeana anwani ya IP ya kudumu, au kuunda uhifadhi wa DHCP, moduli ya ESP32-CAM kwa hivyo anwani yake haibadiliki wakati kukodisha kumalizika. Unaweza pia kurekebisha Programu ya Blynk kusasisha anwani ya IP kwenye URL ya mkondo - mgawo wa kuvutia wa kazi ya nyumbani ikiwa uko juu yake.

Mchoro wa sasa unatumia azimio la QVGA: saizi 320x240, ambayo inafanya iwe haraka sana. Uko huru na unahimizwa kucheza na maazimio mengine na uamue ni nini kinachokufaa.

RAM haipaswi kuwa shida kwani mchoro unachukua faida ya PSRAM.

Hatua ya 10: Usanidi

Mchoro huo unachukua fursa ya maktaba yangu ya Kamusi na EspBootstrap kupakia vigezo vya usanidi kutoka kwa seva ya usanidi kwenye buti.

Ninaendesha seva yangu ya usanidi, ambayo unaweza kufanya pia (ni seva rahisi ya wavuti ya Apache2 inayohudumia faili za JSON tu).

Unaweza pia kutumia huduma zozote za mkondoni zinazopatikana kwa kazi hiyo: (OTADrive, Microsoft Azure, AWS IoT, n.k.). Katika kesi hii tafadhali badilisha njia ya String makeConfig (String path) kuunda ipasavyo URL inayoonyesha chanzo chako cha usanidi. Vinginevyo, unaweza kuhifadhi faili ya usanidi kwenye mfumo wa faili wa SPIFFS kwenye ESP32-CAM na uisome kutoka hapo, au tu ingiza maandishi yote. Tafadhali angalia README ya maktaba ya EspBootstrap kwa chaguo zako.

Mfano wa faili ya usanidi hutolewa kwenye GitHub.

Ikiwa unapendelea kuweka vigezo vya hardcode, mfano uko chini:

pd ("Kichwa", "Usanidi wa Upanga wa DND");

pd ("ssid", "wifi yako ssid"); pd ("nywila", "nywila yako ya wifi"); pd ("msg", "Hello!"); pd ("vifaa", "8"); pd ("blynk_auth", "blynk yako AUTH UUID"); // ikiwa unaendesha seva yako mwenyewe tu: pd ("blynk_host", "server yako ya blynk IP"); pd ("blynk_port", "bandari ya seva yako");

Hatua ya 11: Sasisho la Firmware ya OTA

Mchoro pia ni sasisho la firmware la OTA (Zaidi ya Hewa) limewezeshwa na inatafuta firmware mpya kwa kila buti.

Tena, ninaendesha seva yangu ya kusasisha OTA, ambayo unaweza kufanya pia (ni seva rahisi ya Apache2 na kifurushi kidogo cha PHP inayohudumia faili za binary).

Unaweza pia kutumia huduma zozote za IoT mkondoni zinazopatikana kwa kazi hiyo: (OTADrive, Microsoft Azure, AWS IoT, n.k.). Katika kesi hii tafadhali badilisha njia batili ya checkOTA () kuunda ipasavyo URL ya sasisho inayoonyesha chanzo chako cha faili ya binary.

Hii ni hiari - unaweza kuchagua kupakia tu binaries kupitia unganisho la serial.

Hatua ya 12: Seva ya MJPEG

Mada hii imeelezewa kwa kina hapa.

Hatua ya 13: Programu ya Blynk

Programu ya Blynk
Programu ya Blynk
Programu ya Blynk
Programu ya Blynk
Programu ya Blynk
Programu ya Blynk

Blynk ni jukwaa la IoT lenye wingu linaloruhusu maendeleo ya Programu haraka. Ni bure kwa matumizi ya kibinafsi na hata ina chaguo la kuendesha seva yako ya Blynk.

Mimi (kama unavyodhani tayari) ninaendesha seva yangu ya Blynk, lakini inaweza kuwa rahisi kwako kutumia toleo la wingu. Sakinisha Blynk iOS au Android App, na ufuate picha hapa chini ili ujenge upya App kwenye simu yako.

Utahitaji kutoa Blynk Auth UUID yako mwenyewe kwa programu kufanya kazi na App yako. Hii ndio sababu ninatumia faili za usanidi. Walakini, kwa mradi wa mara moja, thamani iliyowekwa ngumu inaweza kufanya kazi sawa.

MUHIMU: Tafadhali hakikisha Mradi wako wa Blynk umewekwa ili Kuarifu Vifaa Wakati App Imeunganishwa.

KUMBUKA kwenye wijeti ya kutiririsha video: wakati mwingine video haianzi. Haionekani kuwa shida na ESP32, badala yake na wijeti ya video ya programu ya Blynk. Jaribu kufunga na kufungua tena App au kusimamisha / kuanzisha mradi tena. Hatimaye, inaanza. Shida hii haionekani kuwapo kwenye kivinjari au kichezaji cha VLC (kwa mfano).

Hatua ya 14: Furahiya

Ilikuwa kujifurahisha sana kujenga hii na kudhibitisha kuwa kifaa cha ukubwa wa alama kama ESP32 kinaweza kufanya mengi zaidi kuliko video ya mkondo tu. Dhana nyingi kutoka kwa mradi huu zinaweza kutumiwa tena katika matumizi mengine.

Hatua ya 15: Maktaba na Kanuni

Maktaba:

  • Seva ya Blynk
  • Maktaba ya EspBootstrap
  • Maktaba ya TaskScheduler
  • Maktaba ya Kamusi
  • Maktaba ya Matrix ya LED
  • Maktaba ya msimu wa kusogeza maonyesho ya maandishi ya tumbo ya LED

Hifadhi halisi:

Minecraft Maingiliano Usiingie Upanga / Ishara (ESP32-CAM)

Ilipendekeza: