wtorek, 1 maja 2018

ESP32 - czy warto?

Wyścig trwa. Jeszcze ESP8266 wciąż zachwyca swoimi możliwościami w stosunku do śmiesznie niskiej ceny a już ESPRESSIF promuje swój kolejny mikrokontroler - ESP32. Nam pozostaje do rozwiązania dylemat - zamienić dobrze znany ESP8266 na coś nowszego czy zaczekać aż nowa platforma okrzepnie i pozbędzie się nieuniknionych błędów wieku młodzieńczego? Dziś pierwsze spotkanie z nowym chińskim procesorem.









Czy warto porównywać oba mikrokontrolery. Można choć moim zdaniem nie ma to większego sensu. Wiadomo, że ESP8266 to była pierwsza (udana) próba wejścia na dość hermetyczny do tej pory rynek procesorów i wykrojenia z tego rynku możliwie dużego kawałka tortu. Chińczyki poupychali do ESP to co mieli technologicznie pod ręką i zalali rynek śmiesznie tanim procesorem z przyzwoitymi możliwościami. Są trzy niewątpliwe źródła tego sukcesu: procesor z pełnym sprzętowym WiFi za 1$, cały typoszereg modułów z ESP8266 do natychmiastowego wykorzystania autorstwa Ai-thinker i programowanie procesora przez Arduino IDE. Reszty dokonali hobbyści elektroniki włączając ten mikrokontroler praktycznie z marszu do swoich projektów. Gdyby nie ESP8266 Arduino wciąż tkwiłoby w XXw ze swoją przedpotopową kartą Ethernet jako łączem do Internetu. ESP zmienił świat elektroników - profesjonalna łączność bezprzewodowa jest dziś dostępna praktycznie dla każdego.

ESP32 to bez wątpienia wynik nauki i doświadczeń rynkowych zebranych ze sprzedanych setek milionów szt. ESP8266. Porównując oba procesory nie widać jakiejś oszałamiającej różnicy



Trochę szybszy, trochę więcej pamięci trochę więcej protokołów. Ale różnice są i to istotne.
Wymieńmy kilka

  • Bluetooth i BLE w wersji 4.2
  • 3 sprzętowe UART
  • 18 ADC 12 bitowe
  • 2 DAC 8 bitowe (i 16 PWM)
  • Ethernet 10/100

To już jest coś.
Wracając do źródła sukcesu ESP8266 trzy podstawowe elementy dla ESP32 wyglądają tak

  • cena kości ok 2,5$ 
  • cena modułu 5-7$ ale gama dostępnych modułów jest jeszcze niewielka
  • Arduino IDE obsługuje ESP32 choć są problemy z niektórymi funkcjami
Nabyłem drogą kupna moduł w cenie 4,7$.  Jak piszą jest to WEMOS LOLIN32 Lite V1.0.0 



To najtańszy w tej klasie układ umożliwiający budowę własnego urządzenia bez potrzeby dodawania jakichkolwiek elementów niezbędnych do działania mikrokontrolera. Nie jest to niestety szczyt elektronicznej elegancji ale działa. Schemat płytki znalazłem tu  >>>>

Po podłączeniu do portu USB widać, że załadowano do niego ulubiony program BLINK a na monitorze seriala pojawia się sympatyczny napis



ESP32 i Arduino IDE


Pliki dla ESP32 instaluje się nieco inaczej niż dla ESP8266. Na GitHubie jest pełna instrukcja jak to zrobić ale .... każą sobie wgrać swój program GIT do obsługi reposytorium. Nie lubię transakcji wiązanych więc robię to po swojemu.

  • Ze strony https://github.com/espressif/arduino-esp32 ściągamy paczkę plików  w formacie .zip (zielony przycisk Clone or Download).  
  • Rozpakowujemy gdzieś
  • Tworzymy w folderze /hardware katalogu Arduino podkatalog /espressif/esp32

  • Do podkatalogu /esp32  przenosimy zawartość rozpakowanego pliku z GitHuba



  • Wchodzimy do katalogu /tools i uruchamiamy program get.exe



Program get.exe ściąga i rozpakowuje jakieś dodatkowe pliki. Trwa to dłuższą chwilę i nie ma co się denerwować - okno programu będzie się powoli zapełniało kolejnymi komunikatami z działania aplikacji.



To w zasadzie wszystko ale paczka pliku .zip nie zawiera w sobie zawartości katalogu /library/BLE  co przy próbie wybrania procesora ESP32 w Arduino IDE będzie generowało raport o błędach w tej bibliotece. Biblioteka dla BLE stworzona jest przez Niela Kolbana i znajduje się u niego na GitHubie. Należy więc ręcznie przenieść zawartość plików do naszego katalogu /BLE. Robimy to tym samym zielonym przyciskiem Download, rozpakowujemy i umieszczamy gdzie należy.


Teraz już można otworzyć Arduino IDE i poszukać w ustawieniach modułu ESP32 - dla mojego modułu będzie o jakiś WEMOS



No to wgramy swój BLINK (wewnętrzny LED jest na porcie GPIO22). I..........?????

DZIAŁA!!!

A więc ciągu dalszego należy się spodziewać (niewątpliwie).

Przydatne linki

http://txapuzas.blogspot.com/2018/01/introduccion-esp32-lolin32-lite.html
https://www.geekstips.com/esp32-review-idf-programming-tutorial/
https://github.com/itsjustvenky/ESP32/blob/master/Itag-Alert-esp32.cpp
https://github.com/jarkko-hautakorpi/iBeacon-indoor-positioning-demo
133

Brak komentarzy:

Publikowanie komentarza