Envoyer message UDP?
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Envoyer message UDP?



  1. #1
    ojal

    Envoyer message UDP?


    ------

    Bonjour,

    Je souhaite piloter des composant électroniques par l'intermédiaire de composants manipulables depuis une simple page web.
    Le coeur du système sera piloté par un micro-contrôleur, en l’occurrence un ARDUINO, mais ceci n'est pas le débat ici
    Il faut 'juste' retenir que le micro-contrôleur est capable de recevoir des messages UDP.

    En sophistiquant un peu la page web, l'utilisation de javascript permettra certainement d'aller beaucoup plus loin...
    Pour valider la chaîne de pilotage je voudrais qu'un slider dans le genre de celui-ci http://docs.jquery.com/UI/Slider me permette de renvoyer vers mon micro-contrôleur des valeurs qui seront ensuite traîtées...

    Mais voila, l'UDP me cause comme moyen de transport des informations, mais rien de plus...

    Aussi, avez-vous une idée de comment je peux envoyer des info en UDP à mon micro-contrôleur?

    Je vous remercie par avance pour votre aide

    -----

  2. #2
    invite2eb24907

    Re : Envoyer message UDP?

    Si c'est une application rien que pour toi, tu peux faire une gateway qui va convertir le flux TCP provenant depuis le client web vers ton microcontrolleur via une socket UDP.

    Si c'est un produit fini, il te faut une pile TCP sur ton microcontrolleur... et dans ce cas precis le choix du microcontrolleur est peut-etre au centre du probleme (s'il n'est pas assez puissant pour supporter une pile TCP)

  3. #3
    polo974

    Re : Envoyer message UDP?

    Pour de l'udp, pas besoin de pile tcp...

    pour envoyer sous linux un message udp :
    Code:
    echo -en  'message a envoyer au bidule' | nc -u 192.168.1.25  12345
    adresse ip 192.168.1.25 protocole udp port 12345

    bon, il faut nc alias netcat mais ça existe même sous winchose...
    sinon, en python, c'est simple aussi...

    au fait, ton bidule, il est du coté du serveur web ou du client...
    • dans le premier cas, c'est le serveur qui doit faire le boulot, pas obligatoirement en jajascript, et c'est ce qui précède qui doit être pris en compte.
    • dans le second, il faut que le client web (firefox ou autre) sache faire (voir par ex: http://www.jnext.org/), mais gare à la sécurité...
    Jusqu'ici tout va bien...

  4. #4
    invite2eb24907

    Re : Envoyer message UDP?

    Il veut envoyer des trames UDP depuis Javavascript, pas depuis un shell.
    Le plus simple est une gateway specialisee.

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

    Re : Envoyer message UDP?

    Citation Envoyé par sayang Voir le message
    Il veut envoyer des trames UDP depuis Javavascript, pas depuis un shell.
    laisse-le le dire lui même...
    imagine qu'il a un pc chez lui avec un apache dessus, et qu'il se connecte depuis son phone via une borne publique wifi.
    si c'est pour commander le mécanisme d'alimentation du canari, c'est fort probablement le serveur qui s'y colle...
    Le plus simple est une gateway specialisee.
    Whaaa, la phrase de la mort qui tue qui ne veut rien dire et ne fait pas avancer le schmilblick...
    Jusqu'ici tout va bien...

  7. #6
    invite2eb24907

    Re : Envoyer message UDP?

    Je voulais utiliser le terme proxy, mais c'est moins parlant que gateway.

    J'ai expliqué dans mon premier message ce que c'est.

    Eric

  8. #7
    ojal

    Re : Envoyer message UDP?

    Bonjour Sayang et Polo974,

    Mon but est de pouvoir envoyer des commandes en UDP à un microcontroleur qui possède une adresse IP accessible...
    Pour le moment, je n'ai pas de contraintes sur le système qui va envoyer les commandes UDP... J'imagine une page hébergée sur un serveur lambda, mais pour mes essais ca sera sur un serveur WAMP...
    Pour des raisons d'interactivité, j'aimerais bien que ces messages UDP soient envoyés depuis une page programmée en javascript type JQUERY, mais ça ne change peut être rien par rapport au fait d'envoyer depuis une page PHP 'normale'...?
    L'objectif final étant de se connecter sur cette page, d'actionner graphiquement différents éléments type boutons, sliders etc et que le micro-controleur recoive les informations adéquates...

    Je me suis un peu répété par rapport au message initial... Si vous avez d'autres questions, j'essaierai de répondre

    Pour démarrer et ne pas m'embêter avec une couche javascript, je peux essayer de programmer un petit bouton permettant de mettre une led ON/OFF.
    Je peux faire une page programmée en PHP sur mon WAMP local pour démarrer...

  9. #8
    polo974

    Re : Envoyer message UDP?

    la question reste toujours:
    qui du serveur ou du client doit envoyer le paquet udp?

    Mon but est de pouvoir envoyer des commandes en UDP à un microcontroleur qui possède une adresse IP accessible...
    Accessible à qui ?

    Si la page est hébergée extérieurement, il semble que ce soit le client web qui doive servir le paquet udp...

    Merci de confirmer.
    Jusqu'ici tout va bien...

  10. #9
    ojal

    Re : Envoyer message UDP?

    L'accessibilité est pour le moment tout à fait personnelle, pour des applications futures type domotique... Pour le moment, je n'envisage pas de sécurisation, toute personne accédant à l'URL de la page de pilotage pourrait accéder... Ensuite, je mettrai en place une sécurisation du système pour ne pas tout laisser ouvert

    Je me mélange entre client et serveur...
    Si on est dans le cas d'école d'une page PHP avec un bouton qui pilote une led ON/OFF, c'est une message UDP qui sera envoyé par une commande PHP, donc depuis le serveur... Je me trompe???

    Dans le cas d'un slider géré avec JQUERY, je ne sais alors plus du client ou du serveur envoit le message UDP... Le slider est capable d'envoyer une information à intervalle de modification de sa position défini, je n'en sais pas plus...

  11. #10
    polo974

    Re : Envoyer message UDP?

    Citation Envoyé par ojal Voir le message
    L'accessibilité est pour le moment tout à fait personnelle, pour des applications futures type domotique... Pour le moment, je n'envisage pas de sécurisation, toute personne accédant à l'URL de la page de pilotage pourrait accéder... Ensuite, je mettrai en place une sécurisation du système pour ne pas tout laisser ouvert
    C'est sûr que ça peut servir...
    Je me mélange entre client et serveur...
    Si on est dans le cas d'école d'une page PHP avec un bouton qui pilote une led ON/OFF, c'est une message UDP qui sera envoyé par une commande PHP, donc depuis le serveur...
    ok, tu coches ta case et tu envoies, le serveur reçoit l'info par get ou post et exécute la demande (par php ou autre cgi).
    Sur un serveur perso, c'est trop facile, vu qu'on accède à tout, sur un serveur extérieur, il faut voir ce qui est faisable... (et vérifier qu'un paquet udp peut sortir et arriver à destination en traversant les différents routeurs, nat et firewall...)
    Dans le cas d'un slider géré avec JQUERY, je ne sais alors plus du client ou du serveur envoit le message UDP... Le slider est capable d'envoyer une information à intervalle de modification de sa position défini, je n'en sais pas plus...
    là, ça dépend comment est codé la requête derrière le changement du slide:
    action locale directe en javascript (avec extension que je juge dangereuse)
    envoi d'une requête hhtp au serveur (dont la XMLHttpRequest qui permet le ajax) et c'est de nouveau le serveur qui entre en jeu.

    Attention, un message udp peut être perdu, et il est improbable que tu puisses recevoir une réponse sauf à mettre un client http sur le bidule pour faire une requête d'acquittement sur le serveur.
    Attention encore, ne pas bombarder le serveur de XMLHttpRequest sur un timer ni faire bombarder le serveur sur le bidule.
    Jusqu'ici tout va bien...

  12. #11
    vincevg

    Re : Envoyer message UDP?

    Désolé de ressuciter ce post mais Ojal y es tu arrivé et si oui comment.

    Merci.
    Vince

  13. #12
    bokan

    Re : Envoyer message UDP?

    vincevg: Ben je vais apporter une réponse bien longtemps après le post original, j'espère qu'elle te servira.

    Une solution est d'utiliser un serveur php qui diffuse la page web. Pour le dev, un WAMP fera très bien l'affaire (easyphp ou xampp simplifieront l'installation)
    Un petit script ajax appelle une page php à chaque modification du slider. Il faut regarder du coté de l’événement onChange et de la commande Ajax de jQuery http://api.jquery.com/jQuery.ajax/
    Ensuite la page php envoie le paquet UDP http://stackoverflow.com/questions/6...ddress-via-udp
    Pour accéder à la page depuis l'exterieur, il faut ouvrir le port 80 et le rediriger vers l'ip locale du serveur. Puis utiliser un dynDNS si l'adresse IP de la connexion n'est pas fixe.

    Biensur y'a d'autres solutions :
    - héberger directement la page sur le microcontroleur, possible avec un arduino par exemple, et du coup y'aurait plus besoin de paquet UDP. Et surtout plus besoin de laisser l'ordi serveur allumé en permanence. Un exemple ici : http://phmarduino.free.fr/ la page est immense cherche "Exemples de réalisations utilisant une connexion avec internet"
    - héberger la page sur un serveur et faire l'appel ajax vers le microcontroleur (il faut alors utiliser des noms de domaines car pour des raisons de sécurité on ne peut pas toujours faire un appel ajax vers un serveur sans lien avec celui qui héberge la page).
    - utiliser d'autres environnements : ASP.NET, JAVA, node.js ...

    Voilà !

    N'hésites à demander pas si tu rencontre de difficultés.

Discussions similaires

  1. envoyer un message à partir de windows server2003
    Par invite3298cbe9 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 29/01/2010, 15h50
  2. coment envoyer un message
    Par inviteaf3453b2 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/05/2009, 06h36
  3. comment peut on envoyer un message tout en sachant son adresse IP
    Par inviteacaa34b5 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 01/07/2006, 20h49
  4. [réseau] Envoyer un message aux utilisateurs
    Par bevinco dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 04/04/2004, 19h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.