colagrosso/ciao

Timeout Error

Closed this issue · 18 comments

From my iPhone, I can see my computer program running, but when I click on it I get a time out error. Have you experienced this with any network, is this something I need to adjust on the phone, network, or computer? Thanks, I am quite excited to put your App to use. Once I get it working, I'll post a review on iTunes for ya!

Your not alone, I've just been trying to get Ciao for the first time but I get the same time out issue. This is with an iPod Touch with iOS 5.0.1

I spent about five hours on this yesterday, I went through my router settings, altered the IP and MAC address, and nothing. One thing that I http://www.mercedsunstar.com/2011/10/15/2083097/merced-mayor-candidate-is-running.html though, is that the same timeout appears when you stop the Processing Sketch and ciao still calls on it. My guess is that the Arduino is not recognizing the serial message from ciao, thus it doesn't ever begin. I have been trying to open the libraries to see that code but have had no luck. My concern is that ciao might no longer be compatible with the IOS platform, which would entirely defeat the purpose of the app. I've emailed the developers a few times yesterday but haven't heard anything. I'll post any discoveries here. It does work exceptionally well with processing. Worst case you could create wireless network to your Arduino to computer, and then use ciao. If I get no help from the devs, I'll try that and post instructions.

I've had it a bit of a dig around the web and it seems that Bonjour was completely rewritten for iOS 5 in order to get the backup over WIFI working and as a result has broken many things that use Bonjour.

Thanks for using Ciao, guys, and I'm sorry for the trouble you had. Yesterday I recreated the problem stated above. Specifically, an iOS device with iOS 5.0 or newer can't connect to an Arudino with Ethernet shield. Connecting Ciao to the Processing sketches, including the CiaoUSB sketches, still works as DaBeeJ mentioned above. Also, iOS devices running iOS 4.0 still work.

As Tideswell mentioned above, it was a Bonjour change to iOS 5 that caused the problem. It took some digging, but I found a way to work around the problem in Ciao, and I just submitted version 1.0.1 to the App Store. I'll update this issue when the version of Ciao that fixes the problem is available for download. Once you update your app, you'll be set.

Version 1.0.1 has just become available to download from the App Store and I can confirm that it's fixed the problem. Thanks.

Ha! I've been checking on the App store 5 times a day religiously for the update. Unfortunately I was at work when it became available and haven't gotten the chance to test it. I'm extremely excited to get home and start playing with it. Thanks for the update!

I just got home, updated my phone and iPad.... still am getting the timeout. My phone is the 5.0.1 version, is the update only for 5.0.0?

My Touch is running iOS 5.0.1.

Did you have to do anything with your network? Which sample code did you run?

No I just connected the Arduino onto the spare port on my switch and loaded the Simple Counter demo program into the Arduino and it just worked although I did have to press the reset button on Arduino before Ciao could find the Arduino but there was no error message.

Man, I don't know what my problem is then. I am running 5.0.1, I have the ethernet shield, I installed the latest Arduino code, the library is in properly. When I run Ciao to Processing, it works great, when I try Arduino, I can see the program, but it keeps giving me the time out.

Thinking it might be my shield, I have ran discovery: perfect. I installed an ethernet example: flawless.

Are you using an Uno, or a different one?

I am using a Uno with a clone Ethernet shield bought via eBay.

How about this question, when you upload a ciao sketch to the arduino, can you ping it from your PC and get a response? I have still been tearing this apart trying to figure out why mine isn't plug and play. I can see it on the server, but when I ping it, I get no response. Everything else on the server responds though. So I am curious if you could do the same, and let me know if yours responds at all. Thanks in advance.

I've never had a problem pinging the Arduino from my PC or from the Touch using the Ping app.

On 21 Nov 2011, at 22:47, DaBeeJreply@reply.github.com wrote:

arduino

The Ciao 1.0.1 update fixed the connection issue between iOS 5 devices and Arduinos with Ethernet shields for me, Tideswell, and a few customers I've talked to offline. DaBeeJ, I'd like to close this issue. Do you have any update? As Tideswell said, you should be able to ping your Arduino. Consider using this example:

https://github.com/colagrosso/ciao/blob/master/Arduino/libraries/Ciao/examples/SimpleCounterDHCP/SimpleCounterDHCP.pde

in which the Arduino will obtain an IP via DHCP. Use the serial monitor to see what IP the Arduino gets and try to ping it. If you can't ping it, there's not much hope that Ciao will work.

THIS ONE WORKED!! That new example that you posted worked without any issue, all the others in the sketch still fail. Thank you so much! Can you let me know exactly what you changed, so I know what needs to be done?

I don't mean to come across condensing or telling you how to "suck eggs" so disregard the following if you already know the following.

The above sketch uses uses DHCP to resolve an IP address from your router, with other sketches they use a fixed IP address - did you set these to a range that your router was expecting. For example I always set my IP address to 192,168.1.12 as I know that this is unlikely to be used by the router's DHCP sever but is still in the range that the router is expecting.

I'm going to close this issue out. The Ciao 1.0.1 update fixed the connection problem for everyone in this thread, including me. iOS 5 devices can now connect to an Arduino with an Ethernet shield.

DaBeeJ, you also had a different networking problem, one that DHCP solved. I suggest you use DHCP in all your sketches. See for example, this part of the setup() code:

https://github.com/colagrosso/ciao/blob/master/Arduino/libraries/Ciao/examples/SimpleCounterDHCP/SimpleCounterDHCP.pde#L96

and line 129 of the loop code (EthernetDHCP.maintain()). As I wrote in the README file:

EthernetDHCP is not used, but it’s distributed here because it’s great and you should be using it.