Stránka 1 z 2
ESP 01 8266
Napsal: 01 kvě 2023, 07:48
od mjana
Ahoj, snažím se připojit 8266 k Arduinu, ale zatím se mi to moc nedaří. Mám dva Arduina Mega2560 a Nano V3.0 R3. Cílem je připojení k Nano, ale jelikož se mi to tam nedaří zatím vůbec, pokračuji s pokusy na Mega.
Z toho, co jsem zatím vyčetl bych měl mít 8266 zapojeno:
S externím napájením 3.3V
Logickým převodníkem 5V - 3.3V
Zatím jediné funkční řešení na Mega2560:
3V3 a EN připojeno do 3.3V na Mega
TX a RX připojeno přímo do Mega na TX, RX (ne do kříže)
GND do Mega GND
Serial Monitor na 115200, zapíšu AT a dostanu odpověď OK.
Nicméně z toho, co jsem vyčetl není tohle správné zapojení a na cílovém Nano to do těch 3.3V ani zapojit nemůžu.
Dalším krokem je tedy použití externího napájení a převodníku, ale už u napájení s tím nehnu:
Pro napájení používám modul pro nepájivé pole s možností 5V, 3.3V + síťový adaptér 9V, 1A.
3V3 a EN připojeno do 3.3V na nepájivém poli
TX a RX připojeno přímo do Mega na TX, RX (ne do kříže, ale zkoušel jsem i přehodit)
GND 8266 do nepájivého pole
GND z arduina do nepájivého pole
Serial Monitor na 115200, zapíšu AT a nic se neděje.
Prosím o jakékoli rady, i ty které vám příjdou samozřejmé, protože jsem v elektrotechnice i arduinu úplný začátečník. Díky.
Napsal: 01 kvě 2023, 10:00
od Cowley
Zkus
toto.
Nicméně je to "syrové" propojení.
Ne žádné AT příkazy a podobně.
Napsal: 01 kvě 2023, 10:45
od Mahoney
Cílem je mít dvě různá zařízení (každé jinde) která spolu komunikují, nebo mít jedno "duální" zařízení, tedy rozšíření o nové funkce (bluetooth/wifi)?
Napsal: 01 kvě 2023, 11:54
od mjana
Mahoney píše:Cílem je mít dvě různá zařízení (každé jinde) která spolu komunikují, nebo mít jedno "duální" zařízení, tedy rozšíření o nové funkce (bluetooth/wifi)?
Momentálně je cílem vyzkoušet si připojit Arduino na WiFi. Ono to vypadá, že tam nějaká komunikace probíhá, protože po přehození RX a TX mi to tam sype hromadu znaků, ale nejde ho nakonfigurovat. Takže budu muset asi pořídit tohle
https://www.gme.cz/v/1508520/usb-esp8266-adapter, pokud se dívám správně.
Napsal: 01 kvě 2023, 13:03
od Mahoney
Arduino na WiFi si nejlíp vyzkoušíš tak, že si ten modul přes USB převodník připojíš k PC přímo a Megu či Nano z toho úplně vynecháš, uvnitř toho modulu je taky procesor (resp. je to SoC, ale to je celkem jedno) a je celkem slušně výkonný, dvoujádrový Tensilica Xtensa LX6 s 600 MIPS. Ten převodník co sis našel (našla?) je pro ESP-01, ten zřejmě nepotřebuješ, stačí ti úplně obyčejný USB to TTL RS232 - teda co máš vlastně přesně za ESP modul (pokud máš ESP-01, tak to v odkazu je správný převodník)?
Napsal: 01 kvě 2023, 14:10
od samec
serial monitor? RX TX? ktoré piny? Tie isté, čo používa USB pripojené do počítača?
Napsal: 01 kvě 2023, 15:56
od Mahoney
samec, vždyť už odpověděl(a)… Je blbost zkoušet připojit nějaký nevýkonný MCU a zkoušet zkrze něj ovládat ESP modul, když přímo v tom modulu je daleko výkonnější procesor, který to obstará úplně v pohodě celé i se spoustou dalších věcí a to Arduino IDE ho navíc podporuje přímo. Tady může tak maximálně být to Nano/Mega jako pomocný procesor (např pro rozšíření počtu I/O pinů, nějaká měření apod), a ne naopak, to by bylo mrhání časem, penězi i prostředky (výkon/spotřeba).
Napsal: 01 kvě 2023, 20:54
od pocitujlasku
Ty vies nasypat arduino kod priamo do toho esp. V arduino IDE si doinstaluj podporu pre esp. a potom si len v menu vyberies konkretnu dosku esp. Pre 01 ja osobne pouzivam generic esp. Pri nahravani ale musis urobit jednu vec. Dat gpio0 na 0 - ja som si na tom adapteri prirobil na boku malicky spinac, ktorym len prepojim gnd a gpio0. To sa pouziva len pri nahravani, ak chces spustit kod, tak gpio0 musi byt v log. 1
a mas arduino s wifi, navodou je potom kopec, ako sa pripojit, ako zistit svoju ip, vies si tam rozbehat vlastny webserver...
Ale bacha, neviem, ci to len ja mam take stastie, ale tie esp 01 mi obcas po zapnuti zacali strasne hriat a potom uz boli nefunkcne. S esp 12, alebo 07 sa mi to za par rokov nestalo ani raz.
Napsal: 02 kvě 2023, 12:26
od mjana
Objednal jsem si ten TTL převodník, abych mohl to ESP-01 8266 nastavit přes něj. Risknul jsem to a nastavil ho prozatím přes to Mega bez logického převodníku a funguje mi, připojilo se mi do sítě. Teď jsem si ho zapojil na to Nano (už s logickým převodníkem a samostatným 3.3V napájením) a chtěl bych si přes něj zavolat REST API (POSTem, GETem), které jsem si spustil na PC. Můžete někdo prosím poradit, jak to nejlépe udělat? Počítám, že na to bude nějaká knihovna.
Napsal: 02 kvě 2023, 12:41
od mjana
Mahoney píše:Arduino na WiFi si nejlíp vyzkoušíš tak, že si ten modul přes USB převodník připojíš k PC přímo a Megu či Nano z toho úplně vynecháš, uvnitř toho modulu je taky procesor (resp. je to SoC, ale to je celkem jedno) a je celkem slušně výkonný, dvoujádrový Tensilica Xtensa LX6 s 600 MIPS. Ten převodník co sis našel (našla?) je pro ESP-01, ten zřejmě nepotřebuješ, stačí ti úplně obyčejný USB to TTL RS232 - teda co máš vlastně přesně za ESP modul (pokud máš ESP-01, tak to v odkazu je správný převodník)?
Vím, že můžu to ESP-01 naprogramovat zvlášť, ale cílem je ho použít v kombinaci s Nano a volat REST API z NANO a to ESP-01 použít jen jako WiFi modul.
Napsal: 02 kvě 2023, 13:06
od Mahoney
A přes jaký protokol a od jaké služby (serveru) chceš to REST API volat? Já se obávám že sis vybral úplně špatně, a jestli to není jen nějaká velmi jednoduchá služba ke které se potřebuješ připojit a napíšeš si to sám, tak na to bude existovat knihovna možná tak na nějaký 32bit, ne na ATmega328.
Napsal: 02 kvě 2023, 13:10
od mjana
Mahoney píše:A přes jaký protokol a od jaké služby (serveru) chceš to REST API volat? Já se obávám že sis vybral úplně špatně, a jestli to není jen nějaká velmi jednoduchá služba ke které se potřebuješ připojit a napíšeš si to sám, tak na to bude existovat knihovna možná tak na nějaký 32bit, ne na ATmega328.
To REST API si píšu sám. Doufal jsem, že pro Arduino je něco jako HTTPClient něco takového používám v C#, Jave. Který jen zavolám a postnu přes něj JSON s nějakým infem do toho api. Případně si v nějakém intervalu GETem zavolám to api a podle toho co mi příjde udělám nějakou akci.
Napsal: 02 kvě 2023, 13:23
od Mahoney
Nějaký jednoduchý HTTP klient na to určitě je, ale ty to vůbec nemusíš řešit přes HTTP, těch dat nebude mnoho (nějaká čidla tipuju), stačí když zůstaneš o úroveň níž a pošleš si to jako TCP/UDP packety přes nějaký port, které si v PC odchytneš. Ale můžeš (ty to chceš posílat do webbrowseru?), jen si musíš uvědomit, že paměť toho MCU není velká, takže tam té omáčky okolo nenacpeš moc. JInak se to řešilo hned ve
vedlejším vlákně nedávno…
Napsal: 02 kvě 2023, 13:29
od mjana
Mahoney píše:Nějaký jednoduchý HTTP klient na to určitě je, ale ty to vůbec nemusíš řešit přes HTTP, těch dat nebude mnoho (nějaká čidla tipuju), stačí když zůstaneš o úroveň níž a pošleš si to jako TCP/UDP packety přes nějaký port, které si v PC odchytneš. Ale můžeš (ty to chceš posílat do webbrowseru?), jen si musíš uvědomit, že paměť toho MCU není velká, takže tam té omáčky okolo nenacpeš moc.
To je pravda, ale to API je takové univerzálnější. Zatím nevím, kolik mi celý ten program zabere, ale doufal jsem, že restový klient + nějaké jednoduché volání toho moc nesežere. Zatím vidím hodně příkladů, kde píšou ten POST, GET přímo do toho ESP-01, ale to bych právě nechtěl a chtěl bych to mít přímo v Arduinu a jak už jsem říkal, použít to ESP jen jako WiFi modul.
Napsal: 02 kvě 2023, 13:33
od Mahoney
Než jsem to zeditoval, stihl jsi odepsat… Já ti rozumím, ale na straně MCU si to musíš co nejvíc zjednodušit, veškerý komfort si pak obstaráš na straně serveru v PC (a bude se ti to tam i líp psát). A nebo to můžeš naložit nějakému dělu, ESP12F (nebo ESP32 C3) s tím problém mít nebudou a nebudeš tam tolik omezen pamětí. Oni to mají dobře, poslat osmibitem surová data a zabalit je do omáčky v ESP je daleko rozumnější, než to rvát celé do osmibitu (a záhy zjistit, že to tam stejně nenarveš).