Oldal: 1 / 3

ESP 01 csatlakozás

Elküldve: 2016. augusztus 24. szerda, 18:45
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 :)

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 24. szerda, 20:08
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

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 24. szerda, 20:28
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).

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 25. csütörtök, 13:44
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); ).

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 25. csütörtök, 15:05
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

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 25. csütörtök, 17:19
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)

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 25. csütörtök, 18:36
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:

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 25. csütörtök, 21:03
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

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 26. péntek, 10:57
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 :)

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 26. péntek, 11:50
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!

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 26. péntek, 23:10
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.

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 27. szombat, 7:44
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?

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 27. szombat, 22:00
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é.

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 27. szombat, 22:37
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....

Re: ESP 01 csatlakozás

Elküldve: 2016. augusztus 27. szombat, 23:38
Szerző: roka
Megpróbalom :D