arduino et base de donnée

a marqué ce sujet comme résolu.

Bonjour quelqu’un pourrait m’aider j’ai un soucis pour écrire des données dans une base de donnée avec arduino . j’ai presque mis toute les choses en place c’est à dire la partie code , montage et resaux tout fonctionction bien , mais seul le arduino n’ecrire pas dans la base de donnée les donnée de mon capteur dans la base de donnée. Vous trouverez si dessous les différents code . php arduino . pour le code php/

************** <?php try { // connection à la base de données // On se connecte à MySQL $bdd = new PDO(’mysql:host=localhost;dbname=test’, ’root’, ’’); } catch(Exception $e) { die(’Erreur : ’.$e->getMessage()); // En cas d’erreur, on affiche un message et on arrête tout }

if (isset($_GET[’temp1’])) // test si la variable existe { $_GET['temp1'] = floatval($_GET[’temp1’]); // force le type float pour la variable echo (’donnee ’ .$_GET["temp1"]. ’ en cours d'ecriture</br>’); $bdd->exec('INSERT INTO temp (valeur) VALUES('.$_GET["temp1"].’)’); echo (’donnee ’ .$_GET[’temp1’]. ’ ecrite!’); } ?>


et pour mon arduino :

**************#include <SPI.h>

include <Ethernet.h> //Inclure la bibliothèque Ethernet

// Adresse MAC du shield (ici choisie par défaut), l’adresse IP dépend de votre réseau local byte mac[] = { 0x90, 0xA2, 0xDA, 0x0F, 0x15, 0x15 }; //90-A2-DA-0F-15-15 //L’adresse MAC du shield est associée à une adresse IP réseau IPAddress ip(192,168,1,62); //192.168.1.62 à choisir sur votre réseau local int CAPTEUR_TEMP_PIN = 4; // adressage du capteur de temperature (PIN) // int temp = 0; //définition de la variable entière (integer) // float temperature = 0; // variable temperature en flottant // float const_can = 0.0048828; // constante du convertisseur // EthernetClient client; String data; String stringVal;

EthernetServer server(80); //Initialise le serveur Ethernet, port 80 par défaut pour HTTP

//function to extract decimal part of float long getDecimal(float val) { int intPart = int(val); long decPart = 1000(val-intPart); //I am multiplying by 1000 assuming that the foat values will have a maximum of 3 decimal places //Change to match the number of decimal places you need if(decPart>0)return(decPart); //return the decimal part of float number if it is available else if(decPart<0)return((-1)decPart); //if negative, multiply by -1 else if(decPart=0)return(00); //return 0 if decimal part of float number is not available }

void setup() { Serial.begin(9600); //Affichage écran du PC Ethernet.begin(mac, ip); //Démarer la connexion Ethernet et le serveur analogRead(CAPTEUR_TEMP_PIN); }

void loop() { temp = analogRead(CAPTEUR_TEMP_PIN); // lecture du capteur de température // temperature = (((tempconst_can)1000)-500)/10; //calcul// //
if (client.connect("192.168.1.78",80)) { // remplacer par l’adresse IP de votre serveur-ordi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
            client.print( "GET /projet_kane/add.php?");
            client.print("temp1=");
            client.print(temperature);
            client.println( " HTTP/1.1");
            client.println( "Host: 192.168.1.78" );
            client.println( "Content-Type: application/x-www-form-urlencoded" );
            client.println( "Connection: close" );
            client.println();
            client.println();
            while (client.connected()){
              while (client.available()){
                char c = client.read();
                Serial.print(c);
              }
            }
            client.stop();
            Serial.print("donnee ecrite");
            Serial.println(temperature);
} 
    else
    {
      Serial.println("problème de connection");
    }
if (client.connected()) {

    client.stop();    // DISCONNECT FROM THE SERVER
}
delay(30000); // attente en millisecondes

} ************* et dans le moniteure serie il me montre le messa d’eureur suivant .

**************<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don’t have permission to access /projet_kane/add.php on this server.<br /> </p> <hr> <address>Apache/2.4.23 (Win64) PHP/5.6.25 Server at 192.168.1.78 Port 80</address> </body></html> donnee ecrite-21.19***************

merci de m’aider sil vous plait.

Bonjour nicolaskane,

Si tu veux obtenir des réponses (et montrer du respect pour tes lecteurs !), je te conseille de soigner un peu plus ton message :

  • essaie de corriger les fautes de frappe, la ponctuation, etc.
  • utilise les balises pour ton code. Elles sont disponibles grâce au bouton <> de l’éditeur.
+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte