ESP 01 csatlakozás

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Elnézést kérek előre is azoktól, akik ebben már jártasak. Pár napja kezdtem el foglalkozni a wifi kapcsolattal, de sajnos nem jutottam sokra.
Az AT parancsokkal látszik ha kapcsolódott az ESP01-es a wifi-re, de a kovetkező hibákba futok.

A mintaprogramban megtalálható ez a két rész, amivel gondom akadt. Hátha valaki tud segíteni benne.

// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue:
while (true);
}

Itt sajnos nekem belefut abba a hibába, hogy WiFi.status() pont WL_NO_SHIELD. Pedig be van kötve rendesen és el is érem AT parancsokkal.
A másik részlet:

while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network:
status = WiFi.begin(ssid, pass);

// wait 10 seconds for connection:
delay(10000);
}

Sajnos soha nem érzékeli, hogy rá van már kapcsolódva a wifi-re.

Örülnék ha valaki tudna benne segíteni.
Előre is köszönöm :)
Avatar
csegebiga
Chipgyilok
Hozzászólások: 288
Csatlakozott: 2015. március 27. péntek, 21:27

Re: ESP 01 csatlakozás

Hozzászólás Szerző: csegebiga »

egy kérdés:
a mintaprogram biztosan ESP01-hez való?
hol találtad? (forrás?)
azért kérdem, mert a SHIELD kialakítás az az arduinora szabványosan (uno-lábazonosan) ráhelyezhető eszközök neve szokott lenni hagyományosan
mint ez:
http://shop.tavir.hu/product_info.php/f ... -esp-p-507
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: ESP 01 csatlakozás

Hozzászólás Szerző: SanyiSay »

http://www.tavir.hu/taxonomy/term/134

Első lépésnek ezeket olvasd el szerintem.
Amiket bemásoltál mintakódok nem AT parancsos minták. Azokat ESP Arduino ide alatt használjuk amikor az ESP-t önmagában programozzuk közvetlenül rá töltjük az Arduino alatt megírt kódot. Ilyenkor elveszítjük az AT paracs lehetőségét.
http://www.tavir.hu/iot-3-esp8266-standalone
Ez a cikk szól róla. Pontosabban csak a fejlesztői környezet kilakításáról szól.

Második lépés eldönteni hogy hogy szeretnéd használni az ESP-t. Önmagában (ESP Arduino)vagy kell mellé egy AVR vagy egyéb MCU (ESP AT parancsok).
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

Re: ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Köszönöm a válaszokat. Még egy kérdésem lenne.
Lehet ez még egy nagyon idióta kérdés lesz, de ha csak programozni szeretném az ESP-t, ahoz szüksegem van egy FTDI-re, vagy azt meg tudnám csinálni csak egy arduino uno-val is?
Mert nem AT parancsokkal szeretném a programot müködtetni hanem egyszerűen a beépített wifi függvényeivel (pld. WiFi.begin(ssid, pass); ).
Avatar
pipi
SzínkódFestő
Hozzászólások: 80
Csatlakozott: 2008. július 6. vasárnap, 6:00

Re: ESP 01 csatlakozás

Hozzászólás Szerző: pipi »

Hali!
Program letöltő mindenféleképp kell, legalábbis legelőször.
Nem muszály FTDI, lehet Prolific,Silabs stb gyártmányú usb-soros átalakító, amit olcsóbban be tudsz gyüjteni
pl a laptetején a webshop-ban a ch340-es 600ft...
Nem tom hogy akarod egy Uno-val letölteni az esp-be a szoftvert, de nem lehetetlen megírnod, ha szivatni akarod magad :) sokkal egyszerűbb egy akármilyen usb/soros adapter ezt az esp-arduinó támogatja, csak 1 gombot kell nyomni a fordításhoz-letöltéshez...
Ha OTA-s progit írsz akkor az első progidat letöltöd usb/soroson keresztül, utána a következőt már rátöltheted wifin is
de vehetsz olyan ESP-modult is ami helyből ki van egészítve az usb sorossal, pl nodemcu, witty, wemos stb keresőszavakat használj
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ESP 01 csatlakozás

Hozzászólás Szerző: Robert »

UNOval is letöltheted:
- chip kivesz vagy resetbe rakod (RESET-GND öszeköt)
- a Tx/Rx lábad innen szabadon van, a panel egyszerű USB illesztőként megy, de
- TTL/5V a Tx/Rx jelszinted és
- UNO 3.3V-ja max 150 mA leadására jó.

Ha van még kitartás:
- UNO 3.3V-ja beköt, GND szintén.
- A GPIO lábakkal beállítod, hogy bootlani akarsz a bootloader módba a tápfesz ráadásakor
- UNO TX kimenete soros 5K vagy inkább egy feszosztó vagy jelszintillesztő 5V-> 3.3V
- UNO RX lábra az ESP TX lába (elvileg a Hszint ős, és nem esik a tiltott sávba)
- Optimista vagy, hogy milyen sebességen frissít az ESP chip: 115200 bps - ez OK vagy 960kbps - ezen megfekszik az UNO illesztője.

FTDI illesztő esetén kell külső 3.3V stab táp. A flash frissítéshz illik 75...95mA tudni, WiFi használathoz 250...300mA kell
lsd: http://www.tavir.hu/iot-1-at (felső harmadban az illesztők)
http://www.tavir.hu - a gazda :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: ESP 01 csatlakozás

Hozzászólás Szerző: SanyiSay »

Egy kis magánvélemény:
Azoknak akik most szánják rá magukat ESP vásárlásra. Az ESP-01 nagyon nem fejlesztői, kísérletezői modul. Kevés a memória, kevés a kivezetés és azok is foglaltak, "bonyolult" vagy inkább odafigyelős az életre keltése, táp, zavarszűrő, felhúzó ellenállások, gyenge a wifi antennája, program rátöltésekor gombokat nyomogatsz amiket szintén neked kell rábütykölnöd a cuccra. Az hogy én csak egy relét akarok kapcsolgatni elég egy kimenet, csak addig cél még kicsit át nem látja az ember az ESP ben rejlő lehetőségeket. Egyszóval azon kívül hogy olcsó, nem is tudnék előnyéről beszélni. Utána persze egy modul a sokból amit választhat az ember ha már tisztában van a 01 képességeivel és saját igényeivel. Valamint egy esp nem esp. Ahol egy van ott lesz több is ez tuti. Egyszóval kezdésnek min 1 de inkább 2 db NodeMCU vagy hasonló USB vel, saját táppal, összes kivezetéssel, automata programozás áramkörrel ellátott modult, valamint 3,3-5V szintillesztőket javasolnék a kezdeti hajtépés elkerülésére, és hogy ne a HW szabjon határt fantáziánknak.
Szerintem. :wink:
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

Re: ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Köszönöm szépen a segítséget.
Hasznosnak bizonyúltak és már jóval többet tudok ezekről a dolgokról, mint az elején. :D
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

Re: ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Megpróbáltam megoldani egy nehezebb feladatot az ESP-vel, de sajnos nem jövök rá mi lehet a hiba, ezért lebutítottam a dolgokat és meg most sem működik. Sajnos úgy néz ki, hogy az alapokkal volt gond.
A butított verzió ez lenne:

#include <SoftwareSerial.h>
SoftwareSerial esp(0,1);

void setup(void){
Serial.begin(9600);
esp.begin(9600);
}

void loop() {
esp.write("AT\n");
if(esp.available()>0)
{
Serial.println("AVAILABLE");
delay(1000);
Serial.println(esp.read());
} else {
Serial.println("NOT available.");
delay(1000);
}
}

Sajnos bele sem megy az if részbe. Csak ha a serial monitorba beírok valamit és entert\send-et adok neki.
Biztosan ez is egy nagyon alap dolog, de hangsúlyozom, hogy meg nemrég kezdtem foglalkozni a dolgokkal :|.
Sok helyen néztem\olvastam utána, de valamiért nem úgy működik ahogy kellene.
Örülnek ha segíteni tudna valaki. Köszönöm előre is :)
Avatar
csegebiga
Chipgyilok
Hozzászólások: 288
Csatlakozott: 2015. március 27. péntek, 21:27

Re: ESP 01 csatlakozás

Hozzászólás Szerző: csegebiga »

kérdés: ezt átolvatad?
https://www.arduino.cc/en/Tutorial/Soft ... ialExample
ez azt mondja, másik lábakra is deffiniálsz egy soros portot, ha több is kellene
ezzel szemben te a fizikai soros portra tezed:

Kód: Egész kijelölése

#include <SoftwareSerial.h>
SoftwareSerial esp(0,1);
a D0 és D1 lábon by default ott az usb- soros port, amit a serial monitorral való kommunikációval el is foglalsz.
tedd másik lábakra az esp kommunikációt, és menni fog a példaprogramod
ha látványt is szeretnél, akkor a (sw)RX et tedd a 13-as lábra, és villogni fog a panel ledje, amikor az esp megszólal)


más:
Az ESPlorer nevű programmal megszólítva a kütyüt kapsz válaszokat?
ez közvetlenül kommunikána az esp modullal (pl egy usb-ttl illesztőn keresztül)
beállítod a (virtuális) com portodat, megnyitod,
az AT fülön gépészkedj!
az AT enterre már válaszolnia kéne
az, hogy egy UNO-n keresztül is menne-e ez, nem próbáltam, valószínűleg igen. Robert fentebbi megoldása gyakorlatilag ilyen illesztővé "butítja le" az UNO-t

egy kérés: a kódrészleteket a jobb olvashatóság érdekébe tedd code /code közé légyszíves! thx!
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

Re: ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Köszönöm a tanácsot. Megpróbáltam áttenni más pin-re, de sajnos nem vált be. Elolvastam az első linket és az ott talált mintaprogramot is ki szerettem volna probálni. (https://www.arduino.cc/en/Tutorial/Soft ... ialExample)
A Serial-ra megjelenik a "Goodnight moon!" üzenet, de a mySerial-on csak "ÿþÿ" vagy ehez hasonló karakterek jelennek meg :|.
Tudomásom szerint az ESP is jól van bekötve, mivel ha a BareMinimumot töltöm rá akkor az 115200-as porton tökéletesen válaszol es elvégzi az AT-s parancsokat (persze akkor a 0 es 1-es kimenetekre kötve).
A bekötés a következő : https://www.google.ro/search?q=wifi+esp ... 18K1quM%3A

(kivéve a reset nincs bekötve és a pin a 10-11-re megy)

Jó lenne mostmár tudni, hogy mi lehet a gond :|.
Köszönöm a segítségeket.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ESP 01 csatlakozás

Hozzászólás Szerző: Robert »

A feladat nem világos...
Arduinora kötve az ESP AT parancsokkal van megszólítva.

SoftSerial az Arduinon megszólítva?

Transzpares UNO:

Kód: Egész kijelölése

/*  
 Név:        TransparentSerial
 Leírás:     Transzparens USB-soros-SWsoros átjáró ESP-8266 WiFi modulhoz
 Link:       http://www.tavir.hu/iot-0
 Fordító:    Arduino-1.6.5.
 Lapka/chip: Arduino Diecimila/UNO
 Szerző:     superp (nick@ forum.tavir.hu)
 Módosítás:  Cseh Róbert / avr(kukac)tavir(pont)hu
 Licensz:    Public Domain
 
 Forrás:     https://www.arduino.cc/en/Tutorial/SoftwareSerialExample
*/
 
#include <SoftwareSerial.h>

SoftwareSerial ESPSerial(8, 9); // RX, TX

void setup()
{
Serial.begin(115200); // A belső port megnyitása azonos sebességű legyen az ESPSeriel-al
//Serial.begin(9600); // A belső port megnyitása azonos sebességű legyen az ESPSeriel-al
delay(1000);
//ESPSerial.begin(115200); // ESP8266 port 115200 kapcsolati sebesség
ESPSerial.begin(9600); // ESP8266 port 9600 kapcsolati sebesség
delay(1000);
Serial.println("ESP8266 WIFI PORT START");
Serial.println("AT parancsok:");
}

void loop()
{
  // Amennyiben van adat az ESP8266 felől, azt kiírjuk a terminal ablakba
  if (ESPSerial.available()) {
    Serial.write(ESPSerial.read());
  }

  // Amit beírunk a terminál ablak parancssorába, azt küldi el az ESP-nek
  if (Serial.available()) {
    ESPSerial.write(Serial.read());
  }
}

Illetve AP lista:

Kód: Egész kijelölése

/*  
 Név:        list-ap
 Leírás:     Access Point-ok listázása
 Link:       http://www.tavir.hu/iot-0
 Fordító:    Arduino-1.6.5.
 Lapka/chip: Arduino Diecimila/UNO/Leonardo/Mega
 Szerző:     ??
 Módosította:Cseh Róbert / avr(kukac)tavir(pont)hu
 Licensz:    ??? 
 
 Forrás:     http://www.esp8266.com/viewtopic.php?f=8&t=2301
*/
 
#include <SoftwareSerial.h>
#define DEBUG true
SoftwareSerial esp8266(8,9); // szoftveremulált sorosport (8-Rx, 9-Tx)

void setup(){
  Serial.begin(115200); // Az USB sorosport port megnyitása
  while (!Serial) {
    ; // PC/USB/Soros kapcsolat felépülésének kivárása (Leonardo esetén)
  }
  esp8266.begin(9600); // ESP sebessége
  
  sendData("AT+RST\r\n",2000,DEBUG); // reset modul
  sendData("AT+CWLAP\r\n",5000,DEBUG); // list an access point
}
 
void loop()
{
}

 String sendData(String command, const int timeout, boolean debug){
    String response = "";
    if(debug){
      Serial.print("->");
      Serial.print(command);
      Serial.print("(");
      Serial.print(timeout);
      Serial.println(" msec)");     
    }

    esp8266.print(command); // send the read character to the esp8266
    long int time = millis();
    while( (time+timeout) > millis()){
      while(esp8266.available()){
        // The esp has data so display its output to the serial window 
        char c = esp8266.read(); // read the next character.
        response+=c;
      }  
    }
    if(debug){
      Serial.print(response);
    }
    return response;
}
 

Ezekkel megy?
http://www.tavir.hu - a gazda :)
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

Re: ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Kedves Robert!

A második példa áll közelebb ahoz amit probáltam. De nem jövök rá mi lehet a hiba, mert nem csak a saját magam által írt programokkal nem működik, hanem pld a tieddel sem.
A következő a kimenet az 115200-as porton.

->AT+RST
(2000 msec)
->AT+CWLAP
(5000 msec)

Pedig ha rákötöm a 0,1-es lábakra és én kézzel írom be a dolgokat (AT,AT+CWJAP?,stb.) akkor tökéletesen működik.
Az első pédlát is kipróbáltam. A képernyőn megjelenik a "ESP8266 WIFI PORT START AT parancsok:" kiírás, de hiába probálok beírni bármit és entert\submit-et adok mintha nem is érzékelné.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ESP 01 csatlakozás

Hozzászólás Szerző: Robert »

Egyszerű:
Szoftveres sorosport sebessége - stabilan - csak 19200bps lehet. E felett katyvasz.
Az ESP modulon állítsd át, hogy 9600bps sebességgel kommunikáljon.

Ha te gépelsz : lassan teszed meg és a két karakter közt sok idő telik el. Ha a processzor adja ki - nincs a karakterek közt várakozás....
http://www.tavir.hu - a gazda :)
roka
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2016. augusztus 24. szerda, 18:34

Re: ESP 01 csatlakozás

Hozzászólás Szerző: roka »

Megpróbalom :D
Válasz küldése