Problème envoi commande camera IP

sentenza84 Messages postés 5 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 5 mars 2010 - 1 févr. 2010 à 16:25
sentenza84 Messages postés 5 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 5 mars 2010 - 5 mars 2010 à 11:46
Bonjour a tous,
Je suis actuellement entrain de développer une Ihm sous windows qui permet a l'utilisateur d'envoyer des commandes de mouvements et de capture d'image.
Mais j'ai un petit problème, le fait est que mon code compile très bien sous Builder 6 mais la commande ne fonctionne pas sur la camera, je ne sais pas si cela viens de ma requete GET ou ma connexion ? Quelqu'un as une idée de mon erreur ?

voici mon code

#include <stdio.h>
#pragma hdrstop



#include "U_Connection.h"

#include <stdlib.h>
#include <string.h>


//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
var=1;
int n;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::BtConnectionClick(TObject *Sender)
{
if(var==0)
{
Client->Active=false;
BtConnection->Caption="Connexion";

var=1;
}
else if(var==1){
Client->Address=(EdtAdresse->Text); // insertion de l'adresse IP saisie dans le composant socket
Client->Port=StrToInt(EdtPort->Text); // insertion du port saisie dans le composant socket

Client->Active=true;
BtConnection->Caption="Deconnexion";

var=0;
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
AnsiString recept=Socket->ReceiveText();

}
//---------------------------------------------------------------------------

void __fastcall TForm1::BtenvoiCdeClick(TObject *Sender)
{

sCommande="GET /cgi-bin/video.jpg HTTP/1.1";
sCommande+="Host: 192.168.2.5";
sCommande+="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.17) Gecko/2009122116 Firefox/3.0.17";
sCommande+="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
sCommande+="Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3";
sCommande+="Accept-Encoding: gzip,deflate";
sCommande+="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
sCommande+="Keep-Alive: 300";
sCommande+="Connection: keep-alive";
sCommande+="If-Modified-Since: Sat, 22 Jan 2000 21:00:26 GMT";
sCommande+="Cache-Control: max-age=0";

sCommande+="\r"; // \r veut dire que la commande est finie

strcpy(cCommande,sCommande.c_str()); // cCommande (tableau) prend la valleur de sCommande qui a été transformé en chaine AZERTY par la fonction .c_str()

send((unsigned int)Client, cCommande, strlen(cCommande), 0); //envoi de la commande


}

Merci d'avance pour vos réponses

6 réponses

sentenza84 Messages postés 5 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 5 mars 2010
1 févr. 2010 à 16:38
oups je me suis trompé dans une partie du code

la partie sCommande n'est pas la bonne c'est plutot ceci

sCommande="GET /cgi-bin/camctrl.cgi?move=right HTTP/1.1";
sCommande+="Host: 192.168.2.5";
sCommande+="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.17) Gecko/2009122116 Firefox/3.0.17";
sCommande+="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
sCommande+="Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3";
sCommande+="Accept-Encoding: gzip,deflate";
sCommande+="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
sCommande+="Keep-Alive: 300";
sCommande+="Connection: keep-alive";

mais bon sa ne marche toujours pas
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
1 févr. 2010 à 16:52
salut,

Sans voir la bête j'ai un peu de mal.

Je suppose que tu as une autre appli (constructeur) pour configurer ta caméra.

Si oui, as-tu utiliser WireShark pour comparer les trames envoyée et la réponse de la caméra ?
0
sentenza84 Messages postés 5 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 5 mars 2010
1 févr. 2010 à 17:06
salut
non je n'ai pas d'autre appli pour configurer la camera, je peux juste la configurer via un navigateur web
Pour avoir le type de trame envoyé a la caméra via le navigateur web j'ai utilisé LiveHTTPheader, c'est de cela que j'ai eu l'idée d'envoyer la même trame a la caméra
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
1 févr. 2010 à 17:28
ok, je ne connais pas LiveHTTPheader. Mais tu peux quand meme utiliser WireShark pour voir ce qu'envoie le navigateur.
Ca te permettra de comparer précisément les trames ( du navigateur et de ton appli) c'est comme ca que je debuggais quand je devais configurer un module Wifi.
je ne vois pas l'intéret (pour la caméra) d'avoir les infos du navigateur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sentenza84 Messages postés 5 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 5 mars 2010
5 févr. 2010 à 10:17
je teste cela je vous tiens au courant
0
sentenza84 Messages postés 5 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 5 mars 2010
5 mars 2010 à 11:46
j'ai trouvé une solution pour envoyer cette fameuse requete
En effet je passe par une composant NMHTTP de Builder c++ qui me permet d'envoyer mes requetes sans a avoir a creer de socket, il suffit juste de mettre ce code

NMHTTP->Get("COMMANDE");
0
Rejoignez-nous