Go Down

Topic: Envoyer et recevoir des donnée d'une base de données ( pon (Read 416 times) previous topic - next topic

lgabed420

Bonjour à tous,

Je cherche une proposition ou des orientations pour envoyer et recevoir des données (mesures capteurs ...)  d'une carte arduino mega à une DB SQL avec l'intermediaire d'un ESP01

Donc comme notre ami supercc m'avait dit un pont  : un pont Arduino <-> ESP8266 <-> Base de données .

Merci d'avance !

hbachetti

Il y a deux manières de faire ça :

Un serveur PHP (ou autre) qui reçoit des requêtes HTTP de l'ESP01 et génère les requêtes SQL adéquates :
https://randomnerdtutorials.com/esp32-esp8266-mysql-database-php/

Se connecter directement à la base avec l'ESP01 :
https://github.com/ChuckBell/MySQL_Connector_Arduino

Mais la MEGA ne verra rien de tout cela, tout se fera entre ESP01 et serveur.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

lgabed420

hbachetti : Merci pour ta réponse !

D'accord merci ! et pour utiliser les données qu'on reçoit de l'arduino ( mesures des capteurs )  y a til un pont pour envoyer tout cela ?

hbachetti

Tu insères simplement les données dans la requête HTTP ou MYSQL.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

lgabed420

Donc en gros l'arduino reçoit les mesures des capteur, il les transmets à l'esp puis l'esp à la base de données ?

hbachetti

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

lgabed420

theoriquement oui , mais pratiquement pas vraiment x), deja la premiere etape de transmettre les mesures de la Mega à l'esp8266-01, tu auras des recommandations stp ?

hbachetti

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

lgabed420

Quote
Non, aucune, il me semble que supercc t'a déjà prémâché la moitié du travail non ?
Non, dans ces exemples il contrôle les arduinos à l'aide d'un navigateur web ...

Ce que je veux c'est de transmettre des données ou des variables à l'esp pour pouvoir ensuite la transferer dans une base de donnée MySQL ( cela est une autre histoire) 

hbachetti

Je ne vois pas ce qui t'empêche d'envoyer des mesures de la MEGA à l'ESP01 par la ligne série, en mode texte ou en binaire.
Il n'y a pas de librairie pour cela.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

lgabed420


supercc

Donc en résumé, maintenant que vous avez fait tout le boulot ;-)

arduino <--- [Serie ]---> Pont esp8266 <--- [Wifi] ---> serveur quelconque (TCP, HTTP, ...)

1. L'arduino, qui ne sait communiquer que par sa liaison série, émet sur celle ci la requête et attend une réponse.
2. Le pont esp8266 (qui écoute la liaison série) capte la requête et l'envoie par Wifi, attend et collecte la réponse du serveur, et affiche la réponse sur la liaison série .
3. L'arduino, qui écoutait la liaison série, collecte la réponse et est content.

L'arduino qui est le client ne fait que écrire/lire sur sa liaison série, et n'a pas connaissance de quoi que ce soit de réseau et pourtant il l'utilise.

Qu'est qu'on a, qu'est ce qui manque ?

1. L'arduino : la fonction int sqlSend(char *serveur, unsigned int port, char *request, char *response, unsigned len); est a écrire.

2. Le pont : Dans le cas de sql tu as de la chance, MySQL Connector Arduino fait le job (jamais testé), y compris sur ESP8266. Reste a établir le pont (lecture série, émission requête, collecte réponse de requête, écriture série réponse)

3. fait partie de la fonction sqlSend du point 1.

Ça c'est la théorie ;-)

@lgabed420, essaye peut-être déjà de faire fonctionner "MySQL Connector Arduino" sur ton ESP-01, et peut être qu'on pourra récupérer le code du pont qui est en cours de développement ici. Quand il marchera, sa transposition à un serveur MySql devrait être triviale.



lgabed420

Bonsoir supercc,

je viens de rentrer du boulot^^, je vais essayer ce soir ce que tu viens de me conseiller j'espere que j'y arriverai comme ca demain je traite ce qu'il reste :D

supercc


lgabed420


Go Up