Moduł ESP32 jest zgodny mechanicznie ze standardem XBee, co ułatwia zastosowanie w szeregu płytek uruchomieniowych wyposażonych w zgodną podstawkę, m.in.: Raspberry Pi (AVT1854 z EP 6/2015), Launchpad (AVT5476 z EP 11/2014), Arduino i inne. Układ ESP32 uzupełnia zestaw modułów komunikacyjnych przedstawiony w EP 9/2015 (kity AVT5513). Moduł obsługuje standardy Wi-Fi i Bluetooth, a dzięki wydajnemu CPU ułatwia kompleksową realizację rozwiązań IoT. Układ ma wsparcie programowe udostępnione przez producenta ESP-IDF (Espressif-IoT Development Framework) oraz dla miłośników Arduino przez ESP32 Arduino Core, dzięki któremu integruje się w środowisku. Schemat ideowy modułu pokazano na rysunku 1.
Komunikacja z modułem odbywa się poprzez port szeregowy DIN/DOUT. Możliwe jest wykorzystanie kilku pinów GPIO wbudowanego procesora (np. w aplikacjach samodzielnych, bez zewnętrznego procesora). Przycisk EN umożliwia restart modułu, BOOT wprowadza moduł w tryb programowania. Zwora BTON dubluje działanie przycisku, gdy programowanie będzie wymagało dłuższego przytrzymania. Układ zasilany jest napięciem 3,3 V i w tym standardzie powinny być także sygnały GPIO.
Moduł z ESP32 zmontowano na dwustronnej płytce drukowanej, której schemat montażowy pokazano na rysunku 2. Po montażu należy zewrzeć kroplą cyny zwory testowe (Bottom layer) 1 z 2 oraz 3 z 4. Dla szybkiego sprawdzenie poprawności działania modułu ESP32 możemy podłączyć go z płytką bazową konwertera XBee_PC (lub dowolną USB/Serial zgodną z CMOS 3,3 V oraz zasilaczem 3,3 V/300 mA). Do komunikacji z ESP będzie potrzebny terminal znakowy. Po ustawieniu parametrów transmisji 115200, 8, n, 1 (CR+LF) i połączeniu z modułem układ ESP32 zgłasza się wbudowaną aplikacją Soft_AP i po pomyślnym bootowaniu potwierdza ten fakt w terminalu za pomocą komunikatu:
!!!ready!!!
mode : softAP(26:0a:c4:03:31:d0)
dhcp server start:(ip: 192.xxx.xxx.1, mask: 255.xxx.255.0, gw: 192.xxx.xxx.1)
+WIFI:AP_START
Pełni przy tym funkcje punktu dostępowego, z którym można nawiązać połączenia za pomocą dowolnego urządzenia Wi-Fi (rysunek 3), co świadczy o poprawnym działaniu modułu. Dalsze działania zależą od preferowanego środowiska, należy tylko pamiętać o „ręcznym” wprowadzeniu modułu w tryb programowania przez naciśnięcie przycisku EN i założenie zwory BTON lub przytrzymanie przycisku BOOT i puszczenie przycisku EN, co potwierdzone jest w terminalu (rysunek 4). Po wgraniu aplikacji, należy zdjąć zworę BTON i zrestartować moduł. Jeżeli wszystko wstępnie zadziałało, nie pozostaje nic innego, jak przejście do zbudowania własnego urządzenia dostępnego z całego świata!
Adam Tatuś, EP