Page web et envoie de donnée vers USB - Page 3
Répondre à la discussion
Page 3 sur 5 PremièrePremière 3 DernièreDernière
Affichage des résultats 61 à 90 sur 130

Page web et envoie de donnée vers USB



  1. #61
    vost

    Re : Page web et envoie de donnée vers USB


    ------

    Un live box c'est bon tu devrais la tapper par http://192.168.0.1

    Pour le HTML te tracasse pas, considères le juste comme un texte que tu veux afficher sur un écran.

    Au début de ton C tu récupères les paramètres envoyés s'il y en a.
    Si il n'y en a pas, tu affiches directement le code html ci-dessous :

    Si ton programme C s'appel par exemple "cgi-raspi.exe" :
    Code HTML:
    <html>
      <head>
         <title>Raspi Web Page</title>
      </head>
      <body>
        <form method="POST" action="cgi-raspi.exe">
           OFF <input type="radio" name="etat" value="0" checked="checked"> - <input type="radio" name="etat" value="1"> ON 
           <input type="submit" value="Envoyer vers le Raspberry" />
        </form>
      </body>
    </html>
    Si il y'a un paramètre tu le décodes comme tu l'as compris en découpant les différants paramètres séparés par des "&"
    Ensuite tu sépares les nom des paramètres de leur valeur. Il seront séparés par des "="

    Si tu suis cet exemple, quand tu reçevras un paramètre tu obtiendras la chaine "etat=0" ou "etat=1" selon que tu auras coché "OFF" ou "ON" sur la page.

    Si etat=0 tu dis à ta lampe de s'éteindre et tu fais comme si tu écrivais à l'écran la même page html que si dessus (printf en C je crois).
    Si etat=1 tu dis à ta lampe de s'allumer et tu écris la même page html en remplacant la ligne :
    Code HTML:
    OFF <input type="radio" name="etat" value="0" checked="checked"> - <input type="radio" name="etat" value="1"> ON
    par
    Code HTML:
    OFF <input type="radio" name="etat" value="0"> - <input type="radio" name="etat" value="1" checked="checked"> ON
    Simple non ?
    Et pas besoin de page html initiale. Dans ce cas ce programme suffit.

    -----

  2. #62
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Jai bien compris le principe du programme mais j'ai 2 questions du coup:
    - si j'ai etat=0 je re écrit cette partis:
    Code HTML:
    <html>
      <head>
         <title>Raspi Web Page</title>
      </head>
      <body>
        <form method="POST" action="cgi-raspi.exe">
           OFF <input type="radio" name="etat" value="0" checked="checked"> - <input type="radio" name="etat" value="1"> ON 
           <input type="submit" value="Envoyer vers le Raspberry" />
        </form>
      </body>
    </html>
    - je ne comprend ce qu'est checked, je pense que je devrais apprendre avant les base du html pour pouvoir mieux comprendre.
    Code HTML:
    OFF <input type="radio" name="etat" value="0" checked="checked"> - <input type="radio" name="etat" value="1"> ON
    OFF <input type="radio" name="etat" value="0"> - <input type="radio" name="etat" value="1" checked="checked"> ON

  3. #63
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Ce programme, m'enverra dans cgi-raspi une fois cliquer sur le boutton, et je ne pourrait plus revenir à ma page html, donc ça ne va pas aller.

  4. #64
    vost

    Re : Page web et envoie de donnée vers USB

    Les balises <INPUT> affichent des zones de texte, des cases à cocher, des boutons radio etc selon se que tu mets dans l'attribut "type"
    La ce sont des boutons radio (genre de cases à cocher rondes dont une seule peut être sélectionnée à la fois)

    L'attribut checked veut dire que c'est cette option qui est cochée par défaut.

    J'ai supposé que ta lampe est éteinte par défaut (tu ne parles pas de tester l'état de la lampe pour le moment) donc la première fois que tu appel la page (tu ne lui envoies rien en paramètre pour le moment), c'est le bouton radio "OFF" qui sera coché.

    Si tu recois le paramètre "etat=0" c'est que tu vas éteindre ta lampe, donc au prochaine affichage de ta page, on veut que ce soit l'option "OFF" qui soit cochée pour refléter ceci.
    Si par contre tu recois le paramètre "etat=1" tu allumes ta lampe, donc on va chocher l'option "ON"

    Voila... sur ce je vais reposer mon neurone ^^

  5. #65
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Oui d'accord je comprend mieux, et peut tu regarder mon précédant post (envoyer en même temps que le tiens).

  6. #66
    vost

    Re : Page web et envoie de donnée vers USB

    Citation Envoyé par kevin8z Voir le message
    Ce programme, m'enverra dans cgi-raspi une fois cliquer sur le boutton, et je ne pourrait plus revenir à ma page html, donc ça ne va pas aller.
    Faux... le code html que je t'ai montré n'est pas un programme !
    Juste un affichage que tu fais DANS ton programme... nuance !

    En premier lieu tu n'appelles pas une page html standard mais ton programme justement.
    En faisant http://[IP de la raspi]/cgi-raspi.exe (si on considère toujours que ton programme s'appel cgi-raspi.exe)
    Comme tu l'appel sans paramètres, le programme te renvoie donc la page html de base avec OFF coché.
    Et chaque fois que tu cliques sur le bouton "Envoyer vers le Raspberry" tu boucles :
    - envoi des paramètres à cgi-raspi.exe
    - cgi-rapsi.exe écrit la page html en fonction des paramètres et la renvoi à ton navigateur
    etc...

  7. #67
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Ha oui donc en faite, j'aurai un programme en C, ou dedans j'insérer le code html de cette sorte sprintf ("code html");
    Donc je n'aurai pas de fichier .html mais un unique programme en C en .exe

  8. #68
    vost

    Re : Page web et envoie de donnée vers USB

    Exactement
    Enfin l'extension .exe c'est pour windows... sur une Debian je n'sais pas ce que ça donne quand tu compiles mais c'est le principe.

    La suite un autre jour !
    Dernière modification par vost ; 10/02/2013 à 01h12.

  9. #69
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Je vais paraître chiant mais ça ne va pas aller du moins pour le début faire des tests ce sera niquel mais par la suite non, car si par exemple je veut mettre 10lampes contrôlables indépendamment cela va me faire 20 sprintf différents dont je devrais choisir dans le programme et donc à chaque fois re charger une page.
    Oui car dans votre exemple pour une lampe j'aurai 2 sprintf différents.
    Et ce que je voudrais c'est re charger uniquement une partis de la page, et non pas tout. Et avec cette méthode je ne peut pas insérer d'image pour par exemple créer un menu, ou mettre un boutton de ce style: http://www.google.fr/imgres?um=1&hl=...r:56,s:0,i:256 qui change de couleur en fonction de l'état de la lampe ( on ou off). Oui je réfléchis déjà a tout pour na pas revenir en arrière par la suite et devoir tout modifié ou pire tout recommencer.

  10. #70
    Jack
    Modérateur

    Re : Page web et envoie de donnée vers USB

    Et ce que je voudrais c'est re charger uniquement une partis de la page
    Un navigateur ne recharge jamais une partie de la page, mais une page complète. C'est juste le contenu de la page qui est modifié par le serveur.

    A+

  11. #71
    vost

    Re : Page web et envoie de donnée vers USB

    Il y a plein de méthodes pour faire ce que tu veux kevin8z...

    La plus simple est d'utiliser ce que je te propose en gardant en tête que tu n'es pas obliger d'écrire tout le code html dans un seul sprintf!
    Tu peux très simplement paramétrer ta page html en écrivant d'abord la parti fixe initiale dans un premier sprintf ( de "<html>" jusqu'au début de la balise "<form>" )
    Et en écrivant les boutons radio avec des IF dans ton code C.

    IF etat lampe1 = ON sprintf "[lampe1 on coché] [lampe1 off non coché]"
    ELSE sprintf "[lampe1 on non coché] [lampe1 off coché]"
    IF etat lampe2 = ON sprintf "[lampe2 on coché] [lampe2 off non coché]"
    ELSE sprintf "[lampe2 on non coché] [lampe2 off coché]"
    etc ...

    Puis la fin de la page html qui ne bouge pas ( de "</form>" à "</html>") dans un dernier sprintf.

    Tout ce que tu vas écrire dans un seul appel à ton programme C sortira en une seule page Web.

    Sinon après on peut imaginer des montages avec des bases de données pour stocker tes états ou une interrogation de l'état directement auprès de l'UART à chaque rafraichissement de page... on encore effectivement ne modifier qu'une partie de la page en faisant des requêtes asynchrones avec de l'Ajax (objets DOM Javascript) ... mais ça va alourdir beaucoup.

    Commences par les bases. Il y a plein de solutions mais il ne faut pas aller plus vite que la musique... une notion à la fois...
    Avec des IF on mettrais Paris en bouteille

    @+
    Vincent
    Dernière modification par vost ; 10/02/2013 à 15h54.

  12. #72
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Haaa, je croyais qu'il fallait faire un seul sprintf pour modifier la page html, mais si on peut en faire plusieurs donc par partis de page ( sprintf pour l'entête, pour un autre pour le corps puis un autre pour la fin) c'est beaucoup plus claire pour moi. Merci de votre aide. J'essaye tout ça bientôt. Et vue que maintenant pour afficher une page ce sera au départ un code en C, je peut donc toujours utiliser le serveur Apache?

  13. #73
    Jack
    Modérateur

    Re : Page web et envoie de donnée vers USB

    Tu peux fabriquer la page à coup de sprintf et de strcat.

    je peut donc toujours utiliser le serveur Apache?
    oui,

  14. #74
    vost

    Re : Page web et envoie de donnée vers USB

    Un serveur Web oui tu en as toujours besoin.
    Apache est le plus courant donc tu trouveras facilement de l'aide pour le paramétrage.
    Ce n'est pas forcément le plus light par contre mais je ne saurais pas trop te conseiller la dessus car moi je travaille sur des serveurs qui ne m'imposent pas de restriction en terme de stockage, de CPU ou de mémoire.

  15. #75
    vost

    Re : Page web et envoie de donnée vers USB

    Pardon j'avais pas vu la réponse de Jack !

  16. #76
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Vivement que je reçoive cette petite carte que je test tout à ça.

  17. #77
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Par contre j'ai une question, le programme en C devra être compiler sous la raspberry, car elle contiendra la libraire des GPIOs mais comment faire du coup? vue que je l'utiliserai en ligne de commande.

  18. #78
    vost

    Re : Page web et envoie de donnée vers USB

    Oserais-je suggérer un compilateur C en ligne de commande ?

  19. #79
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Je viens de trouver un tuto qui explique:
    - je créer un fichier blabla.C
    - j'écrit mon code
    - puis je le compile

    Cette personne fait comme ça pour faire clignoter une led via les GPIOs

    Donc en ayant regarder un peut les commandes a écrire sous linux ça pourrait le faire. Je ne pourrai pas monopoliser l'écran du salon, donc obliger de le faire en commande.
    Dernière modification par kevin8z ; 10/02/2013 à 20h13.

  20. #80
    vost

    Re : Page web et envoie de donnée vers USB

    Citation Envoyé par kevin8z Voir le message
    - je créer un fichier blabla.C
    - j'écrit mon code
    - puis je le compile
    Mais dis moi... ça a l'air magique !
    On dirait presque quelqu'un qui fait un programme en C

    Citation Envoyé par kevin8z Voir le message
    Cette personne fait comme ça pour faire clignoter une led via les GPIOs
    Plus serieusement... Si t'as trouvé un tuto bien fait niveau GPIOs tu peux mettre le lien qu'on en profite stp ?

  21. #81
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Citation Envoyé par vost Voir le message
    Mais dis moi... ça a l'air magique !
    On dirait presque quelqu'un qui fait un programme en C
    Oui mais en ligne de commande aussi.
    Citation Envoyé par vost Voir le message
    Si t'as trouvé un tuto bien fait niveau GPIOs tu peux mettre le lien qu'on en profite stp ?
    Plusieurs tuto qui explique: commande lire un capteur de température, faire clignoter une led avec les GPIOs
    http://forum.pcinpact.com/topic/1655...4#entry2746544
    Et celui ou sont montrer les headers et fichier .C, intégrer dans la librairie wiring pi, pour savoir quoi écrire dans le C pour utiliser l'uart (ou I2C, SPI, etc..) par exemple:
    https://github.com/WiringPi/WiringPi...wiringSerial.h

  22. #82
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Et j'ai oublier: http://blog.idleman.fr/?p=1587
    Il explique comment gérer les GPIOs depuis la console de commande de la rasp, et il a fait un programme en php pour les utiliser.

    PS: je devrais pouvoir m'en sortir.

  23. #83
    vost

    Re : Page web et envoie de donnée vers USB

    Ha ba voila... t'as tous les bouts

    Pour moi pauvre developpeur Web, le denier lien est le plus cool !
    Gerer ça comme ça en php c'est que du bonheur

    Bon bah amuses toi bien... tu nous posteras une vidéo de la bête en action hein ?

    Et si t'es sage on te filera un coup d'main pour l'accessibilité depuis Internet !

  24. #84
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Oui pas de problème pour la vidéo. Justement je viens de regarder dans les config de ma livebox comment faire pour l'accès depuis internet:
    - j'ai trouver un onglet créer un IP statique et je peut choisir l'équipement au quelle je vais le fournir dans mon cas la rasp.
    - Et un autre pour configurer un DMZ pour avoir accès à cet équipement depuis internet.

  25. #85
    vost

    Re : Page web et envoie de donnée vers USB

    Heu... tu peux nous faire une copie d'écran de la page de création de l'IP statique ? Que je te confirme que c'est bien le bon endroit...

    Et pour la DMZ moi j'éviterais...
    Si tu fais une vraie DMZ ton raspi sera accessible par nimporte quel protocole ou port à partir d'internet... c'est pas forcément terrible surtout que je suppose que tu ne comptes pas mettre de firewall sur ta raspi !
    Il vaut mieux ne rediriger que le port 80 (port http).
    De cette façon si quelqu'un de mal intentionné essaye de te pirater il n'aura accès qu'à ce que lui montre ton serveur web.
    Ensuite, faire une petite page web avec un login/passord pour piloter ton raspi et un fichier .htaccess pour mettre en place juste les droits nécessaires limitera déjà pas mal les dégâts !
    Dernière modification par vost ; 10/02/2013 à 23h44.

  26. #86
    vost

    Re : Page web et envoie de donnée vers USB

    Bon j'ai parlé trop vite... le .htaccess t'évites d'avoir à écrire une page d'authentification!
    (Je bosse surtout sur des serveurs Web crosoft donc j'ai pas l'droit au .htaccess d'habitude... )

    C'est assez facile à mettre en place. La page sur Wikipedia a propos des fichiers .htaccess suffit à comprendre comment faire.

  27. #87
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Voilà l'imprim écran de la page. Mais donc du coup si je veut pouvoir accéder à m page web autre par que cher moi je ne pourrai donc pas?
    Images attachées Images attachées  

  28. #88
    vost

    Re : Page web et envoie de donnée vers USB

    Citation Envoyé par kevin8z Voir le message
    Voilà l'imprim écran de la page. Mais donc du coup si je veut pouvoir accéder à m page web autre par que cher moi je ne pourrai donc pas?
    Je n'vois pas à quel moment tu as compris ça... en redirigeant le port 80 de ton routeur vers le port 80 de ton raspi tu obtiendras l'accessibilité voulue depuis Internet mais ton raspi sera mieux protégé.

    Pour te donner un exemple, si tu le mets en DMZ, n'importe qui pourra y accéder avec putty et prendre la main sur le système comme tu le fais depuis chez toi. Pas terrible ! Qu'en penses-tu ?

  29. #89
    vost

    Re : Page web et envoie de donnée vers USB

    Ok je peux voir ta copie d'écran maintenant, c'est bon c'est bien à cet endroit la !
    Vu que c'est pas à proprement parler une "IP statique" mais plutôt une "réservation DHCP" j'ai eu un doute.

  30. #90
    kevin8z

    Re : Page web et envoie de donnée vers USB

    Ha oui j'aurai pas trop envie que quelqu'un puisse rentrer dans ma raspberry et modifie tout, et donc je protégerais aussi ça par un mot de passe. Par conter maintenant je ne comprend pas comment faire pour utiliser le port 80. Je ne pensai pas qu'il y avait autant de manipulation pour ouvrir une simple page depuis n'importe ou.

Page 3 sur 5 PremièrePremière 3 DernièreDernière

Discussions similaires

  1. Envoie un mot binaire d'un PIC18F4550 vers usb
    Par invite545b252f dans le forum Électronique
    Réponses: 12
    Dernier message: 26/04/2010, 21h54
  2. envoie de donnée midi
    Par invitefdead068 dans le forum Électronique
    Réponses: 0
    Dernier message: 21/06/2009, 10h38
  3. Envoie de donnée sur FPGA par USB
    Par invitefb47d21a dans le forum Électronique
    Réponses: 2
    Dernier message: 16/03/2009, 09h24
  4. Redirection vers d'autre page web
    Par invite9c2fc795 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 1
    Dernier message: 24/11/2007, 13h30
  5. Re : page web + page de demarrage intempestives + problems
    Par invite0f281810 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 13
    Dernier message: 25/03/2004, 19h01