Skocz do zawartości

ESP-01S ESP8266 problem ze startem


tomaszjeep

Pomocna odpowiedź

Cały kod serwera razem z HTML możesz oprogramować wewnątrz ESP-01S i o ile nie będzie tam dużych wodotrysków wszystko się zmieści w dostępnym flash. Na pewno łatwiej będzie to zrobić w ESP niż robiąc Leonardo jako serwer + ESP tylko jako bramka WIFI z komendami AT (porównaj flash i RAM obu uC).  Do tego modułu są gotowe moduły wykonawcze, możesz też taki zbudować sobie sam. Wpisz w Google "esp01-relay" i obejrzyj fotki co mam na myśli. Może to być Twoja strona WWW lub część systemu "inteligentnego domu". Zostaw go tam i niech sobie pracuje na swoje utrzymanie. Do bardziej rozbudowanych zastosowań możesz sobie kupić jednak w/w moduły z chipem ESP-12E czy ESP12-F, a dalej idąc ESP32. Tak na siłę łączyć ESP-01S z Leonardo raczej nie ma sensu.  Leonardo na pewno Ci się bardziej przyda w symulowaniu różnych klawiatur/myszek itp. urządzeń do komputera (dzięki wbudowanemu USB), czasami potrzebny jest drugi UART sprzętowy, obsługa jakiegoś shielda Arduino, itp., lepszych zastosowań jest też na pęczki.

 

Link do komentarza
Share on other sites

(edytowany)

Udało mi się to zrobić. Mianowicie ESP łączy się z Wifi i pobiera ze strony (przez GET) wartość i wysyła mi ją do Arduino (z serwera może przyjść wartośc "OFF" lub "ON"). I wszystko byłoby pięknie gdyby nie to że dostaje taką odpowiedź.

 

do ESP mam taki kod wgrany

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
 
/* Set these to your desired credentials. */
const char *ssid = "xxx";  //ENTER YOUR WIFI SETTINGS
const char *password = "xxx";
 
 
//=======================================================================
//                    Power on setup
//=======================================================================
 
void setup() {
  delay(1000);
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);        //Prevents reconnection issue (taking too long to connect)
  delay(1000);
  WiFi.mode(WIFI_STA);        //This line hides the viewing of ESP as wifi hotspot
  
  WiFi.begin(ssid, password);     //Connect to your WiFi router
  Serial.println("");
 
  Serial.print("Connecting");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
 
  //If connection successful show IP address in serial monitor
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //IP address assigned to your ESP
}
 
//=======================================================================
//                    Main Program Loop
//=======================================================================
void loop() {
  HTTPClient http;    //Declare object of class HTTPClient
 
  String getData, Link;
 
  //GET Data
  getData = "?status=current";
  Link = "http://przyklad.pl/switchtest.php" + getData;
  
  http.begin(Link);     //Specify request destination
  
  int httpCode = http.GET();            //Send the request
  String payload = http.getString();    //Get the response payload
 
  Serial.println(payload);    //Print request response payload
 
  http.end();  //Close connection
  
  delay(1000);  //GET Data at every 5 seconds
}

A do arduino taki

 

#include <SoftwareSerial.h>

SoftwareSerial esp8266(10,11); 
                           
void setup() {
  
  Serial.begin(115200);
  
  esp8266.begin(115200);
  
}
 
void loop() {
  
  if(esp8266.available()) {
    
    while(esp8266.available()) {  
        
      char c = esp8266.read();
      
      Serial.write(c);
      
    }  
    
  }
  
}

 

Untitled-1.jpg

Edytowano przez tomaszjeep
Link do komentarza
Share on other sites

Software serial przy odbieraniu jest bardzo wrażliwy na prędkość, raczej celuj w 9600. Do odbierania lepiej użyć sprzętowego UART, a Arduino co najmniej MICRO - wtedy ten na pinach TX/RX to sprzętowy Serial1, ten na USB to serial. Poszukaj na forum serial event i parsowanie danych. Możesz sobie porównywać też literki na początek, z ESP zamiast ON wysłać '1' i zamiast OFF '0'.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.