Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Problem Controlling Servos While On A Iphone Hotspot


I have a Darwin Mini that I hacked to also carry a Raspberry Pi Zero. The OpenCM connects to the Pi via Micro USB and I run ARC on my Windows laptop to connect to the Pi. I installed the OpenCM USB port settings on the Pi and so far I can successfully control the servos that are connected to OpenCM from ARC. When I run ls /dev/ttyA* on the pi it gives me the serial device: /dev/ttyACM0 which is all good. However that seems to only work when both are connected to my home wifi network. When I connect both the Pi and the laptop running ARC to my iPhone hotspot - the servos no longer respond to the scripts and it seems as if the pi lost connect with OpenMC although the serial device /dev/ttyACM0 can still be seen. Everything else such as camera is working fine. Any suggestions on what could have caused this? Thanks!

Related Hardware Raspberry Pi


Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

hi maxijang

in the mobile version is a update buttom where you can update your project if you made some changes .
maybe that helps .
Hi Nomad, I am not using ARC mobile. ARC is running on a windows laptop and is connected to a iPhone hotspot. The Raspberry Pi is also connecting to the same hotspot.
on the pi, are you seeing a log update about a connection from the windows pc?

most mobile hotspots don’t allow an inbound connection because they work like a nat router. What that means is each device connected to the hotspot gets a private IP address. The gateway of these devices is the hotspot. So all internet traffic if these devices goes through the gateway (hotspot) and gets translated to real internet ip from the hotspot. 

so essentially the devices connected to the hotspot can see the internet but not the other way around. 

Can your hotspot be configured to pass through ports? That’s the only way it can happen. 

An alternative would be if we modified the raspberry pi to connect out to the windows pc instead. That would mean the ARC on windows listens for connections rather than reaching out for a connection.  

The feature in ARC exists to do that in the connection control settings.  But I’m not certain about either of the raspberry pi drivers.
#4   — Edited
Oh I just read that the camera works fine. Is that every interesting. That seems to be the iphone is passing the connection through the nat. Sorry that I misread that at first. 

okay I guess the next question is do you see a log line on the pi when windows connects to it?

because it might be something simple like changing the port for the pi server. I think there’s a command line parameter to change the ezb listening port. 

The reason changing the port might help is that the ezb uses port 23, which is also telnet. Telnet is pretty much a blocked tcp port these days due to viruses. So changing the port to something else, such as 8008 or something might help. 

the camera port is 24, so that’s probably why it works.
Hi DJ sures,

Thanks for looking into this. I’m running the blueberry server on the Pi which means the ports used are 10023 and 10024. Both ports are connected successfully on the ART and there are log lines from the Pi. What I can do next is to compare the logs between connecting to hotspot and connecting to home wifi. Hopefully I can discover something. Do you know if there is any other way to check the 10023 connection apart form sending the servo control commands? I find it really strange that it says it’s connected but not fully.
That is really strange - because it would mean the packets are somehow being blocked. I can’t see the iPhone hotspot doing that. 

There are digital ports on the pi you can try turning on and off. 

also, I’ve never used blueberry but there might be a verbose flag option that shows every command received. Check the manual if that exists. If so, it would be useful to diagnose