Go Down

Topic: Modulo WiFi+Bt ESP32 (Read 35154 times) previous topic - next topic

robademar

salve
sono nuovo in questo forum  e sto cercando di usare l'esp32 con webbino per un mio progettino.
Ho un po' di esperienza con Arduino e la programmazione ma ogni tanto incontro problemi che per altri sono banali e per me insuparabili in tempi ragionevoli.
Il punto è che, dopo aver scaricato le librerie wifi e webbino, quando compilo l'esempio Simpl Server ottengo tutta una serie di errori. Ho provato a compilarlo per la scheda esp32.
Visto che qualcuno lo ha già utilizzato mi potreste dire come fare?

Un caffè virtuale a chi mi aiuta. Grazie

Questi gli errori di compilazione
Arduino:1.8.3 (Windows 10), Scheda:"ESP32 Dev Module, QIO, 80MHz, 4MB (32Mb), 921600, None"

In file included from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/WebbinoCore/HTTPRequestParser.h:24:0,

                 from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/WebbinoCore/WebClient.h:25,

                 from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/WebbinoCore/NetworkInterface.h:25,

                 from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/WebbinoCore/WebServer.h:24,

                 from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/Webbino.h:21,

                 from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\examples\SimpleServer\SimpleServer.ino:20:

C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/webbino_debug.h:48:2: warning: #warning Flash strings disabled [-Wcpp]

 #warning Flash strings disabled

  ^

In file included from C:\Program Files (x86)\Arduino\libraries\Ethernet\src\Dhcp.cpp:4:0:

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h: In static member function 'static void W5100Class::initSS()':

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:353:64: error: 'digitalPinToPort' was not declared in this scope

       *portModeRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) |= digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:353:65: error: 'portModeRegister' was not declared in this scope

       *portModeRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) |= digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                 ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:353:112: error: 'digitalPinToBitMask' was not declared in this scope

       *portModeRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) |= digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                                                                ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h: In static member function 'static void W5100Class::setSS()':

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:356:66: error: 'digitalPinToPort' was not declared in this scope

       *portOutputRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) &= ~digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                  ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:356:67: error: 'portOutputRegister' was not declared in this scope

       *portOutputRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) &= ~digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                   ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:356:115: error: 'digitalPinToBitMask' was not declared in this scope

       *portOutputRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) &= ~digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                                                                   ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h: In static member function 'static void W5100Class::resetSS()':

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:359:66: error: 'digitalPinToPort' was not declared in this scope

       *portOutputRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) |= digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                  ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:359:67: error: 'portOutputRegister' was not declared in this scope

       *portOutputRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) |= digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                   ^

C:\Program Files (x86)\Arduino\libraries\Ethernet\src\utility/w5100.h:359:114: error: 'digitalPinToBitMask' was not declared in this scope

       *portOutputRegister(digitalPinToPort(ETHERNET_SHIELD_SPI_CS)) |= digitalPinToBitMask(ETHERNET_SHIELD_SPI_CS);

                                                                                                                  ^

exit status 1
Errore durante la compilazione per la scheda ESP32 Dev Module.

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"

SukkoPera

#106
Jan 16, 2018, 03:31 pm Last Edit: Jan 17, 2018, 12:04 am by SukkoPera
Vai in webbino_config.h, commenta WEBBINO_USE_WIZ5100 e scommenta WEBBINO_USE_ESP8266_STANDALONE WEBBINO_USE_WIFI.

La libreria wifi non serve a niente, il core per ESP32 ha la sua implementazione.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

robademar

grazie sukko,
sono andato avanti ma ora sono fermo per questo errore:

Arduino:1.8.3 (Windows 10), Scheda:"ESP32 Dev Module, QIO, 80MHz, 4MB (32Mb), 921600, None"

In file included from C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\examples\SimpleServer\SimpleServer.ino:45:0:

C:\Users\roberto\Documents\Arduino\libraries\Webbino-master\src/WebbinoInterfaces/AllWiFi.h:48:25: fatal error: ESP8266WiFi.h: No such file or directory

compilation terminated.

exit status 1
Errore durante la compilazione per la scheda ESP32 Dev Module.

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"

SukkoPera

Scusami, ho detto una boiata, il #define giusto è WEBBINO_USE_WIFI. :smiley-roll-sweat:
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

robademar

grazie mille 2 volte. ora compila :)

con tutto quello che hai scritto un piccolo errore è subito perdonato. Grazie per il tuo lavoro adesso inizierò a studiare webbino

robademar

dopo la compilazione lo carica ma non riesce ad ottenere l'indirizzo ip. per sicurezza del mio ambiente ho provato l'esempio Simplewifi server della libreria esp32 e questo funziona.
Qualche altro suggerimento?
PS ho anche provato a modificare l'esempio di webbino facendo luppare sul connect ma non riceve mai l'indirizzo.
Ho anche indicato ssid epw nelle 2 posizioni del source.
Ho visto che l'esempio si compila secondo alcune opzioni. immagino che avendo scommentato webbino_use_wifi
l'unica opzione usata sia questa ed ho quindi commentato la catena degli if lasciando solo questa. No result

SukkoPera

Devi inserire SSID e password qui:

Code: [Select]
#include <WebbinoInterfaces/AllWiFi.h>

    // Wi-Fi parameters
    #define WIFI_SSID        "ssid"
    #define WIFI_PASSWORD    "password"

    NetworkInterfaceWiFi netint;



e sotto lasciare la riga:

Code: [Select]
bool ok = netint.begin (WIFI_SSID, WIFI_PASSWORD);


Ma puoi direttamente lasciare la serie di #if, dovrebbe funzionare.

Al limite prova anche l'esempio FixedIPAddress.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

robademar

#112
Jan 17, 2018, 07:01 pm Last Edit: Jan 18, 2018, 02:01 pm by robademar
Non ci sono ancora. l'esempio di fix address ha questo errore:

ixedIPAddress:100: error: #error "WiFi/WiFi101 does not currently support static IP configuration"

#error "WiFi/WiFi101 does not currently support static IP configuration"


Mentre questa è la prima parte del code che uso per il simple server


#include <Webbino.h>

// Instantiate the WebServer
WebServer webserver;

// Instantiate the network interface defined in the Webbino headers
#if defined (WEBBINO_USE_ENC28J60)
#include <WebbinoInterfaces/ENC28J60.h>
NetworkInterfaceENC28J60 netint;
#elif defined (WEBBINO_USE_WIZ5100) || defined (WEBBINO_USE_WIZ5500)
#include <WebbinoInterfaces/WIZ5x00.h>
NetworkInterfaceWIZ5x00 netint;
#elif defined (WEBBINO_USE_ESP8266)
#include <WebbinoInterfaces/AllWiFi.h>

#include <SoftwareSerial.h>
SoftwareSerial swSerial (6, 7);

// Wi-Fi parameters
#define WIFI_SSID        "Vodafone-roberto"
#define WIFI_PASSWORD    "tim******"

NetworkInterfaceWiFi netint;
#elif defined (WEBBINO_USE_WIFI) || defined (WEBBINO_USE_WIFI101) || \
defined (WEBBINO_USE_ESP8266_STANDALONE)
#include <WebbinoInterfaces/AllWiFi.h>

// Wi-Fi parameters
#define WIFI_SSID        "Vodafone-roberto"
#define WIFI_PASSWORD    "tim******"


NetworkInterfaceWiFi netint;
#elif defined (WEBBINO_USE_DIGIFI)
#include <WebbinoInterfaces/DigiFi.h>
NetworkInterfaceDigiFi netint;
#endif




ho visto che ho 2 librerie wifi con wifi.h.Una si trova nelle librerie di arduino l'altra nell' hardware
espressif, ovvero nell'aggiunta che ho fatto per gestire la scheda. e dal source ho visto che sono differenti. Mi sa che il problema sta lì. Che ne dici Sukko?

Il compilatore rileva la presenza di 2 wifi.h ed usa quell'hardware.

SukkoPera

OK, allora l'esempio con IP statico non lo puoi usare, sorry. Non saprei, io ho fatto un rapido test e me funziona, forse devo provare ad aggiornare il core e vedere se ci sono problemi con le ultime versioni.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

>robademar:   ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post #113 (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie.

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

robademar

thanks and sorry.
In effetti non sono molto pratico con questi strumenti :(

biccius

ciao a tutti

qualcuno ha aggiornamenti riguardo lo sviluppo di esp32?
in particolare si parlava nei post precedenti di bug e possibilità di avere esempi bluetooth classic nell'sdk arduino

andrea1201

Salve, ho un due esp32 e vorrei programmare usando ide arduino, il mio progetto è quello di creare una rete wifi e che l'altro si colleghi, i due esp e si dovrebbero scambiare dati o almeno uno che invii dati e l'altro li esegua (per esempio all'espA è collegato un potenziometro invece l'espB riceve il valore del potenziometro)
Io ho provato a creare uno come Accesspoint e l'altro client ma non riesco a far inviare dati.
Avevo pensato di configurare l'esp32 come AP+Station (credo che non sia possibile con questo modello) ma comunque ho usato le direttive (#if,#else e #endif) ma niente si blocca dopo la configurazione di AP
Non chiedo che mi mandiate per forza tutto il codice ma fatemi capire le librerie e le funzioni che dovrei usare

testato

#118
Mar 15, 2018, 08:45 pm Last Edit: Mar 15, 2018, 08:46 pm by testato
Lascia stare le direttive  :)

Si può fare tranquillamente quello che chiedi,
In tanti modi diversi
Esempio puoi usare il primo come webserver ed il secondo come client, puoi passare dati in mofo bidirezionale
Oppute puoi usare Telnet, sempre da un lato come server e l'altro client.

Consiglio di iniziare a studiare gli esempi integrati nel core esp32, anche AP+Station è funzionante
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

andrea1201

Lascia stare le direttive  :)

Si può fare tranquillamente quello che chiedi,
In tanti modi diversi
Esempio puoi usare il primo come webserver ed il secondo come client, puoi passare dati in mofo bidirezionale
Oppute puoi usare Telnet, sempre da un lato come server e l'altro client.

Consiglio di iniziare a studiare gli esempi integrati nel core esp32, anche AP+Station è funzionante

Se io creo un web server ho bisogno di una rete di accesso quindi di un access point, a questo punto avrei bisogno di tre dispositivi uno access point l'altro web server e l'altro client (anche con telnet), invece l'opzione ap+station non riesco a configurarla... se mi puoi dare una mano perfavore ti sono grato 

Go Up