Inserire dati su un database remoto con MySQL Connector

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?

Grazie..

Buonasera e benvenuto sul forum,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (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

Ciao, scusami, e grazie del suggerimento. :slight_smile:
Presentazione fatta..

Quale libreria usi ?
conn.connect(server_addr, 3306, user, password) ?? Quale libreria ?

Uso la libreria:
MySQL_Connector_Arduino-1.1.1
Created by: Dr. Charles A. Bell

Dalla tua presentazione ...

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 :wink:

Guglielmo

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

OK grazie, vedo cosa succede se modifico la libreria..

DincaLiviu:
... e vorrei inserire dei dati su un database creato online, con hostinger.

... mah ... da quanto leggo potrebbero essere anche LORO problemi ... guarda QUI ... :o
... io cambierei immediatamente hosting :wink:

Guglielmo