通过 UDP 连接发送数据(网桥)
Send data via UDP connection (Bridge)
我的任务是使用 Arduino Mega + Yun Shield 创建概念验证。我从 Bridge 示例开始,我可以读取我的传感器并通过 REST 公开数据。
但是,我想通过 UDP 发送数据包,而不是 REST。我知道网络上有关于 UDP 的样本,但我没有发现任何将 UDP 与 Bridge 结合使用的样本。
这样可行吗?
更新 #1
好吧,我读到了一个不可能的地方。但我也读到 运行 一个 Python 脚本可以通过 UDP 发送数据。
我制作了那个脚本:
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()
并以这种方式从 Arduino 调用它:
Process p;
p.begin("python");
p.addParameter("/test/sendUDP.py");
p.run();
代码 运行 显然没有错误,但我的 UDP 服务器什么也没收到。但是,它适用于 PuTTY。
更新#2
有用!我更改了这一行:
p.addParameter("/root/test/sendUDP.py");
我更改了这一行,效果非常好:
p.addParameter("/root/test/sendUDP.py");
我的任务是使用 Arduino Mega + Yun Shield 创建概念验证。我从 Bridge 示例开始,我可以读取我的传感器并通过 REST 公开数据。
但是,我想通过 UDP 发送数据包,而不是 REST。我知道网络上有关于 UDP 的样本,但我没有发现任何将 UDP 与 Bridge 结合使用的样本。
这样可行吗?
更新 #1
好吧,我读到了一个不可能的地方。但我也读到 运行 一个 Python 脚本可以通过 UDP 发送数据。
我制作了那个脚本:
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()
并以这种方式从 Arduino 调用它:
Process p;
p.begin("python");
p.addParameter("/test/sendUDP.py");
p.run();
代码 运行 显然没有错误,但我的 UDP 服务器什么也没收到。但是,它适用于 PuTTY。
更新#2 有用!我更改了这一行:
p.addParameter("/root/test/sendUDP.py");
我更改了这一行,效果非常好:
p.addParameter("/root/test/sendUDP.py");