Modulo Wi-Fi ESP8266

ho provato adesso a fare un caricamento tenendo premuto il tasto flash...purtroppo non sono a casa e non posso provare a collegare led al pin per vedere se blinka!
In ogni caso durante il caricamento il comportamento della scheda mi è sembrato lo stesso di quando carico senza premere il tasto, ovvero il led blu sul moduletto esp lampeggia..

Ma questo led blu a quale pin è collegato ? Così magari provo a fare lampeggiare quello ?

zoomx:
Ma non ti ricordi se si tratta di una settimana o un mese?
Per me non ha molta importanza una prova rigorosa, se campa un mese con 2 18650 mi sta benissimo, significa che probabilmente con un pannellino sarebbe capace di superare un'inverno.

Non ho mai fatto caso alla carica delle batterie.
Rischierei di dire fesserie.
Ho preparato tre stilo NiMh dell' Ikea, quelle verdi.
Appena ho due minuti vedo di collegarci il moduletto e mi segno la data di messa in esercizio.

Testato:
no ricordo la questione del tuo post di febbraio, se lo ritrovi e metti qui il link diretto lo rileggo :slight_smile:

Pagina 27 di questo thread.

Il mio modulo attuale usa un Atmel stand alone.
L'alimentazione dell'MCU e del ESP e' a batteria, quindi non serve il diodo e nemmeno la resistenza. Menchemeno l' LM1117.

x AGGIORNAMENTO:
Riflashando il firmware con ESP8266Flasher.exe sono riuscito a far funzionare di nuovo il modulo con il programma LuaLoader..

Ho giochicchiato quindi con LUA e ho provato a caricare un file init.lua trovato in rete che crea un webserver collegandosi ad una rete wifi esistente, crea una paginetta con dei tasti che accende/spegne il led sul modulo...(pin 4 GPIO2 ho visto che è qui collegato...)
Poi ho editato un po il file in modo che mostrasse solo il tasto ON se il led era spento e solo il tasto OFF se invece il led era già acceso! Funziona :slight_smile:

Tuttavia non riesco ancora ad avere risultati con l'ide di arduino! Appena carico qualsiasi sketch, il modulo è come fosse morto! Ho provato a caricarlo con tutte le velocità possibili, tenendo e non tenendo il tasto flash sul modulo...niente! :frowning:

Busco
Sotto linux 32bit c'era un bug

Per il momento devi usare questo json cioè la version in fase di test (staging version)
http://arduino.esp8266.com/staging/package_esp8266com_index.json

Penso che al più presto rilasceranno la versione stable:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

roboticboyer:
Busco

Per il momento devi usare questo json cioè la version in fase di test (staging version)
http://arduino.esp8266.com/staging/package_esp8266com_index.json

OK, con staging funziona!

5a2v0
La velocità di upload è autosettante, puoi usare quella che vuoi quindi vai sempre ad 1Mb che fai prima.
La tua nodemcu è la versione 1.0 sta attento che sono due board diverse 09 e 10

Non serve premere nulla perché nodemcu ha il reset automatico

Quando carichi ti escono tanti puntini..... ?
Il log che hai postato non è quello che deve apparire durante upload

Grazie Testato prima di tutto :slight_smile:
Escono tanti puntini si!
Quindi riepilogando metto come board la nodemcu 1.0 (che se non erro dovrebbe avere quindi l'esp8266-12e giusto?)
Velocità una qualunque ma se metto alta effettivamente va piu veloce rispetto al normale 9600..
Programmatore? (non vorrei che sbaglio qui)
Lasciando quello di default come output completo ricevo:

Lo sketch usa 201.114 byte (19%) dello spazio disponibile per i programmi. Il massimo è 1.044.464 byte.
Le variabili globali usano 44.608 byte (54%) di memoria dinamica, lasciando altri 37.312 byte liberi per le variabili locali. Il massimo è 81.920 byte.
C:\Users\Salvo\AppData\Roaming\Arduino15\packages\esp8266\tools\esptool\0.4.5/esptool.exe -vv -cd ck -cb 115200 -cp COM4 -ca 0x00000 -cf C:\Users\Salvo\AppData\Local\Temp\build5906339969702450697.tmp/BlinkWithoutDelay.cpp.bin 
esptool v0.4.5 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
	setting board to ck
	setting baudrate from 115200 to 115200
	setting port from COM1 to COM4
	setting address from 0x00000000 to 0x00000000
	espcomm_upload_file
	stat C:\Users\Salvo\AppData\Local\Temp\build5906339969702450697.tmp/BlinkWithoutDelay.cpp.bin success
	setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
	flush start
	setting serial port timeouts to 1 ms
	setting serial port timeouts to 1000 ms
	flush complete
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	read 0, requested 1
trying to connect
	flush start
	setting serial port timeouts to 1 ms
	setting serial port timeouts to 1000 ms
	flush complete
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_open
Uploading 205264 bytes from C:\Users\Salvo\AppData\Local\Temp\build5906339969702450697.tmp/BlinkWithoutDelay.cpp.bin to flash at 0x00000000
	erasing flash
	size: 0321d0 address: 000000
	first_sector_index: 0
	total_sector_count: 51
	head_sector_count: 16
	adjusted_sector_count: 35
	adjusted_size: 023000
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	setting serial port timeouts to 10000 ms
	setting serial port timeouts to 1000 ms
	espcomm_send_command: receiving 2 bytes of data
	writing flash
...
starting app without reboot
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	espcomm_send_command: receiving 2 bytes of data
closing bootloader
	flush start
	setting serial port timeouts to 1 ms
	setting serial port timeouts to 1000 ms
	flush complete

Il programmatore non serve per questo, serve su Arduino per il bootloader quindi non importa.
L output che mi copi non l'ho mai visto, dove sono i puntini
Devono uscire due upload di due file, con tanto di indirizzo 0x0..... Ecc
Ndo' sono ? :slight_smile:

I puntini li fa mentre dice caricamento... Quando finisce nell output ne fa vedere meno...

Quando prima sbagliando avevo selezionato la vers. 0.9 ho visto che li fa 2 serie di puntini mentre con la 1.0 ne ha fatta una serie sola

Puoi copiare l'intero output incluso l'inizio ?
Non capisco questo output cosa sia, non l'ho mai visto

questo è l'output completo come nodemcu 1.0! Allego anche uno screenshot

Lo sketch usa 201.114 byte (19%) dello spazio disponibile per i programmi. Il massimo è 1.044.464 byte.
Le variabili globali usano 44.608 byte (54%) di memoria dinamica, lasciando altri 37.312 byte liberi per le variabili locali. Il massimo è 81.920 byte.
C:\Users\Salvo\AppData\Roaming\Arduino15\packages\esp8266\tools\esptool\0.4.5/esptool.exe -vv -cd ck -cb 115200 -cp COM4 -ca 0x00000 -cf C:\Users\Salvo\AppData\Local\Temp\build5906339969702450697.tmp/BlinkWithoutDelay.cpp.bin 
esptool v0.4.5 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
	setting board to ck
	setting baudrate from 115200 to 115200
	setting port from COM1 to COM4
	setting address from 0x00000000 to 0x00000000
	espcomm_upload_file
	stat C:\Users\Salvo\AppData\Local\Temp\build5906339969702450697.tmp/BlinkWithoutDelay.cpp.bin success
	setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
	flush start
	setting serial port timeouts to 1 ms
	setting serial port timeouts to 1000 ms
	flush complete
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	read 0, requested 1
trying to connect
	flush start
	setting serial port timeouts to 1 ms
	setting serial port timeouts to 1000 ms
	flush complete
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_send_command: receiving 2 bytes of data
	espcomm_open
Uploading 205264 bytes from C:\Users\Salvo\AppData\Local\Temp\build5906339969702450697.tmp/BlinkWithoutDelay.cpp.bin to flash at 0x00000000
	erasing flash
	size: 0321d0 address: 000000
	first_sector_index: 0
	total_sector_count: 51
	head_sector_count: 16
	adjusted_sector_count: 35
	adjusted_size: 023000
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	setting serial port timeouts to 10000 ms
	setting serial port timeouts to 1000 ms
	espcomm_send_command: receiving 2 bytes of data
	writing flash
...............................................................................................
starting app without reboot
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	espcomm_send_command: receiving 2 bytes of data
closing bootloader
	flush start
	setting serial port timeouts to 1 ms
	setting serial port timeouts to 1000 ms
	flush complete

Allora è cambiato, io non ho messo ancora la stable ?
Appena torno a casa provo e verifichiamo assieme

Continua a fare come prima... E non mi blinka nulla :frowning:

ok, cambiato pc, ho installato le board aggiuntive seguendo il link STAGING anzichè quello STABLE e senza problema alcuno, caricamento completato e blinka !

Torno al pc che usavo prima, disinstallo le board aggiuntive, cambio il link json e reinstallo le board (sempre link STAGING) e riprovo il caricamento... upload ok e sketch funzionante !

Il tutto è capitato su 3 pc differenti in effetti (1 con XP 32bit, e poi gli altri 2 con W7 32 e 64bit)...quindi lo STABLE non è affatto STABLE ! >:(

Comunque felice che funzioni..

p.s. @Testato l'output anche adesso che funziona è sempre uguale a prima !!

ciao,
ho comprato anch'io l'ESP8266, il modello 01
l'ho connesso ad arduino UNO e si accende il led rosso,
all'inizio ho collegato TX dell'esp all'RX di arduino UNO sul pin 1 e poi
RX dell'esp (mediante regolatore di tensione) al TX di arduino sul pin 0
sono riuscita anche a richiedergli la versione con il comando AT+GMR ed ho ottenuto come risposta
AT version:0.25.0.0 (Jun 5 2015 16:27:16)
SDK version:1.1.1
Ai - Thinker Technology Co. Ltd
Jun 5 2015 23:07:20
OK
quindi funziona !
riesco a vedere le reti wifi intorno con il comando AT+CWLAP,
ora ho spostato i cavetti sui pin 10 e 11 di arduino, perché
vorrei usarlo per i miei scopi: l'ho comprato per pilotare la mia macchinina.
Lo faccio anche con il modulo bluetooth, ma adesso volevo cimentarmi con il wifi.
Devo forse prima usare il comando AT+CWJAP in cui gli setto la rete e la password, così mi assegna l'IP ?
e solo dopo posso usarlo per ricevere i messaggi ?
in sostanza io vorrei solo inviargli un testo e poi da sketch arduino parsificare il messaggio e quindi passare agli attuatori.
grazie 1000, ho letto le 66 pagine precedenti del topic (anzi megatopic), ma volevo essere sicura di aver capito.

ho rimesso i collegamenti sui pin 0 e 1 usando la seriale fisica di Arduino UNO
e l'ho collegato ad una rete, indicandogli l'SSID e la Pwd
quindi ho richiesto mediante il comando AT+CIFSR l'IP che mi è stato assegnato.

A parte che vedo due id address: il CIFSR:APIP e il CIFSR:STAIP e devo ancora capire la differenza.
Ma adesso potrei usarlo per inviare dei messaggi ad Arduino?

Ma devo ricollegare i pin 10 e 11 e riportare la baud rate a 9600 ?
ho un po' tanta confusione in testa.
scusate ancora, grazie per l'aiuto

Tutti gli ESP con firmware originale che supporta i comandi AT hanno 3 modalità di funzionamento: da client, da Access Point, da entrambe. Nel tuo caso è l'ultima opzione, STAIP dovrebbe essere l'IP da clinet mentre APIP l'IP da Access Point.
Ad oggi le due reti sono separate.

Il baud rate può essere quello di tua scelta.
E' un po' che non lo uso ma se non ricordo male per comunicare con il dispositivo remoto devi usare un apposito comando AT. Non ricordo se esiste una modalità per cui l'ESP si comporta in maniera trasparente per cui la connessione in WiFi è identica ad una via seriale, con i vecchi modem analogici era possibile, anzi era quella standard dopo che avveniva la connessione fra due modem. Forse è il comando CIPMODE ma forse non va bene secondo quanto scritto qui
http://tech.scargill.net/esp8266-new-at-code/
C'è uno che ha creato un trasparent bridge

intanto grazie zoomx per la risposta,
mi rileggerò le 66 pagine indietro, ma quello che vorrei sapere è se serve qualcos'altro per utilizzare ESP come ricevitore da un terminale.
Ho scaricato RealTerm ma non sono riuscita a inviare nulla, forse anche perché non ho capito come devo collegare i TX e RX, se sui pin 0 e 1 di arduino oppure sui 10 e 11.
Finora quello che sono riuscita a fare è
dopo aver collegato rx e tx sui pin 0 e 1 di arduino, e ovviamente anche il pin ch-pd, oltre che Vcc e gnd,
da monitor seriale ho scelto la baud rate 115200 e both(N L& CR),
ho inviato i comandi AT, AT+GMR che dà la versione, AT+CWMODE=3 (per impostargli entrambi i modi, sia come client che come access point), AT+CWLAP (dà l'elenco delle reti wifi disponibili), AT+CWJAP="mia wifi","pwd" (e mi sono connessa alla mia rete), AT+CIFSR (mi ha dà l'indirizzo ip come client e come access point)

ma ora per inviare all'esp dei messaggi come devo fare: immagino di dover collegare sui pin 10 e 11 di arduino e anche utilizzare la baud rate 9600, ma non mi riesce.

Non mi era chiara questa cosa dei pin 10 e 11. Il micro 328p usato da Arduino ha una sola seriale hardware, cioè gestita internamente. E' però possibile creare una seriale software.
Se usi la seriale hardware di Arduino devi usare i pin 0 e 1.
Se usi la seriale software allora puoi usare altri piedini. Io ho usato quelli accanto, il 2 e il 3.

La seriale software non è performante come la hardware specialmente alle alte velocità. Inoltre per ogni seriale viene creato un buffer sulla RAM per cui averle entrambe potrebbe limitare la RAM rimasta.

Per controllare cosa succede puoi usarle entrambe, una la dedichi alla comunicazione con l'ESP e l'altra alla comunicazione con il PC. Solo che se usi la seriale software con il PC poi ti serve un moduletto USB seriale da connettere ai piedini scelti perché sulla USB incorporata in Arduino va solo la seriale hardware.

Le velocità della seriale dell'ESP8266 e della seriale scelta su Arduino devono coincidere.

Suggerimento. Forse ti potrebbe convenire usare direttamente il solo modulino ESP8266, la versione 12 ha molti piedini ma non so se ci sono tutte le librerie che ti servono.

Più che leggerti le 66 pagine ti conviene cercare degli sketch. I ne ho uno che ho usato ma in questo è l'Arduino a gestire la comunicazione per cui non c'è una sezione in cui aspetta comandi.

Il forum di riferimento è esp8266.com ma è tutto in inglese.

Dimenticavo, se non ricordo male il modulo ricorda i dati di collegamento per cui all'accensione si collega da solo all'ultima rete cui si è collegato.

Ottimo messaggio da parte di zoomx, molto chiaro.
Anch'io vorrei usare due moduli ESP_01 per connettere due MCU's tra loro usando L'UART bidirezionale.
Gli MCU's sono dei PIC's .
Mi servirebbe sapere se è necessario interporre ai due moduli ESP altrettanti Arduino oppure se è possibile impiegare solamente gli ESP e quindi senza Arduino interposti.
Grazie
Ambro