protocole UDP

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

Répondre
gaetan22
Messages : 5
Enregistré le : dim. 19 avr. 2015 18:29

protocole UDP

Message par gaetan22 » mar. 21 avr. 2015 18:18

salut tout le monde

je fais un code avec un interrupteur et une LED et j'aimerais voir l'état de ma LED dans mon application android faite avec processing .
Je ne sais pas si le protocole UDP est la meilleure idée et je ne sais pas quoi mettre dans mon programme :/

ps : je travail en python ;)

merci a tous

gaetan22
Messages : 5
Enregistré le : dim. 19 avr. 2015 18:29

Re: protocole UDP

Message par gaetan22 » mer. 22 avr. 2015 11:55

Apres des petites recherche j'ai trouve ca https://wiki.python.org/moin/UdpCommunication mais il faudrait que je stocke la valeur de ma led dans un tableau mais comment faire ? voila mon code

Code : Tout sélectionner

import socket
import time
import RPi.GPIO as GPIO


GPIO.cleanup()  
GPIO.setmode(GPIO.BCM)
GPIO.setup(29,GPIO.OUT)
GPIO.setup(31,GPIO.IN)

 UDP_IP = "192.168.43.154"
 UDP_PORT = 8080
 tab1 = array([  ])
   

while True:
     if(GPIO.input(31)==True):
        GPIO.output(29,True)
        time.sleep(0.5)
        GPIO.output(29,False)
        time.sleep(0.5)
     else:
         GPIO.output(29,False)

Korhm
Raspinaute
Messages : 232
Enregistré le : ven. 19 sept. 2014 08:13
Localisation : Toulouse

Re: protocole UDP

Message par Korhm » mer. 22 avr. 2015 13:46

Bonjour,

pourquoi avoir choisi UDP comme protocole ?
Je ne suis pas sur que ce soit le plus adapté. C'est parfait pour des flux temps réel (vidéo, son, ....) où la rapidité importe plus que la fiabilité.
Contrairement à TCP, UDP n'a pas de système de vérification des données (entre autres choses). Donc si des paquets se perdent entre ton serveur et ton client, ils ne seront pas réémis => La réponse sera incomplète, et probablement illisible/corrompue

Personnellement pour ce genre d'échange client/serveur, j'aurais utilisé en protocole qui a déjà fait ces preuves plus d'une fois et qui est plutôt optimisé : http (c'est du TCP derrière).


Côté client, je connais pas processing, mais j'imagine que tu peux faire des requêtes TCP (et donc http)

Côté serveur, un simple script php.
  • Si PHP possède une librairie pour les GPIO du raspberry, autant directement l'utiliser
  • Sinon, faire appel à ton programme python qui renvois l'état de la LED

Avatar du membre
zeb
Raspinaute
Messages : 280
Enregistré le : ven. 19 sept. 2014 11:04

Re: protocole UDP

Message par zeb » jeu. 23 avr. 2015 21:10

Plop,

Moi, j'ai même une idée de gros fainéant.
Fais un appel la commande wget dans ton code et tu n'auras même pas à savoir comment se fait le transport.

(ce sera du HTTP/TCP/IP mais qui s'en inquiète ?)
Dans mon panier : rpi1A+ : »:: »:: | rpi1B : »:: »:: | rpi1B+ : »:: »:: | rpi2B : »:: »:: | rpi3B : »:: »:: | rpi0 : »::

Répondre

Retourner vers « En panne ? »