Arduino UNO + ESP8266 nie łączy się z WI-FI przez program napisany w Arduino IDE

0

Witam. Około 3 tygodnie temu zacząłem swoją przygodę z Arduino UNO. Od początku mam problem z napisaniem programu, który łączyłby się z moją siecią WI-FI. Po 2 tygodniach zabawy zakupiłem przelotkę USB-UART, wykonałem aktualizację firmware w ESP8266. Komendy AT wpisywałem za pomocą programu Termite - i tam wszystko działa jak należy. ESP łączy się z siecią, natomiast gdy próbuję zaprogramować to w Arduino IDE to niestety nie potrafią połączyć ESP do swojej sieci. Dodam, że inne komendy AT w tym programie działają, nie działa tylko AT+CWJAP. Czy mógłby ktoś zerknąć co robię źle? Kod który napisałem:

 #include "SoftwareSerial.h"
SoftwareSerial esp(10,11); //RX, TX

void setup() {
Serial.begin(115200);  
esp.begin(115200);

resetEsp();
delay(2000);
connectEsp();

}

void loop() {
  // put your main code here, to run repeatedly:

}

void resetEsp() {
  esp.println("AT+RST\r\n");
  delay(2000);
  if(esp.find("OK")) Serial.println("Wykonano reset ESP8266");
}

void connectEsp() {
 
  esp.println("AT+CWJAP=\"INSIGNIA\", \"\"");
  delay(5000);
  if(esp.find("OK")) {
    Serial.println("Połączono z siecią pomyślnie");
  }
  else {
    Serial.println("Nie połączono z siecią WI-FI");
  }
}
0

Zainteresuj się projektem ESP8266 Arduino - programowanie za pomocą komend AT to porażka pod wieloma względami (brak synchronizacji, utrudnione debugowanie itd.).

0

Patryk27, czy mógłbyś rozwinąć temat?

0

Aktualnie tworzę taki projekt, w którym Atmega328p łączy się z ESP-01 (czy raczej głównie w drugą stronę) za pomocą interfejsu TwoWire i jest to znacznie wygodniejsze od zabawy w komendy AT.

ESP pobiera i przetwarza dane, a Atmega robi jedynie za sterownik wyświetlacza, przycisków itd.

Oczywiście wymaga to znacznie więcej pracy, lecz bardziej interesującej niż myślenie, dlaczego UART nie działa tak jak bym chciał ;-)

1
Czarny Szczur napisał(a):

Patryk27, czy mógłbyś rozwinąć temat?

Chodzi o to, że możesz uruchomić swój kod (także napisany w Arduino) bezpośrednio na ESP, które ma wydajniejszy procesor i więcej pamięci od Uno. Pisze się identycznie, a samo łączenie z Wi-Fi czy pobieranie danych z internetu jest o niebo prostsze niż komendami AT, z uwagi na gotową bibliotekę do obsługi tego.

https://github.com/esp8266/Arduino

0

No tak, czytałem o tym kiedy, tylko że ja mam ESP w wersji 01, a chciałbym jeszcze później dwa czujniki do tego podpiąć.

0

To może https://github.com/bportaluri/WiFiEsp zamiast ręcznej zabawy AT?

0

Ja też mam ESP-01 i mówię, że dzięki wykorzystaniu Atmegi mam dostęp z niego do LCD, czujników i tak dalej.

Tyle że wymaga to opracowania protokołu komunikacji ESP-Atmega.

0

Witam, udało mi się w końcu uruchomić ESP8266 za pomocą komend AT w środowisku Arduino IDE. Winny okazał się dzielnik napięcia wykonany z rezystorów 1k i 2k. Po jego wyrzuceniu wszystko zaczęło działać. Niemniej jednak chciałbym zrobić kolejny krok w przód i zacząć programować przy pomocy jakiejś biblioteki dla Arduino UNO. Kolega Ktos pisało bibliotece https://github.com/bportaluri/WiFiEsp, ta jednak mi nie działa. Przy próbie połączenia zwraca cały czas TIMEOUT, a następnie "niepoprawny firmware". Gdzieś wyczytałem, że wymagany jest firmware SDK 1.1.1 oraz AT 0.25 - wgrałem to i nic. Ktoś może wie jak to uruchomić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1