Jedną z najciekawszych funkcji jakie można wykorzystywać w projektach Arduino jest możliwość udostępniania wyników działania układów w sieci Internet. Umożliwiają to moduły transmisji przewodowej i bezprzewodowej WiFi. Poniżej przedstawiam testy układu ESP8266 (ESP-01) wykorzystującego magistralę UART. Większość informacji zaczerpnięto z 3 filmów dotyczących rzeczonego modułu dostępnych na kanale YT ElektroPrzewodnik.
Transmisja UART polega na szeregowym przesyłaniu bitów pomiędzy urządzeniami. W systemie ARDUINO za transmisję odpowiadają:
We współczesnych systemach komputerowych stadardem komunikacji pomiędzy urządzeniami jest USB. Dlatego konieczne jest stosowanie konwerterów UART <-> USB. Korzystając z Arduino nie trzeba się o to martwić. Konwerter taki został w niego wbudowany. Niestety takich konwerterów pozbawione są różne mniejsze układy wykorzystujące ten rodzaj transmisji np. popularny moduł WiFi ESP8266 (ESP-01). Więcej o UART.
Przed przystąpieniem do pracy z układem WiFi ESP8266 (ESP-01), należy:
Sterowniki konwertera USB-UART CP2102 pobieramy ze strony i instalujemy je na komputerze. Po instalacji konwerter będzie wykrywany przez system operacyjny jako wirtualny port COM (Fig. 1)
Programowanie modułu WiFi ESP8266 wymaga zmontowania układu Fig. 2. Szczególną uwagę należy zwrócić na podłączenie pinu GPIO0
do masy, co wprowadza moduł w tryb programowania.
Po zainstlowaniu sterowników konwertera i zmontowaniu układu z Fig. 2, można przystapić do pobrania paczki zawierającej odpowiednią wersję oprogramowania układu ESP8266. Pobieramy ją ze strony. Paczkę należy wypakować (Fig. 3), a następnie uruchomić plik wykonywalny XTCOM_UTIL.exe
Po uruchomieniu programu, ukaże się główne okno aplikacji programatora układu ESP8266 (Fig. 4).
Przed przystąpieniem do wgrywania do pamięci Flash układu ESP8266 nowego oprogramowania, należy zadbać o prawidłowe skonfigurowanie połączenia układu ESP8266 z konwerterem USB-UART. W tym celu przechodzimy do menu głównego > Tools(T) > Config Device
(Fig. 5).
Jak widać na Fig. 5, użytkownik ma możliwość skonfigurowania portu połączenia (COM No.) i prędkości przesyłania danych (Baud Rate). W menu rozwijanym COM No. program umożliwia konfigurację sześciu portów (COM1-COM6). Nasz konwerter (w tym przypadku) domyslnie został podłączony do portu COM10 (Fig. 1), dlatego musimy wrócić do konfiguracji portu konwertera CP2102 i zmienić go na dowolny dostępny port COM z zakresu 1-6. Wracamy do menagera urządzeń systemu Windows. W menu Ports (COM & LPT) odnajdujemu nasz konwerter CP210x USB to UART Bridge Controler (COM10), wchodzimy do jego właściwości: > Properties > Port Settings > Advanced...
i zmieniamy COM Port Number na dowolny wolny port z zaresu COM1-COM6. W opisywanym przypadku wybrano COM2 (Fig. 6).
Zmiana w systemie Windows zostanie uwzględniona po odpięciu i ponownym podpięciu konwertera do komputera (Fig. 7).
Teraz należy powrócić do oprogramowania układu ESP8266 - XTCOM UTILITY (Fig. 5) i ustawić port COM na zgodny ze stanem faktycznym (w tym przypadku na COM2). Prędkość "Baud Rate" należy pozostawić bez zmian na poziomie 115200 bodów. Po dokonanej zmianie należy otworzyć port przy pomocy przycisku OPEN. Jeśli wszystko przebiegło poprawinie, oprogramowanie powinno otworzyć okno z komunikatem "Operation Succeded!". Można już przystąpić do testu połączenia z komputera z układem ESP8266 za pomocą polecenia "Try to connect times". W tym celu naciskamy przycisk "Connect". Jeżeli wszystko przebiegło poprawnie i połaczenie zostało nawiązane, wyświetlony zostanie okno dialogowe z komunikatem (Fig. 8).
Teraz można przystąpić do wgrania do pamięci flash układu ESP8266 wcześniej pobranej wersji oprogramowania. Program znajduje się w pliku ESP8266 v0.9.5.0 AT Firmware.bin
(Fig. 3). W tym celu, z menu głównego należy wybrać > API TEST(A) > (4) Flash Image DownLoad
. Wybieramy ścieżkę dostępu do pliku ESP8266 v0.9.5.0 AT Firmware.bin
i naciskamy przycisk DownLoad (Fig. 10).
Postęp wgrywania jest wyświetlany na pasku postępu. Samo wgrywanie trwa kilka chwil. Podczas procesu migają diody LED konwertera CP2102 i modułu ESP8266. Zakończenie procesu wgrywania jest zgłoszone odpowiednim komunikatem. Jeżeli wszystko przebiegło pomyślnie, możemy odłączyć pin GPIO0
od masy i przystąpić do testowania działania modułu WiFi ESP8266.
Komunikacja z modułem WiFi ESP-01 (cz. 2/3).