Arduino Nano ESP8266 komendy AT - podłączenie

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
angrybulbs
Młodszy majsterkowicz
Posty: 1
Rejestracja: 24 kwie 2020, 12:41

Arduino Nano ESP8266 komendy AT - podłączenie

Post autor: angrybulbs » 24 kwie 2020, 16:18

Cześć, chcę wykonać projekt, gdzie ESP8622-01 będzie odczytywał temperaturę i przesyłał informacje do Arduino Nano do drugiego ESP8622-01. Następnie projekt po stronie Arduino będzie bardziej rozbudowany, ale na potrzeby wyjaśnienia tego problemu tyle szczegółów wystarczy.

Kupiłem dwa ESP8622-01 8Mbit(512KB+512KB), ale zapomniałem dokupić programator. Znalazłem, jak podłączyć ESP8622-01 w celu wgrania firmware/programu przez Arduino Nano. Pytanie jest następujące:
Czy robię coś źle czy programator będzie jednak konieczny?

Mój problem polega na tym, że w Serial Monitor otrzymuję informację, że ESP8622-01 jest „ready”, ale nie reaguje na komendy AT.

Podłączenie:
rys.png
ESP8622-01 jest podłączone do Arduino jak na załączonym obrazku:
  • RX(Arduino) => RX (ESP8622-01)
  • TX(Arduino) => TX (ESP8622-01)
  • 3.3V => VCC (ESP8622-01)
  • 3.3V => CH_PD (ESP8622-01)
  • GPIO0(ESP8622-01) => GND (do flash)
  • GPIO2(ESP8622-01) => wolny
  • GND(ESP8622-01) => GND
ESP8622-01 - jest na osobnym zasilaniu z płytki zasilającej. Na jednej szynie jest 3.3V, na drugiej 5V. Zastosowałem konwerter napięcia na TX/RX. GND z Arduino podłączone. Arduino przed podłączaniem wszystkiego ma wgrany pusty program.

Arduino IDE 1.8.12 – W zakładce „Preferences”=>”Additional Boards Manager URLs:” dodałem
arduino.esp8266. com/stable/package_esp8266com_index.json (bez http bo nie mogę wstawiać linków + spacja).
ide-preferences.PNG
Za pomocą Board Manager-a zainstalowałem „ESP8266 Community 2.6.3”. Wybrałem płytkę „Generic ESP8622 module”. Pin GPIO0 w ESP – wolny. Otwieram Serial Monitor, w opcjach ustawiam: „115200 baud” i „Borh NL & CR”.

Następnie podłączam Arduino do komputera i zasilanie do ESP8266 (2x mrugnięcie na niebiesko, cały czas czerwona dioda).
W Serial monitor otrzymuję śmieci + „ready”. Wpisuję AT - nic się nie dzieje.


Błąd opisany powyżej jest taki sam po próbach naprawy - jest to baza do dalszych wyjaśnień. Poniżej opiszę wszystko co wykonałem:
  • Zmiana prędkości transmisji nie pomaga. Otrzymuję wtedy tylko same śmieci z wyjątkiem
    74880. Wówczas dostaję tą informacje:
    Jan 8 2013,rst cause:2, boot mode:(3,1)
    load 0x40100000, len 2408, room 16
    tail 8
    chksum 0xe5
    load 0x3ffe8000, len 776, room 0
    tail 8
    chksum 0x84
    load 0x3ffe8310, len 632, room 0
    tail 8
    chksum 0xd8
    csum 0xd8

    2nd boot version : 1.6
    SPI Speed : 40MHz
    SPI Mode : QIO
    SPI Flash Size & Map: 8Mbit(512KB+512KB)
    jump to run user1 @ 1000

    rf cal sector: 249
    rf[112] : 00
    rf[113] : 00
    rf[114] : 01

    SDK ver: 2.0.0(5a875ba) compiled @ Aug 9 2016 15:12:27
    phy ver: 1055, pp ver: 10.2
  • W „Device Manager” – zmieniłem prędkość transmisji z 9600 (Windows default) na 115200 i dalej to samo zarówno przez Arduino IDE jak i PUTTY.
  • Znalazłem gdzieś, że mimo zastosowania konwertera napięcia trzeba dodać na RX dodatkowo rezystor – nie pomogło.
  • Zmierzyłem napięcia i do ESP idzie 3.2V.
  • Po podłączaniu GPIO0 do GND w odpowiedzi są tylko śmieci – brak „ready”
  • Pobrałem Flash Download Tools 3.6.8, AT V1.6.2.
    Wypełniłem dane następująco:
    flash.PNG
    Otrzymuje:
    [ESP8266Loader_spi[1]][espDownloader .py][line:368][ERROR]: Chip sync error: Failed to connect to ESP8266: Timed out waiting for packet header
    [ESP8266Loader_spi[1]][espDownloader .py][line:459][ERROR]: ESP8266 Chip sync error esp_sync_blocking.
  • Port COM na pewno jest poprawny.
  • Pobrałem sterowniki do ESP do USB i zainstalowałem – powtórzyłem wszystkie kroki - to samo.
    PS: Po podłączeniu wszystkiego za każdym razem resetowałem ESP itd. Zgodnie z tym co wszędzie można przeczytać, jak wprowadzić moduł w flash mode.
  • Zaryzykowałem i podłączyłem wszystko na 5V - to samo.
  • Wróciłem do podłączenia 3.3V i sprawdziłem drugi moduł ESP – to samo
  • Próbowałem to samo zrobić na Arduino Uno zamiast Nano – to samo
  • Podłączyłem RX (ESP) => TX(Arduino), TX(ESP)=>RX(Arduino) – nie działa
  • Zainstalowałem niższe wersje Board Menager dla ESP 2.6.1, 2.6.0 - to samo
  • Kombinowałem z opcjami w Flash Download Tool (4Mbit/8Mbit/QIO/DOUT/itd.)
Z góry dziękuję za pomoc.


EDIT:

[SOLVED] Nie wiem czy można to określić jako rozwiązanie problemu, ale zamówiłem programator i wszystko działa przy użyciu programatora. Wyklucza to wadliwość posiadanych przeze mnie modułów.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


ODPOWIEDZ

Strony partnerskie: