problema di comunicazione esp01 con arduino nano

Salve ragazzi, volevo farvi 2 (BEN DUE si!!! :stuck_out_tongue: ) domande.

La prima riguarda il problema in oggetto, ovvero:
premettendo che sono un neofita, posseggo un arduino UNO ed un paio di arduino nano (appena acquistati). sono riuscito ad usare un esp8266_01 con l'arduino uno... ma col nano, NISBA! non va.
Ho caricato lo stesso sketch su entrambi e collegato gli stessi pin... ma niente! ho anche provato ad alimentare l'ESP01 separatamente (ed ho anche unito i due gnd come suggerivano in uno dei milioni di tutorial sbagliati che si trovano su youtube!)
P.S. lo sketch usato è quello di Blynk. e ribadisco... con l'arduino uno va liscio, con il nano NO. sul monitor seriale mi dice che l'ESP non risponde.
avete qualche idea o consiglio?

...dimenticavo la seconda domanda (opzionale)... ho seguito tanti tutorial (tutti diversi) per caricare uno sketch direttamente sull'ESP8266_01 per renderlo Standalone... ma non sono mai riuscito. ho sempre errori di comunicazione (e qui.... il problema ce l'ho anche con arduino uno, senza procio ovviamente).
non è che avete qualche link di qualche tutorial SERIO che funzioni davvero?

Poche idee, ben confuse. Cominciamo dall'inizio.

Maschiaccio72:
sono riuscito ad usare un esp8266_01 con l'arduino uno... ma col nano, NISBA! non va.

Non va cosa ???

Maschiaccio72:
Ho caricato lo stesso sketch su entrambi e collegato gli stessi pin... ma niente!

Che sketch? Cosa deve fare questo sketch? Che pin hai collegato? Cosa devono fare questi pin?

Maschiaccio72:
ho anche provato ad alimentare l'ESP01 separatamente (ed ho anche unito i due gnd come suggerivano in uno dei milioni di tutorial sbagliati che si trovano su youtube!)

Unire i pin GND solitamente aiuta molto, ma come fai a dire che i tutorial di youtube sono sbagliati???

Maschiaccio72:
P.S. lo sketch usato è quello di Blynk. e ribadisco... con l'arduino uno va liscio, con il nano NO. sul monitor seriale mi dice che l'ESP non risponde.

Blynk ha centinaia di sketch, per accendere/spegnere da smartphone, per leggere le temperature, ecc..
Con Arduino va liscio cosa? Col Nano invece No però il monitor dice che ESP non risponde........
AArgghhh, mi sono perso !!!

Allora, senza polemica, anzi facciamoci una risata, ma avrai notato che il tuo post è un po'...confuso, non credi?

Spiegati meglio e saremo tutti qui a risponderti.

idee chiarissime... tutorials NO. e spiego il perchè: Se segui 25 tutorials per la stessa scgeda (ESP8266)... e sono TUTTI diversi uno dall'altro... la domanda viene spontanea... QUALE CAZZ SARA' quello giusto? c'è chi collega direttamente tx ed rx... chi usa i pin digitali con softserial... chi mettere resistenze qua e la... dei valori più disparati... chi connette certi pin e chi no.... chi mette pulsanti... insomma... capirai che forse non sono io ad avere le idee confuse. ...ovviamente il tutto senza polemica ma, ahimè... senza nemmeno una risata!
Andiamo adesso alla spiegazione più dettagliata degli step che ho seguito.

  1. Uso di arduino ed ESP (esp usato solo come interfaccia wifi e softserial (D2/D3 RX/TX)) con blynk! tutto bene... tutto apposto! ho dovuto costruirmi un piccolo adattatore... ma è andato LISCIO.
  2. Provo ad usare un Nano al posto dell'UNO (posso "imboscarlo" meglio). stesso sketch di prima (il classico blynk per arduino) stesse connessioni... carico lo sketch sul nano ma non funziona! sul monitor seriale, dopo il "logo blynk" mi dice che l'ESP non risponde.
    a questo punto... vado in giro per tutorials etc... e scopro che l'ESP può andare anche standalone... alchè mi documento su come programmarlo tramite l'arduino UNO, leggo alcuni tutorial sul web e guardo un paio su youtube e comincio a far prove. non funzionano... ne cerco altri... non funzionano... ed altri ancora... non funzionano... e son tutti diversi! tra le varie prove annoveriamo: Senza processore arduino ed esp collegato a tx/rx... con processore e softserial... con varie "acrobazie" su breadboard con resistenze...da 2k2....da10k... con pulsanti... etc. Boot Mode con acrobazie sui pulsanti di reset, gpio0 e gpio2...
    Ho provato ad alimentare l'esp01 con l'adattatore per alimentazione breadboard (OVVIAMENTE settato a 3,3v!)
    tra l'altro ho notato che l'adattatore in questione (parlo di quello che si trova negli starter kit) settato a 3,3v me ne spara 4,5!!! e settato a 5v ne vengono fuori 6,9... ma è normale?

