ESP8266 - UART - odbiór danych - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Sieciowe Protokoły i Urządzenia (https://forum.arduinopolska.pl/dzial-sieciowe-protoko%C5%82y-i-urz%C4%85dzenia) +--- Wątek: ESP8266 - UART - odbiór danych (/watek-esp8266-uart-odbi%C3%B3r-danych) |
ESP8266 - UART - odbiór danych - spectral - 07-04-2018 Witam. Od kilku dni borykam się z następującym problemem. Chce przesłać char'a z Nucleo do ESP8266 ( posiadam taki model ). Kod od strony Nucleo działa bez zarzutów. Mam problem z ESP. Oto mój kod dla ESP: Kod: #include <SoftwareSerial.h> Kod: #include "mbed.h" GND połączone, TX i RX na przemian, nie mam pojęcia co jest źle. Proszę o pomoc i wskazówkę. Pozdrawiam RE: ESP8266 - UART - odbiór danych - kaczakat - 08-04-2018 Witam. Wywal delay z odbiornika ESP, zdefiniuj softserial na innych pinach niż hardwarowy serial, bo wydaje się, że odpalasz softwarowy na hardwarowym. Niestety te płytki są różnie opisane, na "Wemos D1" są oznaczenia, że D0 i D1 to właśnie RX/TX hardwarowy (taka jest fotka w załączonym linku przez Ciebie), znalazłem też inne, gdzie TX/RX występują obok D0 i D1 - nie wiem czy jako faktycznie inne piny czy jako zdublowane. Najlepiej wgraj program tak by odczytywał faktycznie hardwarowym z Nucelo, a odpal sobie drugi hardwarowy (TX1 jest na pinie D9, GPIO2) i nim wysyłaj na przejściówkę USB/UART do PC. Nie powinien ESP w tej opcji być zasilany z USB, najlepiej zasilić go niezależnie i połączyć GND do nucleo. Gdybym miał też wybierać gdzie jaka prędkość to większą ustawiłbym na hardwarowy, mniejszą na softwarowy UART, tak samo mając wybór którym odbierać/którym wysyłać to hardwarowy do odbierania (bufor, przerwanie sprzętowe), softwarowy do wysyłania. RE: ESP8266 - UART - odbiór danych - spectral - 08-04-2018 Dziękuje za odpowiedź. Zmieniając SoftwareSerial mySerial(D0, D1) na (D2, D3) wyrażenie mySerial.available() ma wartość false, co wydaje mi się nie zbyt dobre. Spróbowałem też zewnętrznego zasilania, niestety nie pomogło. Dodam, że gdy próbowałem pisać to w LUA, takie połączenie działało, problem był z zawieszaniem sie ESP, dlatego przerzuciłem się na Arduino IDE. RE: ESP8266 - UART - odbiór danych - kaczakat - 08-04-2018 Zrobiłem to u siebie. Płytka Wemos D1 podłączona do USB komputera i na terminal Arduino wypisuję dane z serial. Przejściówkę FTDI podłączyłem (3.3V) do soft serial D3/D4 + GDN. Kod jak poniżej. Działa. Kod: #include <SoftwareSerial.h> Kod: ZACZYNAM: Tak to wygląda, bo putty od razu wysyła każdą literkę, nic nie widać w terminalu. Mnie chodziło o coś takiego: Kod: void setup() { Kod: Wysłanie na serial z terminala arduino "No i co teraz + znaki linii" daje w putty na TX1: RE: ESP8266 - UART - odbiór danych - spectral - 08-04-2018 Dziękuje bardzo. Działa mi sposób z Serial1. Udało mi się wysłać tekst z ESP do Nucleo. Czy jest możliwość zrobienia tego w drugą stronę. Skoro D9 to TX1, gdzie znajde RX1? RE: ESP8266 - UART - odbiór danych - kaczakat - 08-04-2018 Nie wszystkie piny ESP są wyprowadzone na płytki, między innymi dlatego, że spełniając do wyboru jedną z kilku funkcji alternatywnych danego pinu zostały już użyte do innego celu, np. do komunikacji z kością flash lub po prostu nie są dostępne dla programisty. Na szczęście to ESP, największym ograniczeniem jest wyobraźnia i wiedza programisty. Jak dwa takie seriale to za mało, a softserial też nie wystarcza to otwierasz przykład WiFiTelnetToSerial, wgrywasz z parametrami swojej sieci, na Serial1 wyrzuca jakie ma IP, włączasz Putty, łączysz się na ten IP i port 23. Zresztą wszystko działa tak jak sobie zaprogramujesz - co kiedy, skąd i dokąd. |