Go Down

Topic: Modulo Wi-Fi ESP8266 (Read 446689 times) previous topic - next topic

doppiozero

Sto optando per il wifi perchè vorremmo prendere dati real time da più sensori.

Con il bluetooth non penso sia possibile. Giusto  ::) ?

se non riesci a collegare i sensori sotto una sola MCU no, non ce la fai.

Ne butto li un'altra,: 1 ESP configurato come access point e collegato al pc via seriale. Gli altri ESP comunicano con lui via PJON (o altro) e i dati vengono riportati sulla seriale.
"Doc, ma che diavolo è un Gigowatt? "

Runtime Clock Manager -- https://github.com/duezero/RCM---Runtime-Clock-Manager

testato

#2686
May 13, 2018, 09:53 am Last Edit: May 13, 2018, 09:55 am by testato
Perché no ?
Bluetooth a livello di standard ha sempre avuto la possibilità di collegare più device, però si devono scegliere i componenti giusti e fare delle prove.
Non ho mai provato personalmente ma secondo me basta solo scegliere il dongle giusto lato PC con un driver che permette la gestione di multiple com virtuali

The bluetooth standard supports multiple connections across the same bluetotoh link (up to about 60, IIRC), but apparently not all vendors choose to fully support that.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

doppiozero

Ah meglio allora, io la sapevo che il bluetooth era 1 a 1
"Doc, ma che diavolo è un Gigowatt? "

Runtime Clock Manager -- https://github.com/duezero/RCM---Runtime-Clock-Manager

gpb01

#2688
May 13, 2018, 10:32 am Last Edit: May 13, 2018, 10:32 am by gpb01
Perché no ?
Bluetooth a livello di standard ha sempre avuto la possibilità di collegare più device, però si devono scegliere i componenti giusti e fare delle prove.
Esatto, la parolina chiave è "scegliere i componenti giusti" ...

... ad esempio, il classico HC-05, in modalità master, può essere associato a più slave (mi pare massimo 5 o 6), ma ... può essere conneso a solo UNO degli slave alla volta. Occorre quindi trovare un modulo BT di categoria (e fascia di prezzo) superiore, in grado di fare da master e di supportare non solo più associazioni contemporaneamente, ma anche più connessioni.

Guglielmo
Search is Your friend ... or I am Your enemy !

testato

Nel suo caso dove è il pc a fare da master basta scegliere il giusto dongle e usare gli economici hc05 sui sensori
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

gpb01

#2690
May 13, 2018, 04:59 pm Last Edit: May 13, 2018, 04:59 pm by gpb01
Nel suo caso dove è il pc a fare da master basta scegliere il giusto dongle
.. SI, su PC credo che anche i più economici permettano la connessione simultanea con più "slave" ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

iw2fvo

salve a tutti,
posto qua ma non so se sto facendo una cosa giusta...
ho un modulo esp_01 da 1 M e sto usando IDE Arduino.
Nella selezione flash size non capisco a cosa corrispondono le varie selezioni per lo stesso size di memoria.
Qualche aiuto per favore ?
Grzie
ciao

zoomx

Poiché difficilmente il tuo sketch occuperà 1M hai la possibilità di usare parte della flash come se fosse una SD con un file system chiamato SPIFFS. Quello che varia sono le dimensioni di questo file system.

iw2fvo

ok, grazie.
Ma che cosa devo selezionare ?
So che la schedina è di 1M e basta...
ciao


iw2fvo

OK, OK
ho capito ora !
Grazie Zoomx.
ciao

Giancarlo_Physics

Ciao a tutti,
dopo parecchio studio sono riuscito a creare la mia rete wifi di accelerometri plottando i dati in ingresso con python. Ero molto felice fino a quando il tutto ha smesso di funzionare (o quasi) da qualche giorno.
 
Mi spiego meglio:

- ho due NodeMCU V2 Amica: su uno è caricato lo script per configurarlo come Access Point e sull'altro uno che lo configura come Client.

-dal PC, collegato alla rete wifi dell'access point, lancio un codice con python usando socket.AF_INET, socket.SOCK_STREAM per leggere i dati dal client.

Questa configurazione ha funzionato per un paio di giorni, ora quando lancio il codice python il programma mi risponde con questo errore

  File "/client_connection.py", line 51 main()
  File "/client_connection.py", line 29, in main s.connect((TCP_IP, TCP_PORT))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth return                getattr(self._sock,name)(*args)

   error: [Errno 60] Operation timed out

Ho disinstallato e re-installato Arduino, comprato altri due sensori, riscritto i codici. Tutto inutile, non nè vuole sapere di tornare a funzionare.

Il fatto strano è che il codice python mi legge i dati se il sensore e il computer sono collegati a un'altra rete wifi (a esempio la mia rete wifi di casa o quella dell'università).

Qualcuno ha idea di cosa potrei fare per far funzionare di nuovo tutto come prima?
Vi ringrazio

zoomx

A me pare di ricordare che l'ESP8266 in modalità Access Point non permette la comunicazione reciproca tra i dispositivi collegati ma a te ha funzionato.
Io sospetto qualche cambiamento sul PC dovuto ad aggiornamenti ma nel frattempo userei un access point qualunque, anche un modem ADSL non collegato alla linea telefonica.

dareiosd

Ciao,

Scrivo qui in questo megatopic.

Ho acquistato un ESP8266 ESP-01 su amazon per utilizzarlo come modulo wifi di un arduino uno in un progetto di irrigazione. L'idea è quella di utilizzare homeassitant su un raspberry per gestirlo.

Ho seguito un pò di guide, ma non riesco a far comunicare Arduino con il modulo ESP8266 (utilizzando monitor seriale - comandi AT).

Ovviamente con il suo adattatore usb funziona egregiamente (stesso discorso con i comandi AT).

Per fare dei test, ho utilizzado il seguente sketch:

Code: [Select]


#ifndef HAVE_HWSERIAL1
 #include "SoftwareSerial.h"
 SoftwareSerial Serial1(6, 7); // RX, TX
#endif

void setup()
{
 Serial.begin(115200); // serial port used for debugging
 Serial1.begin(9600);  // your ESP's baud rate might be different
}

void loop()
{
 if(Serial1.available())  // check if the ESP is sending a message
 {
   while(Serial1.available())
   {
     int c = Serial1.read(); // read the next character
     Serial.write((char)c);  // writes data to the serial monitor
   }
 }

 if(Serial.available())
 {
   // wait to let all the input command in the serial buffer
   delay(10);

   // read the input command in a string
   String cmd = "";
   while(Serial.available())
   {
     cmd += (char)Serial.read();
   }

   // print the command and send it to the ESP
   Serial.println();
   Serial.print(">>>> ");
   Serial.println(cmd);

   // send the read character to the ESP
   Serial1.print(cmd);
 }
}


Per evitare problemi di alimentazione, ho anche utilizzato positivo e negativo dell'adattatore usb. (Pin 5 e 6 collegati all'arduino, so che è pericoloso ma almeno dovrebbe funzionare per qualche test, no ?)

Riuscite a darmi qualche suggerimento perchè sto diventando pazzo?  :o

Grazie!

gpb01

>dareiosd: essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie. :)

Guglielmo
Search is Your friend ... or I am Your enemy !

zoomx

1 Serial1.begin(9600);  // your ESP's baud rate might be different Il tuo modulo va a 9600 o 115200?

2 Ho capito che hai usato l'alimentazione proveniente dall'adattatore, hai controllato che effettivamente sono 3.3V (più o meno)

3 Credo che tu voglia dire che hai connesso l'ESP-01 direttamente all'Arduino senza alcuna protezione. PErò mentre tu parlo di pin 5 e 6 nello sketch c'è scritto 6 e 7. Comunque sappi che rischi di farlo fuori.
Nel primo post c'è uno schema.


Go Up