insomma... se devo descriverti puntigliosamente UNA SETTIMANA DI PROVE (saranno na trentina...) facciamo notte!

morale della favola: l'esp va solo collegato all'uno! col nano non va (usato esattamente come lo uso con l'UNO)... e standalone non si riesce a programmare! (o almeno, IO non ci sono riuscito!) il problema è che... HO FINITO I TUTORIAL! :stuck_out_tongue:

si riesce a trovare una soluzione?

aggiungo: i mie ESP8266-sp01 sono della AZDelivery. da 512k.

Maschiaccio72:
idee chiarissime... tutorials NO

Perdona la franchezza, senza alcuna polemica, tu avrai anche le idee chiare, ma queste devi anche trasmetterle chiaramente a chi dovrebbe darti una mano! :slight_smile:

Per cominciare le uniche cose che servono sono:

  • quale è l'obiettivo
  • schema dei collegamenti tra tutti gli "oggetti" in gioco
  • codice che va su Uno, ma non su Nano (eventualmente anche quello su ESP8266)

Una volta fatto questo, probabilmente qualcuno sarà in grado di aiutarti.

In merito ai tutorial, mi spiace dirlo, ma evidentemente hai letto quelli sbagliati; ad esempio se ti interessa per ESP8266, parti da qui oppure qui, e ne ho presi due a caso tra i siti che ritengo seri.
Lascia stare youtube, a meno che non riconosci la serietà dell'autore.

Federico

lo scopo ha "poca importanza"...
ho detto che lo sketch è quello di Blynk

/*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Follow us:                  http://www.fb.com/blynkapp
                                http://twitter.com/blynk_app

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************
  WARNING!
    It's very tricky to get it working. Please read this article:
    http://help.blynk.cc/hardware-and-libraries/arduino/esp8266-with-at-firmware

  This example shows how value can be pushed from Arduino to
  the Blynk App.

  NOTE:
  BlynkTimer provides SimpleTimer functionality:
    http://playground.arduino.cc/Code/SimpleTimer

  App project setup:
    Value Display widget attached to Virtual Pin V5
 *************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial


#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "IL_MIO_TOKEN";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "IL_MIO_SSID";
char pass[] = "LA_MIA_PASSWORD";

// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial1

// or Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

BlynkTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, millis() / 1000);
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  // Set ESP8266 baud rate
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, wifi, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run(); // Initiates BlynkTimer
}

la connessione hardware funziona... se funziona con l'uno e con il nano no... credi davvero possa essere un problema di hardware? :wink:
purtroppo non posso postare foto, ma per interfacciarlo all'arduino, funziona.
FUNZIONA significa: dal cellulare con BLINK riesco a pilotare le porte dell'arduino attraverso internet.
da questo si deduce che: la velocità in baud dell'ESP è corretta, i collegamenti rx/tx (con softserial) funzionano, l'esp parte, si connette alla rete wifi e comunca correttamente con l'arduino UNO. Funziona significa semplicemente... FUNZIONA!

cosa significa con il Nano "non funziona"? QUESTO!

adesso che SPERO esser stato più chiaro, vi indirizzo su una risposta più seria del semplice "prendere per i fondelli"...

l'alimentazione dell'esp8266_01 la prendo dal 3,3 dell'arduino uno (quando collegato ad UNO)!
Non è che l'amperaggio supportato dal nano è inferiore e quindi, se prendo la 3,3v dal nano non ce la fa?
inoltre: mi ricollego al messaggio precedente dove vi ho dato già l'indizio...
Ho provato ad usare l'adattatore di alimentazione per breadboard (di cui vi ho parlato prima... quello che mi da tensioni strampalate sia a 3,3v che a 5v) per alimentare IL SOLO ESP8266_01. E' plausibile che queste tensioni all'alimentazione facciano sballare l'ESP? Ricordo che, settato a 3,3v ne escono 4,6!

ok.... per adesso parliamo di questo...

Se ancora non è chiaro il problema... fatemelo sapere così contatto la treccani per un volume di 4.500 pagine dove prometto di essere più esaustivo! XD

Maschiaccio72:
lo scopo ha "poca importanza"...
ho detto che lo sketch è quello di Blynk

Io non stavo facendo polemica, ti stavo chiedendo di postare le uniche cose utili, senza sproloqui sulla tua settimana a guardare video tutorial, che onestamente ci interessa poco.
Con questo post, la polemica la stai facendo tu, per cui, visto che a me non interessa la polemica, il mio interesse per il tuo problema finisce qui.

Buona serata
Federico

Non ti devi offendere. Assolutamente.
Perché siamo tutti qui GRATIS e mettiamo a disposizione le nostre conoscenze a chi ne ha bisogno.

Ti stiamo solo dicendo che ti spieghi male, ma capisco che se tu sei li davanti con la tua breadboard collegata con fili e adattatore (?) è più chiaro che non a noi che siamo dall'altra parte del tuo video e non possiamo capire ...

Ti spiego anche perché: non hai messo, diciamo così, il "titolo" o il "cappello" al tuo post.

Tipo:

  • "ho collegato un Arduino UNO a una ESP8266_01 (che NON E' una ESP8266-e-basta) perché voglio collegarmi a internet con Blink" (se è così sono un mago perché, giuro, non si capisce, tiro a indovinare).
  • "Allego uno schema fatto a penna per farvi capire le connessioni" (sarebbe utile)

è una COSA fatta COSI' ?

Se è così, vedi?, bastava mettere un link ad uno dei tanti tutorial che hai seguito e ci risparmiavamo i post scritti sopra, CHE NON SONO PRESE PER I FONDELLI, ma è solo cercare di capire per aiutarti...

Per ESP8266_01 standalone, intendi QUESTO?

Federico66:
Io non stavo facendo polemica, ti stavo chiedendo di postare le uniche cose utili, senza sproloqui sulla tua settimana a guardare video tutorial, che onestamente ci interessa poco.
Con questo post, la polemica la stai facendo tu, per cui, visto che a me non interessa la polemica, il mio interesse per il tuo problema finisce qui.

Buona serata
Federico

lol...
Avevo postato DECINE di informazioni utili...

La storia della "settimana" non era fine a se stessa... non vi ho raccontato dove sono andato a passeggio... era solo per far capire che "LE HO PROVATE TUTTE", che ho cercato di carpire tante notizie da tantissime fonti diverse e che quindi non sono a "livello zero" ed è inutile perdere tempo con "hai settato a 9600?"... "hai collegato rx con tx?".

Comunque, rispondo a steve-cr che è meglio...

Quello che funziona è fatto così!

questo per quanto riguarda il problema con il NANO. se tolgo UNO e metto NANO non funziona.

ma ho fatto molto altro... tipo (solo solo ALCUNI dei tutorial che ho seguito):

https://www.filoconnesso.it/update-26-04-2019-esp01esp8266-e-iot-da-4-lire-documentazione-in-italiano/#CAPITOLO_1_La_Scheda

In questo caso (programmazione come modulo STANDALONE) ribadisco che NON HO adattatori USB...TTL...STABILIZZATORI... ho solo arduino starter kit intermedio, gli esp e poco altro...
voglio programmarlo con arduino uno ma l'unica cosa che ottengo è questa:

esptool.py v2.6
2.6
esptool.py v2.6
Serial port COM5
Connecting...TRACE +0.000 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
    0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    55555555                          | UUUU
TRACE +0.000 Write 46 bytes: 
    c000082400000000 0007071220555555 | ...$........ UUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    5555555555555555 5555555555c0     | UUUUUUUUUUUUU.
TRACE +0.101 Timed out waiting for packet header
.TRACE +0.054 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
    0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    55555555                          | UUUU
TRACE +0.000 Write 46 bytes: 
    c000082400000000 0007071220555555 | ...$........ UUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    5555555555555555 5555555555c0     | UUUUUUUUUUUUU.
TRACE +0.101 Timed out waiting for packet header
.TRACE +0.054 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
    0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    55555555                          | UUUU
TRACE +0.000 Write 46 bytes: 
    c000082400000000 0007071220555555 | ...$........ UUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    5555555555555555 5555555555c0     | UUUUUUUUUUUUU.
TRACE +0.101 Timed out waiting for packet header
.TRACE +0.054 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
    0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    55555555                          | UUUU
TRACE +0.000 Write 46 bytes: 
    c000082400000000 0007071220555555 | ...$........ UUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    5555555555555555 5555555555c0     | UUUUUUUUUUUUU.
TRACE +0.101 Timed out waiting for packet header
.TRACE +1.806 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
    0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    55555555                          | UUUU
.
.
.
.
.
.
.
Traceback (most recent call last):
  File "C:\Users\ME\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.5.2/tools/upload.py", line 25, in <module>
    esptool.main(fakeargs)
  File "C:/Users/ME/Documents/ArduinoData/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py", line 2653, in main
    esp.connect(args.before)
  File "C:/Users/ME/Documents/ArduinoData/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py", line 468, in connect
    raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

steve-cr:
Per ESP8266_01 standalone, intendi QUESTO?

Interessantissimo... In quasi nessun tutorial è specificato che la logica deve NECESSARIAMENTE essere a 3,3 ... Anzi, la maggior parte di essi incita ad usare TRANQUILLAMENTE quella di arduino a 5v. In effetti i miei ESP01 sembrano funzionare bene con la logica a 5v. Dico SEMBRANO perchè non ho avuto modo di "stressarli" a lungo termine ma solo per brevi periodi di test (15...20 minuti max). Cmq per standalone intendo che una volta programmato con uno sketch apposito, funzioni SENZA connessione ad arduino. Solo alimentazione ed uso dei gpio0 e 2 connessi a sensori (alimentati a loro volta). La comunicazione avviene tramite letture da blynk. Lo scenario sarebbe quello ad es. di un impianto antifurto con i sensori wireless tramite tanti sp01 che colloquiano con una centrale arduino.

Giusto per portarlo a vostra conoscenza... il problema era l'alimentazione del modulo ESP.
Arduino UNO RIESCE ad alimentarlo correttamente dalla porta 3,3v. L'arduino NANO NON RIESCE. Si accende ma la corrente non basta.
Riguardo l'adattatore di alimentazione per breadboard in mio possesso che ho usato per provare ad alimentare l'ESP è risultato essere guasto e tira fuori tensioni che l'ESP non digerisce (come avevo sottolineato INUTILMENTE in alcune risposte precedenti) ed è per questo che non riusciva ad alimentarlo correttamente.

Bene! Questo era il mio primo post in questo forum e... vorrei dirvi tante cose.. ma vi dico solo GRAZIE perchè mi avete fatto risparmiare tanto tempo! :smiley: :smiley: :smiley: :smiley:

Saluti a tutti!

Si, nel link che ti avevo messo era spiegato che ESP assorbe tanta corrente specie se è connesso wifi però pensavo che il regolatore di UNO e di nano fossero uguali ma evidentemente non lo sono.

Meglio così, però diciamo che c'eri già arrivato sin dal tuo secondo post: l'alimentazione elettrica (come quella umana) è sempre importante ! ;D