Pages: [1]   Go Down
Author Topic: arduino+GPRS SIM900 envois des données vers un serveur php+mysql  (Read 979 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

j'ai un problème avec l'envois des données vers une page php avec le module GPRS shield SIM900 j'ai testé plusieur commande AT
===============================================================
.....

AT+CIPSTART="TCP","IP serveur","8020"
OK
Connect OK

AT+CIPSEND
> GET /arduino/add.php?Distante=11 HTTP/1.1  (Ctrl+Enter, Enter depuis le terminal)
Host: http://IP serveur (Ctrl+Enter, Enter depuis le terminal / Ctrl+Enter, Enter depuis le terminal) => Ctrl+Z pour envoyer la requête

Send OK
Connexion Close

puis il affiche la reponse avec une erreur 400!!!

??
===============================================================
add.php

<?php
include("conec.php");
$link=Conection();
if (isset($_GET['Distante']))  {   
   $Distante = $_GET['Distante'];
   echo $Distante;
   $Sql = mysql_query("insert into Distance (Distante) VALUES ($Distante)",$link);
   mysql_close();
}
?>
====================================================================

Merci pour votre aide  :)
Logged

Offline Offline
Edison Member
*
Karma: 9
Posts: 1661
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,

type de server et OS?
cette erreur est une mauvaise requete de la part du client ou requete mal comprise par le server.
regarde tes logs de connexion sur le server.
mais ta requete SQL me parait zarbi.
est ce qu'elle fonctionne avec un pc cette requete?

teste ca pour voir
Quote
<?PHP

$db = mysql_connect('localhost', 'user', 'password');
mysql_select_db('name_bdd',$db);

$sql = "insert into Distance (Distante) VALUES ('$Distante')";
mysql_query($sql) ;

mysql_close();

?>
Logged

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

Bonjour,

Quote
Host: http://IP serveur
Dans le champ "host" il faut le nom de domaine + sous domaine (si tu accèdes à un virtual hosts) du serveur pas un lien HTTP !
Logged

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

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

Bonjour Mrs. merci pour vos remarques

Pour vous répondre "infobarquee" la requête marche bien quand je tape le lien directement sur un browser : http://IP Srveur/arduino/add?Distante=123 beh la valeur s'ajoute dans la base de données!!!, mais je vais quand même tester votre script PHP   smiley-grin

Pour la remarque de "skywodd " c'est vrai que j'utilise l'IP dans le HOST pas male comme remarque merci je vais tester tout ça et je vous tiens au courant  smiley-grin

Merci pour tout
Logged

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

Au passage pour les curieux voici un exemple de requête et de réponse HTTP :
Code:
GET /forum/index.php?topic=148811.0 HTTP/1.1
Host: arduino.cc
User-Agent: Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14
Accept: text/html
Accept-Language: fr
Accept-Charset: utf-8
Code:
HTTP/1.1 200 OK
Server: Apache
X-Powered-By: PHP/5.3.3
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Vary: Accept-Encoding
Last-Modified: Fri, 15 Feb 2013 18:22:54 GMT
Content-Type: text/html; charset=UTF-8
Date: Fri, 15 Feb 2013 18:22:54 GMT
Age: 0
Via: 1.1 varnish
Connection: keep-alive
X-Cache: MISS
Content-Length: 41862

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="arduino+GPRS SIM900 envois des données vers un serveur php+mysql" />
(...)
Logged

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

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

Bonsoir,

merci skywodd pour ton exemple ça marche très bien j'ai eu la même chose que toi  smiley-grin

mais dés que j'ai testé avec mon serveur ça ne marche pas même avec une simple page index.php

vu que j'utilise un port "8020" est-ce que je dois l'écrire dans le HOST ou pas??

un autre problème c que j'attaque d'abord mon mon réseau en passant par le firewall puis je dois atteindre mon serveur PHP qui est en local

sur le firewall le port 8020 est ouvert et qui donne accées au serveur PHP en port 80 !!!

Merci pour votre aide
« Last Edit: February 15, 2013, 05:23:53 pm by Taoufiq » Logged

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

vu que j'utilise un port "8020" est-ce que je dois l'écrire dans le HOST ou pas??
Oui tu dois le mettre dans le host.
Exemple :
Quote
Host: example.org:8080

un autre problème c que j'attaque d'abord mon mon réseau en passant par le firewall puis je dois atteindre mon serveur PHP qui est en local
sur le firewall le port 8020 est ouvert et qui donne accées au serveur PHP en port 80 !!!
Donc d'un point de vue "host" tu restes sur le port 80, mais tu te connectes physiquement sur le port 8020 de ton firewall.
Ton firewall est bien configuré ?
Logged

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

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

Bonsoir skywodd merci pour tes remarques  smiley

oui le Firewall est bien configuré vu que je me connecte sur mon serveur PHP depuis mon adresse IP du domaine en utilisant le port 8020

j'attaque le port 8020 qui me donne accées à mon serveur php en port 80 (serveur apache en xampp => port 80)

Je viens de configuré le fichier de config d'apache pour que je puisse avoir accès de puis n'importe quel pc et network vu qu'il était configuré juste en localhost!!!

Je vous tient au courant si j'ai des nouvelles

Merci bcq pour les remarques iltéressantes smiley

Logged

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

Bonsoir à tous,

Voilà ça marche mtn yopiii  smiley-grin beh juste aprés que j'ai ajouté le host comme il faut (merci  skywodd) il fallait ajouter ça en plus aprés le HOST => Accept : */* et là j'ai eu le fameux HTTP/1.1 200 ok lol

AT+CIPSEND
> GET /arduino/add.php?Distante=1 HTTP/1.1
HOST: mon.serveur.com:8020
Accept: */*

Send OK

Voilà merci à tous et surtout  skywodd
à la prochaine peut être

ciao  smiley-grin
Logged

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

Hello, c'est  possible que il manque quelque "/" on le parole Accept. j'ai le probleme aussi.

Merci.
Logged

Pages: [1]   Go Up
Jump to: