ESP8266 chip használata

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
Zack
DrótVégénSzéndarab
Hozzászólások: 38
Csatlakozott: 2013. december 27. péntek, 13:22

Re: ESP8266 chip használata

HozzászólásSzerző: Zack » 2015. április 2. csütörtök, 19:57

Marmint milyen 3.3vos lapka?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9970
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 chip használata

HozzászólásSzerző: Robert » 2015. április 2. csütörtök, 20:32

PC felől 3.3Vos szintillesztő (USB) vagy pl. Arduino Pro Mini 3V3.

Zack
DrótVégénSzéndarab
Hozzászólások: 38
Csatlakozott: 2013. december 27. péntek, 13:22

Re: ESP8266 chip használata

HozzászólásSzerző: Zack » 2015. április 2. csütörtök, 20:52

Arduino Mega 2560-am van amin van 3.3V kimenet de kevés.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9970
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 chip használata

HozzászólásSzerző: Robert » 2015. április 3. péntek, 5:58

Az a 3.3V max 150 mA-t tud.

A soros tx/rx-et ne a serial0-val, hanem, a serial1...3-l próbáld meg. Az USB illesző így nem zavarna be.

Zack
DrótVégénSzéndarab
Hozzászólások: 38
Csatlakozott: 2013. december 27. péntek, 13:22

Re: ESP8266 chip használata

HozzászólásSzerző: Zack » 2015. április 3. péntek, 8:36

A többi rx/tx portok közül valamelyikkel? Mert ezekkel még egy karaktert se válaszol.

Zack
DrótVégénSzéndarab
Hozzászólások: 38
Csatlakozott: 2013. december 27. péntek, 13:22

Re: ESP8266 chip használata

HozzászólásSzerző: Zack » 2015. április 3. péntek, 21:33

Végre sikerült.

Adtam nekik közös földet és vásároltam egy zener diódát az RX ágra..

Computerapeuta
Újonc
Újonc
Hozzászólások: 6
Csatlakozott: 2015. április 13. hétfő, 5:38

Re: ESP8266 chip használata

HozzászólásSzerző: Computerapeuta » 2015. április 13. hétfő, 6:18

Sziasztok!
Úgy látom ti is szívtok a wifi modul használatával.Nekem már megy kb. 1 hónapja, de a tapasztalataimat közreadom, hogy másnak könnyebb legyen.
1. Az uno modul 3.3V-ja elég neki ha közel van az access point és nem kell nagy teljesítménnyel adnia. Azért nem árt rátenni egy kondit.
2. a nano 3.3V kimenet nem elég neki, ekkor mindenképpen kell egy külső táp. LD33V pl. vagy akár 2 dióda az 5V-ról, ahogy írtátok, de kérdéses ilyenkor az 5V terhelhetősége is.
3. a rst és a ch_pd lábakat fel kell húzni tápfeszre (főleg a ch_pd fontos). Én a ch_pd lábat az egyik arduino kimenetre tettem két diódával, és így tudom vezérelni a modult. Ez azért fontos, mert alapből megeszik kb 80-100 mA-t akkor is ha nem kommunikál. Akkus táplálásnál ez nem mindegy. Amennyiben vezérled a ch_pd lábat, akkor majdnem 0 a fogyasztása. Mielőtt kommunikálni akarsz, a kimenetet high-be teszed, és már megy is. Akkor természetesen akár 250 mA-t is megehet.
4. a wifi modul rx/tx lába 5 V toleráns, ezért nem kell szintáttevőt használni az arduinohoz. Természetesen a PC soros kimenetéhez igen! Elméletben a ch_pd lábnak is bírnia kéne az 5V-t, de nem próbáltam ki, ezért használtam az előző pontban leírt 2 sorbakötött diódát.
5. Az arduino hardware soros portja tökéletesen használható némi megkötéssel:
- a fejlesztési időszakban elég bosszúságot okozott nekem, hogy ha bármit ki akarok írni a soros portra, akkor az megzavarja a wifi modult. Többnyire ha valami hosszabb adatsort írok ki, akkor másodpercekbe telik, mire a modul értelmezi, eldobja hibás utasításként. Persze addig nem is dolgozik rendesen. Ezért nagyon körültekintően lehet csak így használni. Javaslom hogy a fejlesztési infókat vagy software soros portra tegyétek ki, vagy valamilyen más módon próbáljatok hozzájutni.
- a hardware soros portra tett wifi modulnál azonban figyelni lehet. Így amit kiküldesz a modul felé, azt el tudod olvasni, és ellenőrizni tudod a képernyőn.
6. A legnagyobb gondot azonban nekem az adat fogadás okozta Ez valószínűleg nem a wifi modul hibája, hanem arduino gond. Mivel a modul AT parancsokkal megy, ezért tulajdonképpen a teljes parancsot egy stringben összeállítom, és azt küldöm ki. Egy esetben itt is volt gondom, hogy a string vége valahogy eltünt a kiküldésnél. Ekkor optimalizáltam a változó használatomat (kevesebb változót használtam), és megjavult. Azonban a fogadásnál már nagyon sokszor előjött az, hogy lekérdeztem adatot a modullal, ami megjött rendben (kb 200 karakter a válasz). Utána kiküldtem adatokat, ami szintén kb 200 karaktert jelentett. Majd visszaellenörzésnként újra lekérdeztem adatokat. Na ekkor már igen változatos volt a fogadott adatmennyiség. Volt hogy semmi nem jött vissza, de volt hogy csak 40 byte vagy csak 60. A legritkább esetben jött vissza a teljes. Ugyanakkkor a loop újrafutásakor megint megjött a teljes adatmennyiség annak ellenére hogy a loop végén, közvetlenül ez elött nem jött meg jól az adat. Tulajdonképpen most is tanácstalan vagyok ez ügyben annak ellenére, hogy sikerült olyan kódot faragnom, ami most megy rendesen. Tájékoztatásul a progim most 18688 Byte hosszú és 789 byte dynamic memoryt használok a változókhoz. Volt már olyanom is, hogy működött a programom, és miután beleírtam egy sort, már nem jött vissza az adat. Tisztára olyan mintha a string elveszne, valami felülírja a memóriában. Ugyanakkor a többi nem string változókkal nincsen gond, kizárólag a soros adat stringbe fogadással. Annak is inkább csak a végével (hosszú adat esetén). Ilyenkor átírtam a progit más szerkezetűre és akkor továbbra is működik jól.
Aki tud esetleg erre a problémára megoldást, azt szívesen meghallgatnám :)
Ettől függetlenül az esp8266 wifi modul tükéletesen működik, ajánlom mindenkinek a használatát.

Remélem tudtam segíteni.

zsenipocok
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2015. május 2. szombat, 23:25

Re: ESP8266 chip használata

HozzászólásSzerző: zsenipocok » 2015. május 2. szombat, 23:51

Sziasztok!

Én megakadtam ezzel a modullal és nem tudom, merre is kellene tovább mennem vagy mit rontottam el. Az igazság az, hogy nem tudom mi nem működik és miért.
Nézzük mivel rendelkezem:
Arduino MEGA 2560
ESP-12 ESP8266

Mire jutottam eddig!
Én az Arduino 19,18 kivezetésére tettem az RX,TX kommunikációt, programban is.
Mivel azt vettem észre kettő nap után, hogy az Arduino 3.3V feszültsége nagy valószínűséggel nem elég a modulnak, ezért külső tápról kap 3.3V-t.
A VCC és GND a tábról megkapja a maga kis akaraterejét. Ebben az esetben a szép kis kék LED világít is nekem. Ha a CH_PD láb is megkapja a 3.3v-t, akkor a LED kikapcsol.
Továbbá az TX és RX lábat is rákötöm az Arduinora, akkor lényegében nem történik semmi, mert a kommunikáció nem valósul meg, mert nem is látja az eszközt.
Ezek voltak az alapfelállások, amit sok utána olvasásból kiolvastam. Sok helyen azt olvastam, már így is kellene mennie, de nem.

Tovább olvastam, további napok következtek a böngészéssel és a próbálkozásokkal.
Jött a felhúzó ellenállás.
Előbb a CH_PD lábat a VCC-ről egy 10K-val összekötöttem. Semmi.
Gondoltam, a RX és TX-l is lehet probléma, ezért a TX-t is kettő 10K ellenállással felhúztam. Eredmény semmi.
Nos itt tartok és fogalmam sincs, mi lehet a probléma.

A legnagyobb gondom az, hogy nem is kommunikál a modullal, legalább látná, utána már szép lassan lépésről-lépésre tovább haladhatnék.

Valami segítséget tudtok adni? Vagy ennyiből egyből tudjátok mi a probléma nálam?
Ha tudtok segíteni, akkor az előre is köszönöm!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9970
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 chip használata

HozzászólásSzerző: Robert » 2015. május 3. vasárnap, 6:29

Ha a holmira a Vcc és GND-t kötötted - megölted. Az 5V.
3.3V kell neki, ha max powerrel ad akkor 230-250 mA áramfelvétele van. Így kell a külső 3.3V stabIC (5V->3V3). Pl. LM33, LP2950-33 stb. Kapcsolóüzemű nem lehet!

A külső 3.3V és a belső táp GND-je közösített?

zsenipocok
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2015. május 2. szombat, 23:25

Re: ESP8266 chip használata

HozzászólásSzerző: zsenipocok » 2015. május 3. vasárnap, 7:57

