Pages: [1] 2 3 4   Go Down
Author Topic: Arduino ecriture base Access ou SQL  (Read 6307 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
j'aimerai bien pouvoir envoyer les valeurs de certaines variales de mon code arduino dans une base de donnée hébergée sur un serveur.
Savez vous si cela est possible ? et si oui auriez quelques pistes à me suggérer autant du côté Arduino que du coté serveur ?

Actuellement les données s'enregistrent bien sur la carte SD du shield Ethernet.

Je pense utiliser un GET en direction du serveur mais j'avoue ne pas avoir la bonne méthode pour coder cela dans l'arduino.
« Last Edit: November 05, 2012, 03:27:31 pm by PITP2 » Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je ne penses pas que tu puisses faire directement du SQL depuis l'Arduino.

Toutefois, tu peux faire des GET ou POST vers un script PHP hébergé à l'extérieur qui lui va se charger de se connecter à ta base SQL et y écrire les données.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Full Member
***
Karma: 0
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Réponse super rapide !
ok pour la deuxième phase je vais passer par de l'ASP plutot car je maitrise mieux ... enfin maitriser ... :-)
Par contre as tu la syntaxe et la manière de faire un GET depuis l'arduino ?
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

http://arduino.cc/en/Tutorial/WebClient
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

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

Bonjour,

J'ai posté un exemple trés simple en PHP + mySQL il y a déja quelques temps :
http://arduino.cc/forum/index.php/topic,94887.msg713238.html#msg713238

Côté arduino il suffit d'utiliser l'exemple WebClient.
Exemple avec le code cité ci dessus :
Code:
GET /index.php?led=13 HTTP/1.0
Logged

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

Offline Offline
Full Member
***
Karma: 0
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai essayé avec le webclient mais je n'ai rien d'affiché dans le moniteur série ou plutot je n'ai pas le résultat de la requete j'ai juste ceci

connecting...
connected

disconnecting.

???? Etrange, j'ai pourtant mis la bonne adresse de google (qui est fausse dans l'exemple ...)

Code:
/*
  Web client
 
 This sketch connects to a website (http://www.google.com)
 using an Arduino Wiznet Ethernet shield.
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 18 Dec 2009
 modified 9 Apr 2012
 by David A. Mellis
 
 */

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(74,125,79,94); // Google

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for(;;)
      ;
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET /search?q=Arduino HTTP/1.0");
    client.println();
  }
  else {
    // kf you didn't get a connection to the server:
    Serial.println("connection failed");
  }
}

void loop()
{
  // if there are incoming bytes available
  // from the server, read them and print them:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    for(;;)
      ;
  }
}


Je devrais pourtant avoir autre chose non ?
Logged

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

J'ai essayé avec le webclient mais je n'ai rien d'affiché dans le moniteur série ou plutot je n'ai pas le résultat de la requete j'ai juste ceci
(...)
???? Etrange, j'ai pourtant mis la bonne adresse de google (qui est fausse dans l'exemple ...)
Essaye avec autre chose que les serveurs de google, comme l'ip de ta box par exemple.
J'ai pas mal de probléme avec mes scripts Ethernet et google ... à croire qu'il détecte et ignore les requêtes ne provenant pas d'un "vrai" navigateur.
Logged

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

Offline Offline
Full Member
***
Karma: 0
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Même chose je n'ai  rien qui s'affiche ...
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wireshark ?

Hum. Mais il faudrait un hub ou un switch avec port mirroir.
A moins de se mettre un petit serveur web sur le PC pour le test.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Jr. Member
**
Karma: 3
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Et comme ça ?

Code:
client.println("GET /search?q=Arduino HTTP/1.0");
client.println ("Host: google.com");
client.println ();


Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

toujours rien .... malédiction sur mon arduino     smiley-confuse
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

et avec un mac (ou pc…), dans le terminal en tapant
Code:
telnet google.com 80

tu obtiens quelque chose ? sur le mac il devrait afficher quelque chose comme

Code:
Trying 173.194.34.100...
Connected to google.com.
Escape character is '^]'.

puis tu tapes

Code:
GET /search?q=arduino HTTP/1.0


 donc la ligne GET etc en terminant par entrée puis une deuxième fois entrée…
là devrait apparaître la réponse du serveur:

Code:

HTTP/1.0 200 OK
Date: Sun, 26 Aug 2012 20:11:25 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1



Logged

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

Question bête mais qui (je crois) n'as pas était posé :
Sous quelle version de l'ide travaille tu (>=0023 ou <=1.0) ?
C'est peut être un probléme de configuration (logicielle et/ou matérielle).

Essaye l'exemple TelnetClient : http://arduino.cc/en/Tutorial/TelnetClient
Avec l'ip de ton pc comme cible et une console netcat en écoute (nc -l -p 10002).
Logged

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

Offline Offline
Jr. Member
**
Karma: 3
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

avec l'adresse 173.194.34.68 pour google, ça marche chez moi… (juste adapté le sketch pour l'ide 23 sur un mega2560)
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 127
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pour l'ide je crois que je suis en 1.0.1 c'est possible ?

j'ai essayé la méthode exposée en telnet mais cela ne donne rien chez moi ...
je suis sur PC alors la méthode change un peu je crois ?
Logged

Pages: [1] 2 3 4   Go Up
Jump to: