Avtor: Brian Millier
Že od izida ESP8266 mikrokontrolerja z Wi-Fi-jem se podjetje Espressif intenzivno ukvarja z razvojem svojih mikrokontrolerjev z Wi-Fi-jem. Rezultat tega je celotna družina ESP32 naprav, ki vse vključujejo neko obliko podpore za Wi-Fi in Bluetooth.
Nekatere najnovejše naprave, kot je ESP32C6, podpirajo tudi Matter in Zigbee protokola. Nekateri člani družine ESP32 še vedno uporabljajo 32-bitno jedro mikrokontrolerja Xtensa LX7, medtem ko novejši modeli uporabljajo RISC-V jedro. Mnoge takšne naprave imajo dvojno jedro mikrokontrolerja, nekatere pa vsebujejo le eno jedro.
Novi mikrokontroler ESP32P4 se močno razlikuje od preostalih članov družine ESP32. Menim, da je ESP32S3 z dvojnim jedrom mikrokontrolerja Xtensa verjetno najzmogljivejši mikrokontroler z vgrajenim Wi-Fi-jem, ki ga bo podjetje Espressif kdajkoli izdelalo. Pri modelu ESP32P4 je podjetje Espressif odpravilo vse funkcije radijske komunikacije in se namesto tega osredotočilo na razvoj precej zmogljivejšega konvencionalnega mikrokontrolerja. Nekateri privrženci ESP32 so nezadovoljni, ker je podjetje Espressif ohranilo oznako družine ESP32 za napravo, ki se ne ujema z vsemi drugimi mikrokontrolerji ESP32 z RF-zmogljivostjo, jaz pa sem bil preprosto vesel, da so ponudili zmogljivejši mikrokontroler.
Ta vsebina je samo za naročnike
V tem članku bom opisal svoje prve izkušnje z ESP32P4. Uporabil bom različne razvojne plošče, ki sem jih kupil za namene preizkušanja. V vseh primerih pa dejstvo, da gre za relativno novo napravo podjetja Espressif, pomeni, da je najbolj celovita programska podpora na voljo le z uporabo Espressifovega orodnega niza IDF. Arduino IDE intenzivno uporabljam za štiri različne družine mikrokontrolerjev, z Espressif IDF pa nimam neposrednih izkušenj. V tem članku bom na kratko predstavil večino zmogljivosti ESP32P4 in posebej izpostavil tiste, ki jih trenutno podpira Arduino IDE v različici 2.3.10. Iz preteklih izkušenj pa vem, da večina funkcij ESP32, ki so prvotno podprte le v IDF, postane dostopna skupnosti Arduino v manj kot enem letu.



