Pages: 1 [2]   Go Down
Author Topic: Probleme communication UDP arduino/serveur APACHE  (Read 2573 times)
0 Members and 1 Guest are viewing this topic.
83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hum okok je serais tenter de le faire en python alors j'ai déjà fait un peut les base et j'ai trouver sa bien maniable, et oui les fichier.bat permet de faire des lancements de fichier comme çà.
Logged

Un tien vaux mieux que deux tu l'auras !

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon j'ai un souci les fichier .bat ne s’exécute pas depuis une page html apparemment  trop compliquer :s
A quel langage tu pensais pour faire le lien barbudor? j'aimerai ne pas avoir à installer d'autre logiciel comme python vue que c'est pour une page destiner à des ordinateurs XP un peu vieux je préfère rester léger :s 

Je m'en sort pas et j'ai jusqu’à demain ça me rend fou :s

Merci de votre aide.
Logged

Un tien vaux mieux que deux tu l'auras !

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

Bon j'ai un souci les fichier .bat ne s’exécute pas depuis une page html apparemment  trop compliquer :s

On ne se comprend pas.
TU NE PEUX PAS FAIRE DE SERVEUR SOCKET QUELQUE SOIT LE LANGAGE EN TANT QUE SCRIPT DE PAGE WEB

Tout script appelé depuis Apache à une durée d'exécution maximale. Si tu la dépasses, Apache va tuer le thread pour éviter d'être coincé.
Un script de page web est sensé :
- traiter une requête
- envoyer une réponse
- se terminer

Donc c'est utilisable pour faire un client de base:
- créer une socket
- utiliser la socket
- fermer la socket
Le tout dans un temps déterminé.

Mais pas utilisable pour faire un serveur qui est essentiellement une boucle d'attente sur listen et accept.

Si tu veux faire du listen() / accept() il faut lancer cela en dehors de Apache
Ouvrir une commande dos et exécuter
  php.exe mon-prog.php
Et là ton prog est une boucle sans fin qui écoute et accepte les connexion.

Si ce programme là doit échanger avec quelque chose qui tourne dans le serveur Web, ca sera par des requêtes GET/POST.

Je sais pas si j'ai été clair cette fois  smiley-roll-sweat
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 ?

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si si ^^ ne t’inquiète pas c'était déjà compris c'était le dos que j’avais pas compris comme moyen de faire le php.exe monrprog.php ^^ je voulais utilisé un prog en .bat mais sa passe pas en html donc je vais essayer en dos smiley ça aurais été sur linux j'aurai fait du bash mais la sur windows je savais pas trop comment faire ca merci smiley
Logged

Un tien vaux mieux que deux tu l'auras !

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon voila la solution que j'ai trouvée:

<?php

exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "."C:\\WINDOWS\\system32\\cmd.exe /K"."C:\\www\\php-5\\php.exe C:\\www\\monsite\\page_spc\\site\\presence_module.php" );

return;
?>

sa ouvre cmd.exe et envoi la commande de dans.

merci barbudor je test demain si le udp fonctionne mais en tout cas le programme php c'est bien lancer smiley
« Last Edit: October 15, 2012, 06:40:06 pm by skizoh » Logged

Un tien vaux mieux que deux tu l'auras !

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon.. le problème c'est que je reçois toujours pas les message udp :s fread socket_recvfrom rien n'y fait.. le programme bloque et ne fini même pas.. :s je commence à me décourager si quelqu'un pouvait me faire par d'une technique qu'il à réussi à mettre en place?
Logged

Un tien vaux mieux que deux tu l'auras !

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

Code:
<?php
if (!extension_loaded('sockets')) {
    die(
'The sockets extension is not loaded.');
}

$socket socket_createAF_INETSOCK_DGRAMSOL_UDP );
socket_bind($socket"0.0.0.0"8888);

echo 
"Va'z'y, balance la sauce !" PHP_EOL;
while(
1)
{
  
$ret socket_recvfrom$socket$buffer300$from$port );
  echo 
"Reçu \"$buffer\" de la part de $from:$portPHP_EOL;
}
?>

Code:
/* Copié et modifié de UDPSendReceive.pde

#include <SPI.h>         // needed for Arduino versions later than 0018
#include <Ethernet.h>
#include <EthernetUdp.h>         // UDP library from: bjoern@cs.stanford.edu 12/30/2008


// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress ServerIp(192, 168, 168, 1);
unsigned int ServerPort = 8888;      // local port to listen on

// buffers for receiving and sending data
char  ReplyBuffer[30];       // a string to send back

// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;

void setup() {
  // start the Ethernet and UDP:
  Ethernet.begin(mac);
  Serial.print("Arduino IP: ");
  Serial.println(Ethernet.localIP());

  Udp.begin(ServerPort);

  Serial.begin(9600);
  while( !Serial );
}

int compteur = 0;

void loop()
{
  // prepare packet
  sprintf( ReplyBuffer, "Hello %d", ++compteur );
  // send a UDP packet
  Serial.println( ReplyBuffer );
  Udp.beginPacket(ServerIp, ServerPort);
  Udp.write(ReplyBuffer);
  Udp.endPacket();

  delay(5000);
}



* screenshot.37.png (52.19 KB, 786x387 - viewed 24 times.)
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 ?

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je teste des que possible merci beaucoup smiley
Logged

Un tien vaux mieux que deux tu l'auras !

Pages: 1 [2]   Go Up
Jump to: