ESP32
ESP32 on Shanghaissa toimivan kiinalaisen Espressif Systemsin järjestelmäpiiri/mikrokontrolleri, joka sisältää ominaisuudet langattomien Wifi- ja Bluetooth-yhteyksien toteuttamiseen. ESP32:sta on malleja, jotka tukevat myös muita langattomia radioverkkoja, kuten ZigBee, Thread, IEEE 802.15.4/LR-WPAN tai LoRa. ESP32-laite toteutetaan tyypillisesti moduulina, jossa mikrokontrolleri liitetään piirilevylle, johon on painettu antenni ja liitetty esim. 4 megatavua Flash-muistia ja erilaisia liittimiä ja mahdollisesti näyttö. ESP32:n pinout-diagrammi on tärkeä komponenttien oikean kytkennän ja ohjelmoinnin kannalta. Piirin eri pinnit on suunniteltu monikäyttöisiksi, ja ne tukevat mm. digitaalisia ja analogisia tuloja, I2C, SPI, UART, PWM ja muita liitäntöjä. ESP32:n GPIO-pinnit voivat toimia eri rooleissa riippuen siitä, miten ne on määritelty. Tarkempi katsaus pinout-diagrammiin auttaa suunnittelijoita optimoimaan käytettävissä olevien resurssien hyödyntämisen. [1]
ESP32-perheeseen kuuluu monia mikrokontrollereita, joissa suorittimena käytetään Tensilican (nykyisin osa Cadence Design Systemsia) 32-bittistä Xtensa LX6 -suoritinta kahdella suoritinytimellä ja korkeintaan 240 MHz kellotaajuudella.
ESP32:n myöhemmissä malleissa ESP32-C3, ESP32-C6 (Wi-Fi 6, Bluetooth 5, Thread/ZigBee)[2],
ESP32-H2 (IEEE 802.15.4 LR-WPAN, Bluetooth 5)[3]
on siirrytty käyttämään RISC-V-prosessoria.
Espressifin mikrokontrollit nousivat suosioon ESP32:n edeltäjän ESP8266:n aikoihin elokuussa 2014, kun rakentelijoille laitteita tekevä Ai-Thinker julkaisi siihen perustuvan ESP-01-moduulin. Laite mahdollisti kytkemisen langattomaan verkkoon helppoja AT-komentoja käyttäen. ESP8266 on hyvin samanlainen kuin ESP32 ja sisältää Tensilican prosessorin, mikrokontrollereille tyyppisiä liitinpinnejä, antennin, balunin, vastaanotto- ja lähetinsignaalivahvistimen, signaalisuodattimet ja virranhallinnan yhdellä piirilevyllä.[4] Tosin ESP8266 käyttää yksiytimistä suoritinta tyypillisesti 80 MHz kellotaajuudella ja tukee vanhempaa Wifi-standardia eikä Bluetoothia ja sisältää vähemmän liittimiä ja sensoreita.[5] [6]
Xtensa LX6 -suoritinta käyttävissä ESP32:n malleissa on 32-bittinen prosessori 4 gigatavun muistiavaruudella ja 520 kB SRAM-muistia ja 448 kB ROM-muistia ja kaksi 8 kB muistilohkoa RTC-kellon käyttöön. Lisäksi piirilevylle voi lisätä ulkoista muistia, joka voidaan mapata prosessorin muistiavaruuteen. Suorittimen ytimet on jaettu PRO_CPU ja APP_CPU-ytimiksi, joista toinen on käyttäjän ohjelmien käyttöön tarkoitettu. Suoritin sisältää tuen mm. SPI, I2C, UART, Ledin ja moottorin ohjaus-PWM, TWAI (Twowire Automotive Interface) -väylille, sisäisen ohjauspiirin korkeintaan kahdelle Secure Digital, MultiMediaCard ja CE-ATA-muistikortille, Ethernet-tuen MAC-tasolle asti ilman fyysistä kontrolleria, AES, RSA ja SHA-salauksien kiihdytyksen, satunnaislukugeneraattorin, muistinsuojauksen, moniajon ja prosessien hallinnan. Laitteessa on erikseen ULP (ultra-low-power) -apuprosessori, jolloin pääsuorittimet voi sammuttaa virran säästämiseksi.[7]
Sisäänrakennettu säilytystila
[muokkaa | muokkaa wikitekstiä]ESP32 sisältää seuraavan integroidun muistin:[8]
Muistin | koko |
---|---|
SRAM | 520 Kibit |
Flash-muisti | 448 Kibit |
NVRAM | 16 Kibit |
Ohjelmistotuki
[muokkaa | muokkaa wikitekstiä]ESP32:lle on olemassa virallinen Espressifin IoT Development Framework (ESP-IDF).[9]
Arduino IDEen voi asentaa lisäosan, joka kääntää ESP32:lle.
Lisäksi on olemassa ohjelmistoja kuten MicroPython ja NodeMCU (aiemmin NodeLua), jotka piirille asentamalla voi ohjelmoida Python ja Lua-kielillä.
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ A Comprehensive to ESP32 Pinout Diagram www.xecor.com. Viitattu 27.9.2024.
- ↑ ESP32-C6 Wi-Fi 6 & BLE 5 & Thread/Zigbee SoC | Espressif Systems www.espressif.com. Viitattu 15.11.2023.
- ↑ ESP32-H2 Thread/Zigbee & BLE 5 SoC | Espressif Systems www.espressif.com. Viitattu 15.11.2023.
- ↑ ESP8266 Wi-Fi SoC | Espressif Systems www.espressif.com. Viitattu 15.11.2023.
- ↑ ESP32 vs ESP8266, Which is Better and How to Choose? Embedded Technology Information EmbedIc www.embedic.com. Viitattu 15.11.2023.
- ↑ ESP32 vs STM32: Which is Better and How to Choose 2024 www.lisleapex.com. Viitattu 24.5.2024.
- ↑ ESP32 Technical Reference Manual
- ↑ jameswilson: ESP32 Pinout, Datasheet, Features & Applications - The Engineering Projects www.theengineeringprojects.com. 16.12.2020. Viitattu 23.7.2024. (englanti)
- ↑ IoT Development Framework I Espressif Systems www.espressif.com. Viitattu 15.11.2023.