2017-01-12 2 views
-2

J'ai été chargé de créer une preuve de concept avec un Arduino Mega + Yun Shield. J'ai commencé à partir de l'exemple Bridge et je peux lire mes capteurs et exposer les données via REST. Mais, au lieu de REST, je veux envoyer des paquets via UDP.Envoyer des données via une connexion UDP (Bridge)

Je sais qu'il existe des exemples d'UDP sur le web mais je n'ai rien trouvé qui utilise UDP avec Bridge.

Est-ce faisable?

MISE À JOUR # 1

Ok, je lis quelque part qui est impossible. Mais j'ai lu aussi qu'il est possible d'exécuter un script Python pour envoyer des données via UDP.

J'ai fait ce script:

import socket 
import sys 

# Create a UDP socket 
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 

server_address = ('192.168.1.100', 9050) 
message = 'This is the message. It will be repeated.' 

try: 

    # Send data 
    print >>sys.stderr, 'sending "%s"' % message 
    sent = sock.sendto(message, server_address) 

finally: 
    print >>sys.stderr, 'closing socket' 
    sock.close() 

et l'appeler de l'Arduino ainsi:

Process p; 
p.begin("python"); 
p.addParameter("/test/sendUDP.py"); 
p.run(); 

Le code exécuté sans erreur apparemment, mais mon serveur UDP ne reçoivent rien. Cependant, cela fonctionne avec PuTTY.

MISE À JOUR # 2 Cela fonctionne! J'ai changé cette ligne:

p.addParameter("/root/test/sendUDP.py"); 

Répondre

0

J'ai changé cette ligne et il fonctionne comme un charme:

p.addParameter("/root/test/sendUDP.py");