Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

commande interrupteur via php



  1. #1
    pi1148

    commande interrupteur via php


    ------

    Bonjour,

    Je souhaite piloter un interrupteur par un programme informatique (actionner un relais par exemple). Pour ce faire, je possède une carte k8055 de chez velleman que je programme en VB6.
    Cependant, je voudrais réaliser le même genre d'opération mais en programmant en php/mySql.
    Quelqu'un aurait-il une idée, soit un moyen pour piloter ma propre carte, soit me conseiller une autre carte pilotable en php.

    Merci beaucoup à tous.

    Pierre

    -----

  2. Publicité
  3. #2
    lolomatic

    Re : commande interrupteur via php

    Citation Envoyé par pi1148 Voir le message
    Bonjour,

    Je souhaite piloter un interrupteur par un programme informatique (actionner un relais par exemple). Pour ce faire, je possède une carte k8055 de chez velleman que je programme en VB6.
    Cependant, je voudrais réaliser le même genre d'opération mais en programmant en php/mySql.
    Quelqu'un aurait-il une idée, soit un moyen pour piloter ma propre carte, soit me conseiller une autre carte pilotable en php.

    Merci beaucoup à tous.

    Pierre
    Bonjour

    Pour faire simple et rapide, tu peux appeler un programme externe par les instructions system("programme externe") ; ou exec("programme externe") ;
    Il te suffit de placer à la suite du nom de ton programme externe des arguments et de les récupérer dans ton application !
    PHP permet aussi de récupérer la sortie de ton application (stdout) dans une chaîne dont tu pourras te servir pour interragir avec l'utilisateur, par ton interface WEB !

    Autre chose : PHP/MySQL n'est pas un langage de programmation ! PHP est un langage de script, certes, mais MySQL est une base de données totalement séparée du langage PHP !
    S'il est vrai que les deux sont souvent associés dans la conception de pages WEB (et se retrouvent distribués ensemble dans Easy PHP), il n'est pas obligatoire d'apprendre à se servir d'une base MySQL lorsqu'on veut programmer en PHP !


    A+

  4. #3
    pi1148

    Re : commande interrupteur via php

    Citation Envoyé par lolomatic Voir le message
    Bonjour

    Pour faire simple et rapide, tu peux appeler un programme externe par les instructions system("programme externe") ; ou exec("programme externe") ;
    Il te suffit de placer à la suite du nom de ton programme externe des arguments et de les récupérer dans ton application !
    PHP permet aussi de récupérer la sortie de ton application (stdout) dans une chaîne dont tu pourras te servir pour interragir avec l'utilisateur, par ton interface WEB !

    Autre chose : PHP/MySQL n'est pas un langage de programmation ! PHP est un langage de script, certes, mais MySQL est une base de données totalement séparée du langage PHP !
    S'il est vrai que les deux sont souvent associés dans la conception de pages WEB (et se retrouvent distribués ensemble dans Easy PHP), il n'est pas obligatoire d'apprendre à se servir d'une base MySQL lorsqu'on veut programmer en PHP !


    A+
    Merci beaucoup pour cet avis.

    1. Tout a fait d"'accord pour php/mysql, il s'agissait d'un mauvais réflexe

    2. Tu parles 2 fois de programme externe ? est-ce une faute de frappe.

    3. Je ne percoit pas de solution, ce que j'aurais aimé, c'est d'obtenir des instruction de script php pour piloter ma carte. Pour l'instant, j'ai des fichier *.dll fournis avec la carte qui me permette de profiter d'instructions simples dans vb6

  5. #4
    lolomatic

    Re : commande interrupteur via php

    Citation Envoyé par pi1148 Voir le message
    2. Tu parles 2 fois de programme externe ? est-ce une faute de frappe.
    Ce n'était pas une faute, il s'agit de deux instructions distinctes :

    system() ;
    http://fr2.php.net/manual/fr/function.system.php

    exec() ;
    http://fr2.php.net/manual/fr/function.exec.php

    En paramètre de ces fonctions se trouve la ligne de commande à taper (le fameux "programme externe"...)
    Ca fait longtemps que je ne les ais pas utilisées, aussi je ne sais plus laquelle des deux est plus adaptée pour ton problème.

    Citation Envoyé par pi1148 Voir le message
    3. Je ne percoit pas de solution, ce que j'aurais aimé, c'est d'obtenir des instruction de script php pour piloter ma carte. Pour l'instant, j'ai des fichier *.dll fournis avec la carte qui me permette de profiter d'instructions simples dans vb6
    Au temps pour moi, j'aurais dû commencer par répondre plus précisément à ta question initiale.
    PHP est un langage de script côté serveur, il n'est donc pas tout à fait adapté à ton utilisation.
    C'est pour cela que la solution la plus simple passe par un programme externe qui se charge de piloter ta carte (grâce à tes .DLL).
    Le PHP interroge alors ton programme et communique avec ce dernier.

    Si tu veux vraiment utiliser tes DLL avec PHP (ce que je déconseille), tu en as la possibilité, sous Windows uniquement :
    http://www.php.net/manual/fr/ref.w32api.php
    Il faut "wrapper" tes fonctions exportées par tes DLL dans des fonctions PHP.

    Cette technique est à utiliser si il n'y a pas d'autres solutions.
    D'un point de vue de la sécurité, elle se révèle aussi peu recommandable que les fonctions exec() ou system().
    Mais ce qu'il ne faut surtout pas oublier, c'est que le langage PHP appelé depuis un serveur HTTP monopolise un thread de celui-ci durant toute son exécution (et donc un temps d'exécution et un espace mémoire donné).
    Le fait d'utiliser une librairie tierce qui n'est pas prévue pour ce contexte d'exécution peut entrainer des conséquences imprévisibles...
    Au contraire exec() ou system() lancent un processus externe à part entière (comme si on le tapait en ligne de commande). Donc si le programme plante, le serveur aura continué d'exécuter le script sans souci !

    A+

  6. A voir en vidéo sur Futura
  7. #5
    pi1148

    Re : commande interrupteur via php

    Citation Envoyé par lolomatic Voir le message
    Ce n'était pas une faute, il s'agit de deux instructions distinctes :

    system() ;
    http://fr2.php.net/manual/fr/function.system.php

    exec() ;
    http://fr2.php.net/manual/fr/function.exec.php

    En paramètre de ces fonctions se trouve la ligne de commande à taper (le fameux "programme externe"...)
    Ca fait longtemps que je ne les ais pas utilisées, aussi je ne sais plus laquelle des deux est plus adaptée pour ton problème.



    Au temps pour moi, j'aurais dû commencer par répondre plus précisément à ta question initiale.
    PHP est un langage de script côté serveur, il n'est donc pas tout à fait adapté à ton utilisation.
    C'est pour cela que la solution la plus simple passe par un programme externe qui se charge de piloter ta carte (grâce à tes .DLL).
    Le PHP interroge alors ton programme et communique avec ce dernier.

    Si tu veux vraiment utiliser tes DLL avec PHP (ce que je déconseille), tu en as la possibilité, sous Windows uniquement :
    http://www.php.net/manual/fr/ref.w32api.php
    Il faut "wrapper" tes fonctions exportées par tes DLL dans des fonctions PHP.

    Cette technique est à utiliser si il n'y a pas d'autres solutions.
    D'un point de vue de la sécurité, elle se révèle aussi peu recommandable que les fonctions exec() ou system().
    Mais ce qu'il ne faut surtout pas oublier, c'est que le langage PHP appelé depuis un serveur HTTP monopolise un thread de celui-ci durant toute son exécution (et donc un temps d'exécution et un espace mémoire donné).
    Le fait d'utiliser une librairie tierce qui n'est pas prévue pour ce contexte d'exécution peut entrainer des conséquences imprévisibles...
    Au contraire exec() ou system() lancent un processus externe à part entière (comme si on le tapait en ligne de commande). Donc si le programme plante, le serveur aura continué d'exécuter le script sans souci !

    A+
    Oh merci,

    je vais lire et relire ton intervention et puis je reviendrais éventuellement. En tout cas merci pour le temps que tu y a déjà consacré

Discussions similaires

  1. Interrupteur commandé en courant
    Par pasko dans le forum Électronique
    Réponses: 6
    Dernier message: 14/12/2006, 17h39
  2. Interrupteur commandé
    Par thomasalbert1993 dans le forum Électronique
    Réponses: 3
    Dernier message: 10/12/2006, 10h37
  3. Interrupteur commandé TTL
    Par bobby06 dans le forum Électronique
    Réponses: 3
    Dernier message: 07/12/2006, 11h27
  4. Interrupteur commandé par un courant...
    Par benjdev dans le forum Électronique
    Réponses: 1
    Dernier message: 31/10/2006, 20h59
  5. Interrupteur commandé par PC
    Par jdbaranger dans le forum Électronique
    Réponses: 1
    Dernier message: 26/04/2004, 14h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.