Ta strona używa ciasteczek (cookies), dzięki którym możliwe jest między innymi poprawne wyświetlanie elementów strony, zapamiętywanie sesji użytkowników. Dodatkowo na stronie znajduje się skrypt Google Analytics oraz PIWIK (statystyki oglądalności). Znajdują się również skrypty przycisków serwisów społecznościowych Facebook, Twitter i Google+ oraz YouTube, które również mogą zapisywać ciasteczka.

ESP8266 część 1

W dzisiejszym świecie komunikacja bezprzewodowa jest tak powszechna że nikogo już nie dziwi. Różnorodne komercyjne urządzenia z których korzystamy na co dzień korzystają z niej bezustannie. Przychodzi więc w końcu taki moment że i w naszych amatorskich konstrukcjach chciałoby się z komunikacji bezprzewodowej skorzystać. Do wyboru mamy IR, radio, Bluetooth, sieci GSM no i oczywiście Internet. Tej ostatniej właśnie będzie dotyczył ten cykl poradników. Mam nadzieję że cykl ;)

Do niedawna jeszcze aby skorzystać z dobrodziejstwa internetu w komunikacji z naszymi urządzeniami trzeba było użyć specjalnych przejściówek podłączających je do sieci po kablu. A więc o bezprzewodowości nie mogło być mowy. Jednak ostatnimi czasy coraz bardziej powszechne, a co najważniejsze dostępne cenowo, stają się moduły WIFI. Na rynku jest sporo różnych modułów które możemy wykorzystać do komunikacji bezprzewodowej. Jak prześledzić internet, to dość sporą popularnością cieszą się ostatnio moduły oparte na układzie ESP8266 firmy Espressif. Głównym powodem takiego stanu rzeczy jest chyba niska cena za jaką można taki gotowy moduł z tym układem zakupić. Np. ESP-01 kosztuje w Polsce około 25 zł, a jak nie zależy nam na czasie to możemy identyczny moduł zakupić w Chinach za niecałe 3 Euro wraz z wysyłką. Samych modułów też mamy duży wybór. Różnią się one między sobą głównie rodzajem anteny oraz ilością dostępnych wejść / wyjść. Szczegółowe informacje można znaleźć na tej stronie

Osobiście zakupiłem moduły ESP-01 oraz ESP-07, wyprodukowane przez AI-THINKER. 

adapter ESP 01

adapter ESP01

Pierwszy umożliwia prawie że natychmiastową zabawę, bo ma już wyprowadzone goldpiny w rastrze 2,54. Z racji jednak że są one obok siebie w dwóch rzędach, musimy zmajstrować adapter który umożliwi używanie modułu na płytce stykowej. Dzięki takiemu adapterowi wykonanemu z gniazda 2 x 4 na goldpiny, można wpiąć moduł w płytkę stykową w taki sam sposób jak montuje się układy scalone. Jak widać na zdjęciach moduł ma antenę na PCB bez możliwości podpięcia anteny zewnętrznej. 

Drugi zaś moduł, ESP-07, jest sprzedawany na płytce gdzie układ ESP8266 jest ekranowany, z ceramiczną anteną oraz z gniazdem umożliwiającym podłączenie anteny zewnętrznej i oczywiście z większą ilością wyprowadzonych GPIO niż ESP-01. Zabawę utrudnia jedynie raster wyprowadzeń całego układu, wynosi on 2 mm. Trzeba więc trochę bardziej się napracować przy wykonaniu adaptera. Można co prawda kupić gotowy adapter, ale jak dla mnie ma on jedną wadę. Mianowicie zajmuje całą szerokość płytki stykowej, a to oznacza że aby podpiąć się pod wyjścia GPIO modułu, trzeba będzie grzebać pod adapterem, pod warunkiem że zamontuje się go na odpowiednio długich goldpinach a nie na standardowych. Zrobiłem więc sobie taki adapter sam. Rozstaw goldpinów wynosi około 23,5 mm, dzięki czemu po włożeniu adaptera do płytki stykowej zostaje z każdej strony wolny jeden rząd wejść na zewnątrz, można więc bez problemu podłączać się pod GPIO modułu. Dodatkową jeszcze zaletą jest gniazdo umożliwiające podłączenie konwertera ( dzięki Jacek za pomysł :) ), do komunikacji z ESP8266 wykorzystując protokół UART. W ten sposób ograniczone zostały połączenia przewodami na stykówce pomiędzy ESP-07 a konwerterem. 

adapter ESP 07

adapter ESP07

ESP 07 adapter

 

 

 

 

 

 

 

 

 

 

 

 

 

Jak widać na ostatnim obrazku, adapter ma już połączone wyjścia TX, RX modułu ESP8266 z wyjściami konwertera RX, TX. Oczywiście masy konwertera i ESP8266 są również ze sobą połączone. Zasilanie każdego z układów w adapterze jest niezależne. Zdjęcia ze wzorem płytki można użyć do samodzelnego wykonania tego adaptera.

Wspomniałem o konwerterze USB-UART. Jest on niezbędny do pierwszej konfiguracji i komunikacji z modułem ESP8266.

ftdi323 adapter2

