Ciao ragazzi, sono nuovo sul forum e spero di aver scritto nel posto giusto.
Usa la scheda Arduino Mega 2560 con un ethernet shield, e vorrei inserire dei dati su un database creato online, con hostinger. Ho preso come esempio il complex insert, esempio che c'è nella libreria, pero non riesco a connettermi.
I dati server_addr, user e password sono giusti perché li uso per leggere da server con una pagina php dove vedo i dati, quindi non capisco perché con arduino non si connette.
Per controllare la connessione nel programma si usa questa istruzione
if (conn.connect(server_addr, 3306, user, password))
Dato che il server è fuori casa ho provato ad aprire la porta 3306 pero niente, ho provato anche con la porta 80 pero non funziona.
Qualcuno di voi ha già prova a connettersi ad un server esterno?
Buonasera e benvenuto sul forum,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentartiQUI (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
P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda: - serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - pinout delle varie schede by xxxPighi: Pinout - link generali utili: Link Utili
DincaLiviu:
... Al momento uso Arduino per la Domotica, e cerco di realizzare un progetto per casa mia. ...
... dato che prevenire e meglio che curare, ti chiedo di rileggere con MOLTA attenzione il punto 15.3 del REGOLAMENTO .
Quindi ... attenzione a dove andranno a parare le discussioni
Secondo me nell'esempio c'e' la porta 3306 perché la libreria è pensata per MySql che presumo usa quella porta.
Bisogna vedere il db che c'e' dietro a quel sito che usi. Mi pare MySql ma verifica.
La libreria in questione usa internamente la libreria standard EthernetClient
Dentro a MySQL_Packet.h si legge: "Client *client; // instance of client class (e.g. EthernetClient)"
Purtroppo però quando nel MySQL_Connection::connect cerca di collegarsi (tenta 3 volte con pausa 1 sec.) non stampa da qualche parte l'errore rilevato ma solo false:
Un minimo di numero di errore avrebbe dato qualche indicazione.
Potresti modificare il file MySQL_Connection.cpp
aggiungendo un bel else:
if (connected) {
...
}
else
{ Serial.print("Errore:"); Serial.println(connected);
}
I numeri riportati sono:
SUCCESS 1
TIMED_OUT -1
INVALID_SERVER -2
TRUNCATED -3
INVALID_RESPONSE -4