Strona 1 z 1

ESP8266 - pierwsze starcie

: niedziela 28 sty 2018, 12:09
autor: Marcin
Mam problem z uruchomieniem esp8266. Do testów użyłem esp12e, z komputerem połączony poprzez ft232rl. Połączenie skrosowane, a więc linia txd w esp połączona z linią rxd w ft232rl, linia rxd w esp połączona z linią txd w fr232rl.

Po otwarciu portu w terminalu wyświetla krzaczki, próbowałem na różnych prędkościach ale bez zmian.

Przechwytywanie.PNG


Ma ktoś jakiś pomysł co jest nie tak ?

Re: ESP8266 - pierwsze starcie

: niedziela 28 sty 2018, 13:08
autor: squeez
na początku jest bootowanie i wypluwane są informacje o tym procesie z tym że to jest na dość dziwnej prędkości potem uruchmiany jest soft jaki jeest tam wgrany i konfigurowana predkość docelowa. zależy jaki masz wgrany soft ale zazwyczja jesy to 1115200 albo 9600

jeśli nie widzisz po bootowaniu normalnych info o wersji firmware itp, to pewnie nie uruchamia się soft. jak masz gpio podłączone GPIO0 i GPIO2 pin RST i CHE

Re: ESP8266 - pierwsze starcie

: niedziela 28 sty 2018, 19:08
autor: Marcin
Ok, poszło ale na na innym module (esp07) Teraz mam dwa moduły pracujące w trybie klient, oba podłączone do mojej domowej wifi.

Teraz męczę się z wysłaniem danych z jednego do drugiego esp. Ustanowiłem połączenie między dwoma esp. Niestety komenda AT+CIPSEND zwraca mi błąd.

Ktoś może podać jakieś wskazówki ?

Re: ESP8266 - pierwsze starcie

: niedziela 28 sty 2018, 22:25
autor: Marcin
Udało mi się nawiązać komunikację miedzy dwoma esp8266 i przesłać parę bajtów.
Póki co temat można uznać za zamknięty.

Dla potomnych tak w skrócie:

Uruchomienie serwera na pierwszym ESP.

Ustawiamy obsługę wielu połaczeń wysyłając do naszego pierwszego esp komendę AT+CIPMUX=1
Uruchamiamy serwer (u mnie na porcie 80) wysyłając do pierwszego esp komendę AT+CIPSERVER=1,80

Drugi ESP

W najprostszej konfiguracji gdzie jest obsługa jednego połączenia (CIPMUX=0) na kliencie

Nawiązujemy połączenie z pierwszym esp pracującym jako serwer wysyłając komendę AT+CIPSTART="TCP","ip",port (oczywiście ip i port podajemy wg własnego aktualnego stanu) Ważne, TCP oraz IP muszą być w nawiasach.
Zaczynamy transmisję danych wysyłając do esp komendę AT+CIPSEND=x gdzie x to ilość bajtów jakie będą wysłane.
Następnie wysyłamy naszą daną składającą się z x bajtów.
Po zakończeniu transmisji można można zamknąć połaczenie wysyłając do esp AT+CIPCLOSE

Po nawiązaniu połączenia istnieje możliwość wysyłania danych nie tylko z klienta do serwera, ale również odwrotnie. W związku z tym że serwer pracuje w trybie wielu połączeń komendy AT+CIPSEND oraz AT+CIPCLOSE należy uzupełnić o numer sesji, AT+CIPSEND=NrSesji,x oraz AT+CIPCLOSE=NrSesji.

Po stronie serwera widzimy odebrane dane poprzedzone nagłówkiem +IPD,0,7:TESTPOL gdzie 0 to numer kanału a 7 to długość odebranej danej, następnie za dwókropkiem to dana wysłana od klienta.

Może jak ukończę swój projekt to napiszę coś więcej.