Pages: [1]   Go Down
Author Topic: Récupérer une information d'une base sql  (Read 1413 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
Je suis un peu perdu avec tout ce que j'ai pu lire.
Avec un arduino Ethernet, j'aimerais pouvoir récupérer l'état d'une led qui se trouve dans la une base mysql.


Plus précisément : j'ai un site qui permet de changer l'état de la led.
J'aimerais que à intervalle régulier l'arduino aille consulter la base SQL pour voir si l'état a changé.

D'après ce que j'ai compris, il n'est pas possible de se connecter directement en SQL.
Ce que je pensais faire c'est sur une page PHP affichant l'état de la LED et donc que l'arduino aille récupérer l'état sur cette page.

Mais je ne vois pas comment faire.

Merci de votre aide
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 98
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

J'ai bidouillé avec les bases de données mais uniquement dans le sens ou l'arduino alimente la BDD.
Après j'exploite les données avec un prog en VB ou en PHP.
Dans l'autre sens je n'ai jamais essayé.

Dans ton projet es-tu vraiment obligé de passer par une bdd ? Tu pourrais avoir un dialogue serveur-arduino.

Sinon les spécialistes du  forum auront sûrement la solution...

++
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est ce que j'avais commencé à faire, mais je me suis rendu compte que ça ne correspondait pas à ce que je voulais ...
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Le plus simple est de faire un script php qui affiche l'état de la led quand il est appelé.

Exemple :
Code:
<?php

if(!isset($_GET["led'"]))
  die(
"-1");

$led intval($_GET["led'"]); 

$conn mysql_connect("localhost""username""password");

if (!
$conn)
  die(
"-1");

if (!
mysql_select_db("dbname"))
  die(
"-1");

$sql "SELECT etat FROM arduino WHERE led = $led";

$result mysql_query($sql);

if (!
$result)
   die(
"-1");

if (
mysql_num_rows($result) == 0)
   die(
"-1");

$row mysql_fetch_assoc($result);
echo 
$row["etat"];

mysql_free_result($result);

?>

Script Sql
Code:
CREATE TABLE arduino(
led INT(5) PRIMARY KEY,
etat INT(1)
);


Et il suffit d'utiliser l'exemple webClient arduino pour demander au serveur la page balbla.php?led=1 par exemple.
La page renverra le nombre qui correspond à la led voulu ou -1 en cas d'erreur.
« Last Edit: March 06, 2012, 01:31:58 pm by skywodd » Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci beaucoup !
J'aurais une petite question, il faudrait peut être que j'ouvre un nouveau sujet, je ne sais pas.

Pour l'exemple Webclient, ils mettent une adresse IP, est il possible de mettre une adresse web car je suis sur du mutualisé ?

Merci
Logged

La Chaux-de-Fonds
Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut.
Je n'ai pas encore reçu ma carte ethernet et je vais avoir le même problème que toi.
Pas facile de trouver des réponses sur le sujet semble t'il.
De plus, il semble qu'il n'y ai pas de solution simple, il faut passer par les DNS.
J'ai trouvé cela :
http://www.mcqn.com/files/Ethernet-DHCP-DNS.zip
Cherche DNSExample dans l'archive.
Il faut pas oublier d'inclure les .h
Dans l'exemple tu verras, il y a l'IP qui est déclarés
Mais il semble qu'ils utilisent quand même le hostname (www.google.com dans l'exemple).
Redis-moi.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Finalement j'ai réussi grâce à l 'exemple arduino DnsWebClient. Merci jplaville, je n'avais pas pensé à regarder.

Comme j'avais des problèmes avec cet exemple, j'ai pris l'exemple donnée ici :http://arduino.cc/forum/index.php/topic,91642.msg688427.html#msg688427.


Bonne soirée
Logged

La Chaux-de-Fonds
Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Finalement j'ai réussi grâce à l 'exemple arduino DnsWebClient. Merci jplaville, je n'avais pas pensé à regarder.

Comme j'avais des problèmes avec cet exemple, j'ai pris l'exemple donnée ici :http://arduino.cc/forum/index.php/topic,91642.msg688427.html#msg688427.

Bonne soirée

Salut.

En effet, l'exemple Arduino semple plus simple smiley

J'ai pas bien compris, l'exemple DnsWebClient d'Arduino ne fonctionne pas ?
L'autre exemple que tu donnes ne semble pas donner la solution !?
Logged

Pages: [1]   Go Up
Jump to: