Skocz do zawartości
MrShadow

Moduł wifi 8266 ESP-12E yellow board, problem

Pomocna odpowiedź

Witam serdecznie !

Od kilku dni męczę się z podłączeniem do Arduino modułu wifi 8266 yellow board - Moduł . W przypadku połączenia UART bezpośrednio do laptopa za pomocą konwertera, moduł reaguje bez żadnego problemu na zadawane komendy w terminalu portu szeregowego np. "AT". Moduł zasilam z dołączonego koszyka - układ ma stabilizator, pomierzyłem napięcie i rzeczywiście wszystko działa poprawnie. Podłączając wykorzystuję jedynie 3 piny : TX, RX oraz GND z konwertera. Schody zaczynają się przy podłączaniu do Arduino. Kompletnie brak jakiejkolwiek odpowiedzi na zadawane komendy. Do testów wykorzystuję poniższy program:

void setup() 
{
 pinMode(13,OUTPUT);
 pinMode(8,OUTPUT);
 Serial.begin(115200);
}

// the loop function runs over and over again forever
void loop() 
{
 String odebraneDane;
 Serial.print("AT");
 if(Serial.available() > 0) 
 {  
  if(Serial.find("OK"))
  {
  digitalWrite(13,HIGH);
  delay(3000);
  digitalWrite(13,LOW);
  }
 }
else
{
  digitalWrite(8,HIGH);
  delay(3000);
  digitalWrite(8,LOW);
}


delay(3000);
}

W rezultacie, miga jedynie dioda podłączona do pinu 8. Przy transmisji nie zapalają się na płytce żadne diody związane z transmisją danych ( RX , TX ).

Co mogę robić nie tak? Czy ktoś orientuje się, w jaki sposób poprawnie podłączyć to pod Arduino?

Być może jest to sprawa niezaktualizowanego firmware, ale próbując wgrać najnowsze przez XTCOM_UTIL cały czas mam błąd połączenia.

Bardzo proszę o wszelkie rady, próbowałem już chyba wszystkiego. Być może dokonany jest jakiś błąd w napisanym programie, gdyż na co dzień nie programuję Arduino, lecz podejrzewam jednak problem z komunikacją Arduino - moduł.

Pozdrawiam serdecznie, MrShadow

Udostępnij ten post


Link to post
Share on other sites

A możesz napisać jak to masz dokładnie podłączone, jak jest zasilane Arduino, etc.?

Udostępnij ten post


Link to post
Share on other sites

Próbowałem na Pro mini (klon). Płytka zasilana jest z USB za pomocą tego samego konwertera, którego użyłem do podłączania modułu do laptopa (5V) . Podłączałem następująco : TX->RX, RX->TX (na tej płytce to piny 0 - TX, 1-RX), GDN (płytki)-> GND (modułu) , GPIO15 -> GND (modułu).

Zastanawiam się, bo możne spróbować zasilić płytkę bezpośrednio z 3.3V napięciem obniżonym przez stabilizator?

Udostępnij ten post


Link to post
Share on other sites

Czy TX i RX tego konwertera też masz podłączone?

Udostępnij ten post


Link to post
Share on other sites

Ok, opiszę dokładniej połączenie Laptop - moduł wifi.

Konwerter wpięty jest do Laptopa ( USB ), tam w monitorze portu szeregowego w programie Arduino IDE mogę obserwować wysyłane komendy. Druga strona konwertera GND, RX, TX wpięta jest do płytki do odpowiednich pinów ( GND, TX, TX ). Z płytki z pinów (fizycznie inne niż te do których jest podpięty konwerter ) 0 (TX) oraz 1 (RX) - wyprowadzone są kabelki na moduł - RX, TX modułu wifi.

Udostępnij ten post


Link to post
Share on other sites

Port szeregowy ma to do siebie, że łączy tylko dwa urządzenia. Ty masz połączone trzy — to ma prawo nie działać. To, że piny są fizycznie inne nie ma znaczenia, bo są połączone w środku.

Udostępnij ten post


Link to post
Share on other sites

Ok, więc w jaki sposób można ten moduł połączyć z Arduino?

Udostępnij ten post


Link to post
Share on other sites

Odłączając jednocześnie tx i rx od komputera.

Udostępnij ten post


Link to post
Share on other sites

Czyli podłączenie tego w taki sposób

nie jest możliwe?

Udostępnij ten post


Link to post
Share on other sites

Nie widzę powodu, żeby nie miało być to możliwe.

Udostępnij ten post


Link to post
Share on other sites

Dobrze, ale napisałeś, że moduł można podłączyć odłączając RX i TX od komputera. Jak w takim razie będzie przebiegała komunikacja z komputerem? W powyższym filmie pokazany jest Serial Monitor, więc Arduino połączone jest również z komputerem

Udostępnij ten post


Link to post
Share on other sites

W powyższym przykładzie mają dwa porty szeregowe, jeden wbudowany, a jeden software-owy.

Udostępnij ten post


Link to post
Share on other sites

Czyli muszę zmodyfikować kod korzystając z biblioteki Software Serial. Mógłbyś rzucić okiem na ten kod? Dałem zmienną znak, aby wypisać na Serial Monitorze na komputerze chociaż pierwszą literę z danych odbieranych, na 9600 baud zero reakcji, na wyższych wartościach czasem x, czasem jakiś inny znaczek, nie wiem jak poprawnie dobrać te prędkości. I jeszcze jedno pytanie , czy deklaracja SoftwareSerial modul(2,3); jest poprawna? To znaczy, czy nie powinno być 0,1 jeżeli to piny 0 oraz 1? Znalazłem taki schemat pinoutów i tam jest podpisane 2,3 , lecz nie wiem do końca jak to interpretować.

Pinout

#include <SoftwareSerial.h> 
SoftwareSerial modul(2,3); 

void setup()
{
 pinMode(13,OUTPUT);
 pinMode(8,OUTPUT);  
 Serial.begin(9600); 
 modul.begin(115200); 
}

void loop()
{
 char znak;
 modul.print("AT");
 if(modul.available() > 0) 
 {  
  znak = modul.read();
  if(modul.find("OK"))
  {
  digitalWrite(13,HIGH);
  delay(3000);
  digitalWrite(13,LOW);
  }
 }
else
{
  digitalWrite(8,HIGH);
  delay(3000);
  digitalWrite(8,LOW);
}
Serial.print(znak);

delay(3000);

}

Udostępnij ten post


Link to post
Share on other sites

Oczywiście software serial musi być na innych pinach, niż normalny i do tych pinów musisz podłączyć swój moduł. Polecam także użyć mniejszej szybkości — software serial za szybki nie jest. Ewentualnie możesz zrobić odwrotnie i software serial podłączyć do komputera, a normalny do swojego modułu.

Udostępnij ten post


Link to post
Share on other sites

Ok, utworzyłem software seriala, po włożeniu baterii do koszyka otrzymuję następujący ciąg znaków :

"ó#àáP%Ð"°]ãF...". Odłączając piny RX TX i wkładając baterię takie znaki się nie pojawiają, więc oznacza to, że jakaś odpowiedź jest. Niestety nawet przy obu prędkościach ustawionych na 9600 baud otrzymuję takie znaczki. Masz pomysł jak to rozwiązać?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...