Na Macu dobrze sprawdza się konwerter oparty o układ FTDI232, widoczny na zdjęciu. Bez problemu można go kupić na znanym portalu aukcyjnym. Zaletą tego konwertera jest to, że na system OS X firma FTDIChip dostarcza oficjalne sterowniki, które znajdziemy na ich stronie. Wystarczy pobrać plik i uruchomić dostarczony instalator. Po zakończonej instalacji wykonujemy restart systemu, podłączamy konwerter do portu USB, bez podłączenia port nie zostanie aktywowany, i w terminalu wpisujemy polecenie:

ls /dev/cu.*

Ma ono na celu upewnienie się że sterownik działa i że konwerter jest widoczny w systemie. Jeśli wszystko jest w porządku, wśród wypisanych w terminalu portów powinien być port: usbserial-(w tym miejscu numer seryjny konwertera). Dodam, że do podłączenia konwertera z komputerem należy użyć "pełnego" przewodu USB. Pisząc "pełnego", mam na myśli taki który obsługuje nie tylko zasilanie ale i również przesył danych, czyli przewody od ładowarek raczej odpadają. Od strony programowej potrzebujemy jeszcze programu który umożliwi nam komunikację z modułem WIFI wykorzystując UART. Mi przypadł do gustu CoolTerm. Program łatwy w konfiguracji i idealnie spełniający swoje zadanie.

Mając więc konwerter USB-UART, zainstalowane do niego sterowniki oraz moduł z układem ESP8266, możemy przejść do konkretów.

Na początek ważna informacja dotycząca zasilania. ESP8266 wymaga napięcia 3,3V i najlepiej aby było to stabilne i pewne 3,3V. Gdy pierwszy raz podłączyłem zasilanie do modułu WFI, zrobiłem to w sposób taki że doprowadziłem zasilanie do bocznych szyn zasilających na stykówce a dopiero z nich do modułu. Czerwona dioda sygnalizująca zasilanie modułu co prawda się zapalała, ale nawiązanie komunikacji z modułem było niemożliwe. Sporo czasu straciłem zanim wpadłem na to, że być może przyczyną braku komunikacji jest zasilanie. Po zmierzeniu napięcia na module okazało się że dociera do niego około 2,8V, reszta gdzieś zginęła na stykówce. Rozwiązaniem okazało się podłączenie napięcia bezpośrednio do pinów zasilania w adapterze i moduł zaczął prawidłowo działać. Tak więc jakość zasilania jest bardzo ważna, dlatego należy dostarczyć zasilanie do modułu z jakiegoś stabilizowanego źródła. Kolejna istotna sprawa to wartość napięcia na liniach TX i RX, nie może być wyższe niż 3,3V. Korzystając z wspomnianego wcześniej konwertera, na marginesie dodam że jest on dwunapięciowy (3,3V i 5V), należy przestawić zworkę pod układem FTDI232 w pozycję 3,3V. Jeśli posiadasz już konwerter USB-UART a nie ma on możliwości wyboru napięcia na jakim pracują linie TX i RX, będziesz musiał użyć konwertera stanów logicznych jeśli napięcie na tych liniach przekracza 3,3V. Bez problemu można go zakupić, ewentualnie zrobić samemu. Podsumowując więc, napięcie zasilania ESP8266 max 3,3V i napięcie na liniach TX i RX również max 3,3V.

Zaczynamy więc od podłączenia ESP-01. Pin VCC podłączamy do 3,3V, pin GND do masy, pin RX modułu do pinu TX konwertera, pin TX modułu do pinu RX konwertera, pin CH_PD (czasami opisany jako EN) do 3,3V. Uruchamiamy CoolTerm, z menu lub z toolbara wybieramy "Connection -> Options..." i dokonujemy zmian tylko w dwóch pozycjach. W "Port" ustawiamy port który obsługuje nasz konwerter, pamiętając że konwerter musi być podłączony do komputera aby port był aktywny a co za tym idzie widoczny, i druga zmiana to "Baudrate" gdzie ustawiamy wartość 115200. Nic więcej nie zmieniamy i naciskamy "OK". W celu nawiązania połączenia z modułem naciskamy ikonę "Connect". Z racji że CoolTerm jest tekstowym terminalem do obsługi portów serial, nie zostanie wyświetlony żaden komunikat o nawiązaniu połączenia z modułem, jak i nie zostaną odczytane automatycznie żadne informacje z modułu. Po prostu przestaną ukazywać się kolejne kropki w oknie tekstowym terminala. Chcąc się upewnić że połączenie zostało prawidłowo nawiązane wpisujemy z dużych liter polecenie:

AT

i naciskamy Enter. Powinnien zostać wyświetlony komunikat: OK Oznacza on że komunikacja przebiega prawidłowo. Możemy więc teraz za pomocą komend "AT" odczytywać informacje z modułu jak i go konfigurować. Listę dostępnych komend można znaleźć w internecie.

Moduł ESP-07 podłączamy w identyczny sposób jak ESP-01 z tą różnicą że dodatkowo do masy podpinamy pin GPIO15. 

Drukuj

Dodaj komentarz

Kod antyspamowy
Odśwież