Lastnosti ESP32P4
ESP32P4 vsebuje dvojedrni RISC-V MCU, ki lahko deluje s taktom 400 MHz. Torej je v bistvu dvakrat hitrejši od ESP32S3. Podobno kot nekateri drugi ESP32 modeli vsebuje tudi enojedrni, počasnejši MCU, ki deluje s taktom 40 MHz. V razvojnem okolju Arduino IDE se s počasnim mikrokontrolerjem pravzaprav ne ukvarjate, čeprav domnevam, da je vključen v različne načine globokega spanja, kar zadeva prebujanje glavnega mikrokontrolerja v določenih časovnih intervalih ali ob spremembah stanja GPIO priključkov.
ESP32P4 ima približno 50 % več pomnilnika SRAM kot ESP32S3, in sicer 768 KB. Razvojne plošče, ki sem jih kupil, vsebujejo 16 ali 32 MB Flash pomnilnika in so opremljene z 32 MB PSRAM pomnilnika.
Po mojem mnenju je velika izboljšava večje število GPIO priključkov. Na voljo jih je 55, od katerih se jih 5 uporablja tudi za povezovanje. Na voljo je običajen nabor funkcionalnih blokov, ki jih najdemo v družini ESP32:
5x UART-i plus en low-power UART (za delovanje v načinu spanja)
4x SPI portov
2x I2C plus en Low Power I2C
I3C port. Slišal sem za ta novi protokol, vendar zaenkrat še ni veliko možnosti za njegovo uporabo.
3x I2S porti. Uporablja se za avdio z visoko frekvenco vzorčenja in visoko ločljivostjo
USB High-speed, Full-speed, OTG
USB Serial/JTAG krmilnik
LEDC PWM krmilnik (8 kanalov)
2x PWM krmiljenje motorja
Daljinsko krmiljenje periferije (4 kanali)
11x Timerjev različne dolžine, celo do 52-bitov
2x ADCs (12-bit) plus Low Power ADC (za delovanje v načinu spanja)
Poleg teh standardnih funkcij za priključevanje perifernih naprav sta na voljo tudi dva MiPi priključka. To sta zelo hitra serijska priključka, namenjena komunikaciji s TFT-zasloni (priključek DSI) ter komunikaciji s kamerami visoke ločljivosti (priključek CSI). To predstavlja prednost v primerjavi z drugimi mikrokontrolerji iz družine ESP32, ki s TFT zasloni komunicirajo na enega od naslednjih dveh načinov:
SPI port. ESP32S3 ima več SPI vmesnikov, zato to deluje v redu, vendar je lahko nekoliko počasno. TFT knjižnico je treba nastaviti tako, da ustreza priključku zaslona.
Paralelni način. Ta način je hiter, vendar porabi veliko GPIO priključkov ESP32S3 mikrokontrolerja. Poleg tega bo treba TFT knjižnico nastaviti tako, da bo ustrezala načinu priključitve zaslona na ESP32 prek tega velikega števila GPIO priključkov.
Ker ima ESP32P4 namenske MiPi-vmesnike, ne izgubite dostopa do GPIO priključkov, ki bi se sicer uporabljali za TFT zaslon. To pomeni tudi, da je v knjižnicah gonilnikov za TFT zaslon manj omejitev pri konfiguraciji GPIO priključkov. To velja tudi za MiPi CSI vmesnik, ki se uporablja za kamero.
Pri projektih, ki jih razvijam, skoraj ne potrebujem varnostnih ukrepov, vendar pa EPS32P4 ponuja celoten nabor šifrirnih funkcij: AES, ECC, RSA, SHA pospeševalnike, periferno enoto za digitalni podpis, generator resnično naključnih številk itd..
V bistvu gre pri ESP32P4 za mikrokontroler, ki je dovolj zmogljiv, da ga lahko uvrstimo med sisteme na čipu (SoC), in vključuje praktično vso periferno opremo, potrebno za številne aplikacije. Medtem ko mnogi SoC-i (kot je na primer Raspberry Pi) podpirajo le operacijski sistem Linux, je ESP32P4 namenjen programiranju »bare-metal« v jeziku C++.
Omeniti moram, da Arduino IDE v tej zgodnji fazi še ne podpira mnogih naprednih perifernih funkcij ESP32P4. Vendar pa je v preteklosti podpora Arduina za katero koli funkcijo zaostajala za Espressifovim IDF le za približno 6 mesecev. Zdi se, da ni preveč težko zasnovati »ovoj« okoli različnih gonilnikov naprav Espressif IDF in jih narediti »prilagojene za Arduino«. Osebno precej rajši uporabljam standardne gonilnike naprav za Arduino kot mehanizem gonilnikov Device Tree, ki se uporablja v sistemu Linux.


