O ESP32 a doske FireBeetle 1.
- January 18 2018
- ESP32, ESP8266, NodeMCU , Wemos, RTLDuino...
- 3255x Přečteno
IOT aplikácie novej generácie
O ESP32 a doske FireBeetle 2 - I2S a Bluetooth: https://chiptron.cz/articles.php?article_id=183
Po tom, ako sa v auguste 2014 dostali na verejnosť prvé moduly ESP-01 využívajúce mikrokontroléry ESP8266 od firmy Espressif Systems, si tento chip získal priazeň mnohých hackerov, makerov a bastlérov. Najmä kvôli jeho nízkej cene, dostupnosti a vysokému výkonu sa stal tento obvod akýmsi štandardom v oblastiach IOT aplikácií. Postupom času sa komunite podarilo integrovať mikrokontrolér aj do prostredia Arduino IDE, vďaka čomu získal obvod ešte väčšiu popularitu. Obvod obsahuje 80MHz-ový 32-bitový RISC procesor s 64KiB operačnej pamäte, podporuje štandardné periférie ako napr. UART, I2C, I2S, SPI, GPIO, ADC. Program sa ukladá do externej pamäte FLASH, ktorá môže dosahovať veľkosť až 16MiB. Najzaujímavejšou perifériou obvodu je však bezpochyby jeho IEEE 802.11 b/g/n Wi-Fi rádio, ktoré z neho robí dokonalé jadro pre viaceré projekty internetu vecí.
Keďže sa ESP8266 podarilo zožať úspech, firma Espressif Systems vydala novú generáciu čipu pod názvom ESP32. Tento nový model priniesol obrovské množstvo vylepšení oproti predošlej generácií. Tu sú jeho základné parametre:
CPU: Dvojjadrový 32-bitový Xtensa LX6, pracujúci na frekvencií 160 alebo 240MHz so sekundárnym low-power koprocesorom
RAM: 520KiB SRAM
Okrem tohto pribudlo aj mnoho zaujímavých periférií, ako napríklad:
8 kanálové 12-bitové ADC
2 × 8-bitové DAC
10 × kapacitný dotykový senzor
Senzor teploty
4 × SPI
2 × I2S rozhranie
2 × I2C rozhranie
3 × UART
SD/SDIO/CE-ATA/MMC/eMMC host radič
Ethernet MAC rozhranie
CAN bus 2.0
Infrared remote controller (TX/RX, up to 8 channels)
Hall senzor.
Okrem rádia podporujúceho IEEE 802.11 b/g/n ESP32 disponuje aj Bluetoothom verzie v4.2 BR/EDR s BLE.
Ako môžete sami vidieť, jedná sa o naozaj dôležitý generačný skok, ktorý umožňuje vylepšenia už existujúcich systémov, ako aj väčší priestor na realizáciu komplexnejších riešení za rovnako prijateľnú cenu ako u predošlej generácie. Aj tento obvod je distribuovaný na rôznych moduloch, ako napríklad ESP32-WROOM-32.
S daným modulom som sa stretol aj na vývojovej doske s názvom FireBeetle od firmy DFRobot. Na doske sa nachádza okrem spomínaného modulu aj pomocný mikrokontrolér STM32F042F6P6, ktorý slúži ako programátor/debugger pre aplikácie bežiace na hlavnom mikrokontroléri. Ďalšou zaujímavou vecou, ktorou doska disponuje, je kompletný power management pre lítiové batérie vrátane nabíjacieho obvodu. Táto funkcionalita je použiteľná najmä pri prenosných aplikáciách, alebo pri riešeniach, v ktorých je potrebné nepretržite a nezávisle od napájacieho napätia udržiavať systém v prevádzke.
Spojiť dosku s Arduino IDE je celkom jednoduché. Po pripojení dosky cez MicroUSB port ku PC je potrebné pri systéme Windows nainštalovať ovládač, aby bolo možné dosku vidieť ako COM port. Ten nájdeme na Wikipage FireBeetle na stránkach DFRobot. Inf súbor nainštalujeme pomocou dialógu aktualizácie ovládača v správcovi zariadení. Potom je doska viditeľná ako komunikačný COM port.
Do Arduino IDE je potrebné pridať dosku pomocou nasledujúceho postupu, uvedeného na GitHube Espressivu (Inštalácia na systéme Windows). Po sklonovaní repozitáru a stiahnutí najnovšej verzie toolchainu je doska dostupná v zozname Boardov. Potom je možné ju programovať ako akékoľvek Arduino-kompatibilné zariadenie. Jediné čo je potrebné, je už len zvoliť správny COM port a nahrať program.
(poznámka administrátora: DFRobot.com nabízí i vlastní knihovnu pro Arduino IDE, kterou naleznete na tomto odkazu)
V example sketchoch sa nachádza viacero ukážok, ktoré využivajú perifériu BLE ESP32, ako napríklad "BLE_scan" . Po nahratí aplikácie do dosky a zmačknutí tlačítka RST sa aplikácia spustí a v serial monitori je možné vidieť zoznam okolitých BLE zariadení.
V ďalšej časti tejto recenzie si povieme, ako využiť perifériu BLE v kombinácií s I2S zbernicou, čím následne vytvoríme Bluetooth audio interface pre HiFi systémy s Line In vstupom.
Driver:
https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/FireBeetle-ESP32.inf
Github Espressif Link:
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md