I am building an Arduino based servo driver that I want to control with OSC commands from my iPad over the Internet.
我正在构建一个基于Arduino的伺服驱动程序,我希望通过Internet通过iPad上的OSC命令进行控制。
Is it possible to send OSC commands over 3G / UMTS with my iPad or iPhone to control a device? So I will not be limited by the router's range when I send OSC commands to the controller when both devices are part of the same Wi-Fi network.
是否可以通过我的iPad或iPhone通过3G / UMTS发送OSC命令来控制设备?因此,当两个设备都是同一Wi-Fi网络的一部分时,我将OSC命令发送到控制器时,我不会受路由器范围的限制。
It seems that the applications I downloaded (TouchOSC, iOSC) can only send OSC data over Wi-Fi, however I'd like to send the commands over the Internet (with port forwarding settings in my router).
似乎我下载的应用程序(TouchOSC,iOSC)只能通过Wi-Fi发送OSC数据,但是我想通过Internet发送命令(在我的路由器中使用端口转发设置)。
3 个解决方案
#2
0
OSC typically uses UDP (User Datagram Protocol), even if some newer OSC implementations also allow TCP/IP messaging (also see Difference between TCP and UDP?).
OSC通常使用UDP(用户数据报协议),即使一些较新的OSC实现也允许TCP / IP消息传递(也参见TCP和UDP之间的区别?)。
Unfortunately (as far as I know), UDP does not work over 3G, which seems to be your problem. In other words: two mobile devices cannot talk to each other on a cellular network. So it has nothing to do with OSC apps not being able to do this, it's just not available from the cellular network.
不幸的是(据我所知),UDP不适用于3G,这似乎是你的问题。换句话说:两个移动设备无法在蜂窝网络上相互通信。因此它与OSC应用程序无法做到这一点无关,它只是无法从蜂窝网络获得。
However (I think, not tested), I see two workarounds here:
但是(我认为,未经测试),我在这里看到两个解决方法:
- try to use TCP/IP instead of UDP to send your OSC packets
- 尝试使用TCP / IP而不是UDP来发送您的OSC数据包
- if you need UDP on the Arduino side, you could use a server in-between
- 如果您需要在Arduino端使用UDP,您可以在中间使用服务器
#3
0
Do port forwarding on your router to forward port x to the Arduino, and then use the IP address from whatsmyip.com
and use that one in the touchOSC app when inputting the IP address. That may work.
在路由器上进行端口转发以将端口x转发到Arduino,然后使用whatsmyip.com中的IP地址,并在输入IP地址时在touchOSC应用程序中使用该地址。这可能有用。
#1
#2
0
OSC typically uses UDP (User Datagram Protocol), even if some newer OSC implementations also allow TCP/IP messaging (also see Difference between TCP and UDP?).
OSC通常使用UDP(用户数据报协议),即使一些较新的OSC实现也允许TCP / IP消息传递(也参见TCP和UDP之间的区别?)。
Unfortunately (as far as I know), UDP does not work over 3G, which seems to be your problem. In other words: two mobile devices cannot talk to each other on a cellular network. So it has nothing to do with OSC apps not being able to do this, it's just not available from the cellular network.
不幸的是(据我所知),UDP不适用于3G,这似乎是你的问题。换句话说:两个移动设备无法在蜂窝网络上相互通信。因此它与OSC应用程序无法做到这一点无关,它只是无法从蜂窝网络获得。
However (I think, not tested), I see two workarounds here:
但是(我认为,未经测试),我在这里看到两个解决方法:
- try to use TCP/IP instead of UDP to send your OSC packets
- 尝试使用TCP / IP而不是UDP来发送您的OSC数据包
- if you need UDP on the Arduino side, you could use a server in-between
- 如果您需要在Arduino端使用UDP,您可以在中间使用服务器
#3
0
Do port forwarding on your router to forward port x to the Arduino, and then use the IP address from whatsmyip.com
and use that one in the touchOSC app when inputting the IP address. That may work.
在路由器上进行端口转发以将端口x转发到Arduino,然后使用whatsmyip.com中的IP地址,并在输入IP地址时在touchOSC应用程序中使用该地址。这可能有用。