Razvojne plošče
Na voljo je že široka paleta razvojnih plošč ESP32P4. Izbral sem tri razvojne plošče, ki ustrezajo različnim projektnim potrebam:
Waveshare ESP32-P4-WI-FI6. Ta razvojna plošča ima enako fizično obliko kot razvojni komplet Espressif ESP32S3, vendar ima 4 priključke manj. Glej sliko 1.
ViewE ESP32-P4-Pi-VIEWE. Ta plošča ima enako obliko kot enoploščni računalnik Raspberry Pi. Opremljena je z Wi-Fi-jem, Ethernetom, USB-jem in 40-pin, dvojnim 0,1-palčnim priključkom za GPIO. Glej sliko 2.
M5 Stack TAB5. Ta modul dejansko ne spada v isto kategorijo kot ostala dva, saj ima 5-palčni zaslon na dotik, veliko več zunanjih perifernih naprav ter je opremljen s torbico in izbirno LiPo baterijo, ki se lepo namesti na zadnjo ploščo. Slika 3 prikazuje zadnjo stran modula z vgrajeno izbirno LiPo baterijo.
Čeprav ESP32P4 nima vgrajenih zmogljivosti za Wi-Fi ali Bluetooth, imajo vse tri zgoraj navedene plošče/moduli vezje, ki to omogoča. Podjetje Espressif je to pomanjkljivost odpravilo z možnostjo priključitve ESP32C6 mikrokontrolerja na ESP32P4, ki deluje kot koprocesor za Wi-Fi/Bluetooth 5 (LE). Ta zamisel bo znana tistim, ki uporabljajo Raspberry Pi RP2040 mikrokontrolerje ali STM mikrokontrolerje, ki uporabljajo Wi-Fi/Bluetooth Infineon CYW43439 modul ali drugi enakovreden modul.
Modul Wi-Fi koprocesorja lahko priključite na več načinov – prek SPI, I2C ali UART vmesnika. Zato je treba Wi-Fi/Bluetooth knjižnico vašega gostiteljskega mikrokontrolerja ustrezno konfigurirati. Običajno se uporablja SPI vmesnik, vendar s tem ostane na voljo en SPI vmesnik manj za druge namene.
Podjetje Espressif je razvilo lastno razvojno ploščo ESP32P4, ki omogoča priključitev procesorja ESP32C6 prek SDIO vmesnika na ESP32P4 plošči. SDIO vmesniki se običajno uporabljajo za SD kartice in omogočajo hiter prenos podatkov. Kadar je ESP32C6 procesor vgrajen na ESP32P4 razvojno ploščo, je že vnaprej programiran kot podrejeni procesor za Wi-Fi/Bluetooth. Vse tri plošče, ki jih predstavljam v tem članku, uporabljajo ESP32C6 za Wi-Fi in SDIO vmesnik za medsebojno povezavo obeh. Če uporabljate standardne funkcije API-ja Arduino ESP32 WiFi in ste kot ciljni mikrokontroler izbrali ESP32P4, bo prevajalnik ustvaril kodo, ki podpira podrejeni Wi-Fi procesor ESP32C6. Zato je dejstvo, da Wi-Fi upravlja ločena naprava, za uporabnikovo aplikacijo neopazno. V preteklosti sem uporabljal ESP-Now protokol, vendar firmware, ki je bil naložen na podrejeni ESP32C6 procesor, tega protokola trenutno NE podpira. To se v prihodnosti morda spremeni, vendar bo odvisno od možnosti ponovnega programiranja ESP32C6 (konektorja za programiranje morda nimajo vse razvojne plošče).
Cenim, da je podjetje Espressif zagotovilo standardiziran način upravljanja funkcije Wi-Fi koprocesorja. SDIO vmesnik je hiter in ne bi smel preveč poslabšati hitrosti Wi-Fi-ja ali odzivnosti. Nasprotno pa pri Arduino Uno Q delovanje Wi-Fi v celoti upravlja sistem na čipu (SoC) podjetja Qualcomm. STM Arm mikrokontroler, ki je procesor v »realnem času« na Uno Q, mora za komunikacijo s sistemom na čipu Qualcomm uporabljati protokol RPC (remote procedure call). Ta metoda ni tako pregledna kot Wi-Fi API za ESP32P4 in je precej počasnejša.
Še en pomemben vidik, ki je skupen tem trem ESP32P4 razvojnim ploščam, je način, kako obravnavajo SD kartice. Prejšnje ESP32xx razvojne plošče so pogosto vsebovale vtičnico za uSD kartice, ki je bila običajno priključena na SPI vmesnik ESP32. Ta vmesnik pa ni niti približno tako hiter kot delovanje uSD kartice v načinu SDIO. Poleg tega, čeprav lahko SPI vmesnik v teoriji podpira več naprav (z uporabo posameznih CS linij), v praksi večina knjižnic za SD kartice ne bo delovala skupaj z drugimi SPI napravami, če si delijo isti SPI vmesnik. Pri ESP32P4 je vtičnica za uSD kartico priključena na drugačna SDIO vrata kot tista, ki jih uporablja Wi-Fi koprocesor ESP32C6, zato ne bo prišlo do konfliktov med knjižnicami.
Ker so zaslon, kamera in SD kartica priključeni prek namenskih vmesnikov, ima ESP32P4 na voljo veliko prostih GPIO priključkov za vaše lastne potrebe.
Za razliko od M5Stackovega TAB5, drugi dve razvojni plošči ESP32P4, predstavljeni v tem članku, nimata vgrajenega TFT zaslona. Obe pa imata DSI vtičnico, ki omogoča priključitev zunanjega TFT zaslona prek FPC kabla (fleksibilno tiskano vezje). Čeprav obe plošči vsebujeta DSI vtičnico in uporabljata MiPi DSI vmesnik ESP32P4, iskanje ustreznega zaslona in prave knjižnice za zaslon ni preprosto. To je področje, na katerem bo vaša izbira programskih orodij odločilna za to, kako (ali sploh) boste lahko priključili ustrezen zaslon. O tem bom podrobneje spregovoril, ko bom podrobneje opisal posamezne razvojne plošče.
Ponovil bom, kar sem že omenil v številnih svojih člankih, ki obravnavajo mikrokontrolerje, programirane z uporabo Arduino IDE. To, da v razdelku »Primeri za razvojno ploščo ESP32P4« vidite primere programov, še ne pomeni, da vsi delujejo ali da so bili sploh preizkušeni. Vključitev teh primerov pomeni le, da je nekdo ta primer preizkusil na katerem od ESP32xx mikrokontrolerjev, morda z uporabo perifernega čipa, ki je na določen način priključen. V naslednjih poglavjih bom za vsako ploščo navedel ustrezne primere za Arduino, ki sem jih sam preizkusil.
Waveshare ESP32P4-WiFI6 plošča stane 12,50 €. ESP32-P4-Pi plošča proizvajalca Viewe stane 16 €. M5 Stack TAB5 plošča spada v drugo kategorijo, saj vsebuje 5-palčni TFT-zaslon na dotik, številne periferne naprave in je opremljena z ohišjem. Stane 54 €.
Waveshare ESP32-P4-WIFI6
Ta razvojna plošča s 40-pinskim DIP priključkom je najbolj primerna za vgradnjo na tiskano vezje ali prototipno ploščo, kadar so potrebna zunanja vezja. Med vsemi tremi ploščami je najcenejša. Tako, kot vse tri plošče, ima vgrajeno USB-C vtičnico, ki omogoča napajanje in deluje kot serijski vmesnik. Ima 32 MB Flash pomnilnika.
Čeprav so DSI vtičnice na videz podobne, niso vse enake. Ta plošča uporablja 22-pin DSI vtičnico z visoko gostoto in razmakom 0,5 mm. Čeprav sam nisem kupil ločenih TFT DSI zaslonov opažam, da so ti pogosto opremljeni z več FPC kabli, ki ustrezajo dvema različnima tipoma DSI vtičnic (ki jih najdemo na različnih generacijah enoploščnih Raspberry Pi računalnikov). To je nekaj, na kar morate biti pozorni, če si zaslon nabavite sami. Vendar pa podjetje Waveshare ponuja to razvojno ploščo z več različicami kompletov: komplet B vsebuje kamero, 10,1 palčni zaslon na dotik in majhen zvočnik. Vsi potrebni FPC kabli so vključeni v ta komplet. Čeprav je ta komplet cenovno ugoden, se mi je zdelo, da je 10,1 palčni zaslon za moje namene prevelik. Poleg tega je podpora knjižnic Waveshare za zaslon, ki se uporablja v tem kompletu, namenjena izključno orodju Espressif IDF, ki ga sam ne uporabljam. Zato moji načrti za to ploščo ne bi vključevali TFT zaslona.
Na voljo je tudi 22-pinski CSI-priključek za kamero. Običajna kamera za Raspberry Pi (OV5647) bi tu delovala, vendar je nisem imel pri roki, da bi jo preizkusil.
Ta plošča vsebuje vgrajen MEMS mikrofon ter ojačevalnik za pogon majhnega zvočnika. Mikrofon ni označen in je analogen (tj. ne deluje po standardu I2S). Vgrajen je ES8311 kodek, ki upravlja z mikrofonom in hkrati zagotavlja avdio izhodni signal za ojačevalnik NS4150B. Ta kodek je podprt v Espressif IDF, primeri podjetja Waveshare pa so na voljo izključno v IDF formatu. Phil Schatzmann je napisal Arduino knjižnico za ES8311, ki je na voljo na GitHubu na naslovu:
https://github.com/pschatzmann/arduino-audio-tools
Te knjižnice še nisem preizkusil s to ploščico. Vtičnica za zvočnik na spodnji strani ploščice je združljiva s konektorjem MX1.25 2P (2-pin).
Wi-Fi koprocesor ESP32C6 na tej ploščici ima vgrajeno lastno SMD anteno, zato na njej ni µFL konektorja za zunanjo anteno. Uporabljam najnovejšo različico Arduino IDE 2.3.10 z najnovejšim paketom podpore za Espressif ESP32 3.3.10 ploščo. Ta Waveshare plošča ni bila med izbirami ESP32 plošč, zato sem uporabil vnos »ESP32P4 Dev Module«. Nisem imel nobenih težav pri zagonu skice »AdvancedWebServer« iz kategorije »Primeri za ESP32P4«. Upoštevajte, da ESP32C6 podpira Bluetooth 5 (LE), ne podpira pa starejše Bluetooth UART serijske storitve. Na sliki 4 je prikazan 4-pin konektor za UART vmesnik EPS32C6, ki se lahko uporabi za ponovno programiranje ESP32C6.
Vtičnica za uSD kartico na tej plošči je povezana z enim od SDIO priključkov (SDIO Slot 1) na ESP32P4. Ko sem v meniju Arduino Board izbral »ESP32P4 Dev Module«, nisem imel nobenih težav pri pravilnem delovanju skice »SDMMC_Test« iz kategorije »Examples for ESP32P4«. SDIO Slot 1 vrata imajo fiksno dodelitev GPIO pinov, zato konfiguracija GPIO pinov ni problem.
Dejstvo, da sta oba primera delovala takšna, kot sta bila, kaže, da je podjetje Waveshare ti dve periferni napravi priključilo natanko tako, kot je to storilo podjetje Espressif pri svoji razvojni plošči ESP32P4.
Za enega od mojih projektov sem želel uporabiti dva I2C ADC-ja s fiksnim naslovom. Preveril sem, da sta obe I2C vrati ESP32P4 podprti v Arduinu. Za njuno inicializacijo na pinih 2, 3 ter 7 in 8 sem uporabil naslednje ukaze:
Wire.begin();
Wire.setPins(2,3);
Wire1.setPins(7,8);
Wire1.begin();
Ta Waveshare plošča vsebuje čip CH343P za pretvorbo USB v UART. Zato v meniju Arduino Tools nastavite možnost »USB-CDC ob zagonu« na »Onemogočeno«. To bo omogočilo, da bodo standardni ukazi Serial.print() pošiljali podatke v program za serijski terminal na vašem računalniku.
Ta plošča podpira USB-OTG 2.0. Za dostop do tega vmesnika potrebujete kabel, ki prilagaja JST-1,25 x 4 konektor na plošči na ženski USB-A konektor. MX1,25-4-Pin konektor za kabelski adapter je označen na sliki 4. Te kable lahko najdete na Amazonu, če iščete »JST 1,25 x 4 USB«.
Slika 5 prikazuje razpored priključkov te plošče. Na voljo je 27 GPIO priključkov, od katerih nobenega ne uporabljajo naprave, kot so DSI zaslon, kamera ali vtičnica za SD kartico.
ViewE ESP32-P4-Pi
Ta plošča se v nekaterih lastnostih razlikuje od Waveshare plošče. Ima obliko Raspberry Pi in podoben GPIO priključni konektor. Za razliko od Waveshare plošče ta uporablja modul VIEWE ESP32-P4-Core, ki vsebuje tako čip ESP32P4 kot tudi čip ESP32C6. To je velik pravokotnik, ki je prikazan na sliki 2. Ta modul vsebuje priključek u.FL za zunanjo anteno. Čeprav na tiskanem vezju ni vgrajene »patch« antene, se med GPIO konektorjem in DSI konektorjem nahaja majhen rdeč modul. Čeprav je sam del označen s C3, je na tiskanem vezju označen kot ANT1 in predstavlja privzeto anteno. Bil sem prijetno presenečen, ko sem se s to ploščico uspel povezati s svojim Wi-Fi usmerjevalnikom (10 m stran). Uporabil sem isti skic »AdvancedWebServer« iz kategorije »Primeri za ESP32P4«, kot sem ga uporabil pri plošči Waveshare.
Za razliko od drugih dveh plošč ta plošča vsebuje RJ45 konektor, ki podpira Ethernet vmesnik s hitrostjo 100 Mbps. Čip Ethernet PHY-ja je Wiznet IP101GRI. ViewE ima stran na GitHubu, ki vsebuje večino tehničnih podatkov o plošči:
VIEWESMART (VIEWESMART) · GitHub: https://github.com/VIEWESMART
Za večino vgrajenih perifernih naprav, vključno s tem Ethernet vmesnikom, so na voljo primeri. Vsi primeri so na voljo v programskem formatu Espressif IDF, program ViewE pa ne ponuja knjižnic ali primerov za Arduino.
Tako kot Waveshare plošča tudi ta plošča podpira avdio funkcionalnost. Za avdio izhod uporablja kodek ES8311 I2S, ki mu sledi NS4150 ojačevalnik. Vendar pa v nasprotju z Waveshare ploščo vsebuje tudi ločen kodek ES7210 I2S za 2 vgrajena mikrofona. ES7210 je 24-bitni analogno-digitalni pretvornik (ADC) z visoko ločljivostjo, ki lahko obdeluje do 4 avdio vhode. ViewE ta čip označuje kot napravo za odpravo odmeva. Ta čip proizvaja podjetje Everest Semiconductors, v njihovem tehničnem listu pa ni omenjena nobena zmogljivost za odpravo odmeva, čeprav je v napravi prikazan DSP blok.
Podjetje Espressif samo uporablja te kodeke na svojih ploščah in je zanje napisalo gonilnike v IDF formatu. Podjetje ViewE ponuja primerne programe za oba kodeka v Espressif IDF formatu. V najnovejšem paketu podpore za ESP32 ploščo podjetja Espressif (različica 3.3.10) ni nobenih primerov skic za Arduino za nobenega od kodekov. Domnevam, da bi knjižnica ES8311 avtorja Phila Schatzmanna, omenjena v poglavju o Waveshare, delovala tudi na tej plošči. Konektor za zvočnik je zelo majhen in se priključi na MX1.25 2P (2-pin) konektor.
Tako kot Waveshare plošča ima tudi ta MiPi DSI konektor za TFT zaslon. Vendar gre pri tej plošči za 15-pin konektor z razmakom 1 mm, ne pa za 22 pin konektor z razmakom 0,5 mm, kot je na Waveshare plošči. Ta 15 pin konektor je širši od 22 pin konektorja, zato je verjetnost, da bi se zmedli in priključili napačen FPC kabel, zelo majhna. Tako kot pri drugih vgrajenih perifernih napravah ViewE ponuja nekaj programov v Espressif IDF za testiranje zaslona. Eden je poimenovan »color_panel_JD9165«, pri čemer je J9165 pogost čip za krmiljenje LCD zaslonov. Drugi primer je namenjen za upravljanje 7 palčnega zaslona s pomočjo priljubljenega grafičnega okvira LVGL. Nisem kupil ustreznega zaslona, saj ne uporabljam Espressif IDF in zato nisem mogel preizkusiti primerov ViewE TFT.
Tako kot Waveshare plošča tudi ta vsebuje MiPi CSI konektor za kamero. Gre prav tako za 15 pin konektor z razmakom 1 mm. ViewE ponuja tudi demonstracijski program Espressif IDF za kamero. Domnevam, da bi tu delovala tudi običajna kamera za Raspberry Pi, vendar je nisem imel pri roki, da bi jo preizkusil.
Konektor za uSD kartico na tej plošči je povezan z enim od SDIO priključkov na ESP32P4. Ko sem v meniju »Arduino Board« izbral »ESP32P4 Dev Module«, nisem imel nobenih težav pri pravilnem delovanju skice »SDMMC_Test« iz kategorije »Examples for ESP32P4«. Opazil sem sicer, da prva uSD kartica, ki sem jo vstavil – kartica Sandisk s kapaciteto 32 GB, formatirana v sistemu FAT32 – ni bila prepoznana. Druga kartica, Kingston s kapaciteto 32 GB, formatirana v sistemu FAT32, je delovala brez težav.
ViewE plošča podpira tudi USB-OTG-2.0. Ta plošča vsebuje standardni ženski USB A konektor. V trenutnem paketu podpore za Espressif ESP32 ploščo niso vključeni nobeni primeri uporabe USB-OTG, namenjeni za ESP32P4. Obstaja knjižnica za Arduino, ki jo je ustvaril Tanaka Masayuki in jo lahko najdete z uporabo upravitelja knjižnic Arduina (Arduino Library Manager) tako, da poiščete »ESPUSBhost«. Poskusil sem zagnati nekaj primerov, vendar mi to ni uspelo. Opazil sem, da naprava, priključena na ta USB-A konektor, ni prejemala napajanja, zato mora biti potrebno še kaj drugega, da se USB vmesnik na tej plošči aktivira. V shemi pa nisem našel ničesar. Omeniti moram, da je ista knjižnica delovala pravilno, takšna kot je bila dobavljena, ko sem jo uporabil na svojem 4D Systems ESP32-P4-70CT zaslonu. Ker nimam veliko izkušenj z USB-OTG na mikrokontrolerjih ESP32, ne bi obupal nad USB-OTG vtičnico zgolj zaradi svojih omejenih izkušenj.
V prodajni brošuri ViewE sta omenjena vmesnik RS485 UART in CAN vodilo. Vendar na shemi ne vidim nobenega znaka za čip gonilnika RS485. Na plošči je sicer 4-pin UART konektor, vendar je neposredno povezan z mikrokontrolerjem ESP32C6, vgrajenim v modul VIEWE ESP32-P4-Core, in je verjetno namenjen za programiranje mikrokontrolerja ESP32C6.
Ta plošča vsebuje RGB LED WS2812, priključen na GPIO35. Arduino knjižnica »Freenove WS2812« je sicer pogosto uporabljena, vendar se ne prevaja za ESP32P4 zaradi sklicevanja na periferno napravo RMT. Tudi večina drugih knjižnic za WS2812 uporablja blok RMT za ESP32. ESP32P4 ima periferno napravo RMT, vendar paket podpore za Arduino ESP32 plošče podjetja Espressif očitno ne vključuje bloka RMT za ESP32P4.
Ta plošča vsebuje 6-osni MEMS IMU QM18658A na naslovu I2C 0x6A. Na spletni strani ViewE na GitHubu je na voljo primer v formatu Espressif IDF z imenom »03-attitude«. Knjižnica za Arduino za to IMU je na voljo na naslovu:
QMI8658 – Arduino Libraries
QM18658_Basic.ino primer deluje, če spremenite vrstico 37 takole:
bool success = imu.begin(7, 8);
// SDA is 7 , SCL is 8 on ViewE board
Ta plošča vsebuje CH340C čip za pretvorbo med USB in UART. Zato v meniju »Arduino Tools« nastavite možnost »USB-CDC on Boot« na »Disabled«. S tem boste omogočili, da standardni ukazi Serial.print() pošiljajo podatke v program za serijski terminal na vašem računalniku.
To razvojno ploščo bi priporočil, če vas zanima priključevanje »hat« razširitvenih modulov za Raspberry Pi in/ali če imate izkušnje z Espressif IDF.
M5Stack TAB5
Ta razvojna plošča je opremljena s 5-palčnim DSI zaslonom na dotik z ločljivostjo 1280 x 720 in je vgrajena v plastično ohišje. Vsebuje številne dodatne perifernih čipe, ki presegajo tiste, ki jih najdemo na samem ESP32P4. Ohišje je zasnovano tako, da omogoča vgradnjo izbirnega LiPo akumulatorja, kar ceno poveča le za 5 €. Akumulator z napetostjo 7,4 V in kapaciteto 1900 mAh pa vendarle štrli iz zadnje strani ohišja. Ko sem prejel TAB5, sem spoznal, kako bogata s funkcijami in vsestranska je ta naprava – kar pomeni, da bo za njeno ustrezno predstavitev potreben še en celoten članek. Preberite si naslednjo številko revije Svet Elektronike, da boste izvedeli, kaj sem odkril.
