Page 1 sur 1
protocole UDP
Posté : mar. 21 avr. 2015 18:18
par gaetan22
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
Re: protocole UDP
Posté : mer. 22 avr. 2015 11:55
par gaetan22
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)
Re: protocole UDP
Posté : mer. 22 avr. 2015 13:46
par Korhm
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
Re: protocole UDP
Posté : jeu. 23 avr. 2015 21:10
par zeb
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 ?)