Arra ügyeltem, hogy 3.3V legyen, semmiképpen nem adtam neki 5V-t.
A GND-t viszont nem közösítettem, ez tény. Megpróbálom így is.

zsenipocok
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2015. május 2. szombat, 23:25

Re: ESP8266 chip használata

HozzászólásSzerző: zsenipocok » 2015. május 3. vasárnap, 8:41

Így sem megy, ezért valami mást kell kitalálnom.

Megjegyzés: a hozzászólásomat nem tudtam szerkeszteni, ezért kellett egy új hozzászólást írnom.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9970
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 chip használata

HozzászólásSzerző: Robert » 2015. május 3. vasárnap, 9:31

A rendszer 5Vból állíts elő 3V3-at.

TxRx nincs felcserélve?

zsenipocok
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2015. május 2. szombat, 23:25

Re: ESP8266 chip használata

HozzászólásSzerző: zsenipocok » 2015. május 3. vasárnap, 10:30

Az nincs, többször ellenőriztem. Arra gondoltam, hogy építek neki egy külön erre egy 3.3v-t tápegységet. Az előbb találtam egy LM1117-t, ez lesz az utolsó mentsváram. Ha így sem, akkor lehet eleve a modul nem jó.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9970
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 chip használata

HozzászólásSzerző: Robert » 2015. május 3. vasárnap, 10:58

AVR Resetben tartva.
Arduino 3.3Vját kapja meg a modul.
Tx - Rx összeköt a ESP-vel.
RST és a standby beköt.

Így PC-ről 115200 vagy 9600 bps-sel kommunikálhatsz hyperterminálból a modullal.

Computerapeuta
Újonc
Újonc
Hozzászólások: 6
Csatlakozott: 2015. április 13. hétfő, 5:38

Re: ESP8266 chip használata

HozzászólásSzerző: Computerapeuta » 2015. május 5. kedd, 17:51

A soros vonal sebességét jól állítottad be? Alapesetben 9600 baud-al kommunikál. Mit értesz az alatt, hogy nem látja a modult? A modul a soros vonalon kap adatokat, pontosabban amit kiküldesz rá, azt megpróbálja értelmezni. Ha olyat kap, ami nem parancs számára, akkor másodpercekig gondolkozik, mire visszadob egy errort. Szóval elvileg nem kell lássad a modult sehogy. kiküldöd rá az adatot, és a kék led villog. És bízol benne hogy ha jó adatot küldtél neki, akkor válaszol. De ezt sem fogod látni, mert ki kell olvasnod a soros pufferből. Na ezzel a kiolvasással már nekem is voltak gondjaim, amit korábban írtam is.
Amit javaslok:
Ha van lehetőséged egy szintillesztővel a pc soros portjára kötni, vagy egy arduinohoz készült usb soros konverterrel, akkor egy terminálemulátorral simán begépelheted mondjuk az ATZ parancsot, amire a képernyőn meg kell jelenjen a minimális OK felirat. Azonban ezek a modulok az ATZ parancsra még egyéb infót is visszaküldenek, pl verziószám, meg egyebek. Később akár komolyabb parancsot is begépelheted, amire szintén meg kell kapjad az aktuális választ. Így ha az elérhető accesspointok listáját kéred, akkor a terminálban megjelenik az válaszként. Másik lehetőség a kommunikáció ellenörzésére, hogy a pc soros portja receive vagy egy usb soros átalakító RX vezelékével ráhallgatózol a wifi modul TX-arduino RX lábára. Ekkor a terminálablakban szintén látni fogod a modul válaszait. Persze ekkor az arduino-ról kell kiadnod a parancsokat.
A modul egyértelműen 3,3V-ról üzemel, szükséges a GND-t közösíteni, de csak akkor, ha a tápot egy önálló rendszerről adod neki. Ha az arduinoval közös valamelyik táprész, akkor értelemszerűen a GND is közös már. A TX/RX lábakat keresztbe kell kötni az arduinoéval. Ami a modulnak a transmit, az az arduinonak a receive és fordítva. A legfontosabb a CH_PD láb, amit fel kell húzni a tápra ha működtetni akarod. Ezt később lehet vezérlésként használni, ugyanis amíg tápon van ez a láb, addig zabál a modul. Ha alacsonyan tartod amíg nem kommunikálsz, akkor energiát spórolhatsz egy esetleges akkumulátoros üzemnél. Az adatvezetékei a modulnak 5V toleránsak, így oda nem kell semmilyen szintillesztő. Amennyiben szabályosak akarunk lenni, akkor a többi lábat is megfelelő szintre kell húzni, de ez elhagyható, a modul úgy is működik. A GPIO lábak a programozáshoz kellenek. pl firmwarefrissítéshez.
Remélem tudtam segíteni, ha még lenne valami, akkor kérdezz nyugodtan.


Vissza: “ExpressIf WiFi”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég