USA
Asked — Edited

Ez-Bv4 And Camera With Surface Pro

I'd like to use the 160x120 resolution in my project running ARC (the latest version) for Windows on a Windows 10 Surface Pro 2 but I get the following error:

11/3/2018 11:37:43 AM - Error Camera.SetCaptureImage: AForge.Imaging.UnsupportedImageFormatException: Source pixel format is not supported by the filter. at AForge.Imaging.Filters.BaseTransformationFilter.CheckSourceFormat(PixelFormat pixelFormat) at AForge.Imaging.Filters.BaseTransformationFilter.Apply(BitmapData imageData) at AForge.Imaging.Filters.BaseTransformationFilter.Apply(Bitmap image) at EZ_B.Camera.eihiq5ToKN(Object )

It runs at 320x240 okay but uses a lot of CPU and the image tends to hang or stutter and falls behind when face tracking. Anyone else have issues with the surface pro? The exact same builder file works fine on my laptop (with Windows 7). Thanks :)


ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

PRO
Synthiam
#1  

Not all resolutions are supported on all devices. It’s up to the hardware manufacturer.

What tracking types are you using that’s requiring so much cpu? Let’s see what we can do to help with that

#2  

Hey DJ, it's been a long time. I finally got around to getting a Surface Pro 2 for iRobot:

https://synthiam.com/Community/Questions/9877

I'm going to install it in the pedestal so folks can see Builder running. I made a couple of apps but I like the the look of Builder better. It's going to be in a show at Northern Illinois University in January so I'm trying to get it all buttoned up.

All I'm using is face tracking right now. I've tried adding motion and a few custom colors but simple face tracking seems to work best. Maybe I overstated "a lot of CPU", it jumps between zero and 40%. I shrank the camera control window and that seemed to help with the stuttering. I guess I just assumed 160x120 should be available.

Oh, and it's been disconnecting every night between 3:30 and 4:00 AM. Three nights in a row, now. 2 with the Surface and once with the laptop. This is a new problem. When I first got iRobot put together, it ran for about 5 weeks with no issues. Here is the error message:

EZB 0: 11/1/2018 4:16 PM - Windows version: Microsoft Windows NT 10.0.16299.0 11/1/2018 4:16 PM - Object Recognition Initialized. 11/1/2018 4:16 PM - Object Recognition loaded. EZB 1: EZB 2: EZB 3: EZB 4: 11/1/2018 4:16:21 PM - Screen Resolution: 1920x1080 (96x96 dpi) 11/1/2018 4:16:21 PM - Version: 2018.09.30.02 11/1/2018 4:16:25 PM - Attempting connection on 192.168.1.1:23 11/1/2018 4:16:26 PM - Connected to 192.168.1.1:23 11/1/2018 4:16:26 PM - Reports EZB v4 OS With Comm 2 11/1/2018 4:16:26 PM - EZ-B v4 ID: 73-49-0-0-46-255-58-56-56-38-38-38 11/1/2018 4:16:26 PM - Setting battery monitor voltage: 5.5 11/1/2018 4:16:26 PM - Setting battery protection: True 11/1/2018 4:16:26 PM - **WARNING: The low battery warning monitor value is set LOWER than the recommended default of 7v. Your voltage monitor set for 5.5v. If using the LiPo batteries from a Revolution EZ-Robot, for battery longevity and your safety we highly recommend that you change the low battery monitor back to 7v. This setting can be found in the Connection Control Config Menu. 11/1/2018 4:16:26 PM - Setting i2c rate: 100000 11/1/2018 4:16:26 PM - EZ-B voltage is 5.677777980 11/1/2018 4:16:26 PM - EZ-B temperature is 24.33952776160016496C 11/1/2018 4:16:26 PM - Connected 11/1/2018 4:16:30 PM - Camera Initialized: EZB://192.168.1.1 @ 320x240 11/1/2018 5:10:57 PM - Saved C:\Users\reset\Desktop\iRobot_Final.EZB 11/1/2018 5:11:09 PM - Saved C:\Users\reset\Desktop\iRobot_Final.EZB 11/1/2018 5:22:15 PM - Camera Disabled 11/1/2018 5:22:15 PM - Camera Disabled 11/1/2018 5:24:14 PM - Camera Initialized: EZB://192.168.1.1 @ 320x240 11/2/2018 4:15:42 AM - EZ-B v4 Camera Error: System.IO.IOException: Unable to read data from the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at EZ_B.EZBv4Video.zhDAFhUutB(Int32 , Object ) 11/2/2018 4:15:42 AM - Camera Disabled 11/2/2018 4:15:42 AM - Error Camera.SetCaptureImage: System.NullReferenceException: Object reference not set to an instance of an object. at AForge.Imaging.Drawing.Line(UnmanagedImage image, IntPoint point1, IntPoint point2, Color color) at EZ_B.Camera.eihiq5ToKN(Object ) 11/2/2018 4:15:42 AM - Comm Err: System.IO.IOException: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) at EZ_B.EZB.nM1edIYc5k(Int32 , Byte[] cmdData) 11/2/2018 4:15:42 AM - BbytesToExpect: 2 11/2/2018 4:15:42 AM - Received: 0 0 11/2/2018 4:15:43 AM - Disconnected

PRO
Synthiam
#3  

Right on man, that’s great! Good for you

I have a new face tracking feature planned in the next few weeks. That should handle your cpu usage better.

As for the disconnects - that’s a tough one because there’s so many factors. The biggest being the 3 am time:) that’s when Microsoft does its update query for windows - so who knows what’s going on there!

Since the computer and robot are connected, I recommend wiring the ezb and pc directly like so: https://synthiam.com/Tutorials/Lesson/76?courseId=4

Additionally, I believe you were using the ezrobot camera? If so, that can be wired to the pc directly as well :D

#4  

Yeah man, the show should be pretty cool. It's artwork of college profs and their students shown together so it's a little different. I'm excited.

I'm not ready to hard wire this thing quite yet but it did disconnect again this morning around 6:30 AM. I turned off auto-update but it didn't help. This is just odd; it's never done this before.

"An established connection was aborted by the software in your host machine."

What does "the software" mean? ARC? Did I check a wrong box somewhere? More likely, that message means Windows itself. I'll look into that end of it.

I'm also going to bump up the power brick from 2 amp to 3, maybe a little more. Last night I found your article about servo inrush. I hadn't seen that before now. But still, it doesn't explain why it worked for weeks on end last year. And at night, with the house dark, the camera is seeing black so the servos shouldn't be activating. Could it be just a lack of activity?

#5  

Just a thought here.......... Check your power setting on your laptop. Maybe there's a setting that puts the computer into sleep mode, reboots or shuts down a device in the computer after so many hours.

Also random wifi disconnects are sometime associated with wifi signal strength or other router activity. Are you connecting in Client or AP mode? How old is your router? Look closely at your router's settings. I'm definitely not a network guy but have struggled through it successfully with help from this forum. When I first started using EZ Robot I had to upgrade my router because it would not stay connected and had random disconnects. I also assigned EZB a static IP address in my router and that seemed to help. However I was told by DJ not to do that for some reason and he advised the community not to listen to my advice on this subject of static IP addresses (I did it anyway, LOL. Sorry DJ ;) ).

Good luck and I hope you are well. It's been awhile since you've visited. Good to see you back. :)

PRO
Synthiam
#6  

Haha Dave :)

The disconnect is not ARC, but the computer operating system. As Dave said there’s a few things, specially power. He’s got it right - power saving would do that. Hibernation mode would do it. So would the WiFi device being in energy saving mode.

One thing to do that ensures the device is not updating windows and such is to set the WiFi connection as Metered

Lastly, it could be a neighbor messing with you? Is the ezb on a network with a password?

#7  

Thanks fellas, I appreciate the suggestions. Power saving options in Windows was the first thing I looked at but I'll look again. It's completely possible there is a setting buried deep in the OS somewhere. That still doesn't explain why it used to work fine, with the same laptop that disconnected one of the nights.

I'm connecting directly to the EZB, no router involved. The sculpture, the Surface (or laptop), microwave, home internet router, and all furniture are in the same locations they were in last year (we're boring!). And I have no neighbors, lol. Bean field, corn field, corn field, bean field.

Is there any chance the camera or EZB is going belly up? The sculpture has been covered with a black sheet in the living room for the past year but hadn't been powered up in about that long.

Lastly, do you guys ever use electrolytic grease on the connections? I may have to completely disassemble the head and check the connections.

And "hey" back, Dave. Good to hear from you too. :)

#8  

Okay guys, I found a couple of settings on the Surface that I think might help. But mostly I think it was the "allow the computer to turn off this device to save power" on the wireless card's options in the device manager that was causing the problem. I unchecked the box and....well....I'll find out tomorrow morning if that was the issue. This is just the Surface though. But if it solves it, I'm good with it :D

PRO
Synthiam
#9  

That’s the setting I was thinking about.

If you’re putting this in a public place - at the least test now with a WiFi password on the ezb.

You might want to consider asking someone here to whip up a USB adapter for you to connect the ezb. I mention that because when you’re in a public place, the WiFi may cause interference with the camera.

Lastly, is the camera only disconnecting or is the entire computer disconnecting from the WiFi?

#10  

Oh, thanks a lot DJ. Way to rain on my parade, lol. You know, though, I had it at my school for almost a month with no wifi interference troubles and we have good wifi. Of course that doesn't mean much. I scanned the article you linked to about making the USB connection. It seemed pretty straight forward and I have most of the parts already. And again, yes, you're right. I'll need to secure the EZB with a password before the show. Good call.

#11  

Oh, and yeah, it's the EZB disconnecting, not just the camera. Furthering the idea that it was that windows setting.

#12  

Looking forward to hearing if there is any improvement. :)

#13  

Well guys, no luck. It disconnected again last night. It ran fine from about 10 AM until 2:30 AM and then disconnected the same as always. I read a fellow's post that said he was having the same trouble with Win 10 on a surface Pro 1 and the only thing that fixed it was rolling back to Win 8.1. Since the soul purpose of this Surface is to run iRobot, I think that's my next step. But I'll need to make an image of the current drive first. I've never done that without a disc drive so this should be a learning experience. Wish me luck...

#14  

Here's the error. Still looks like the Surface is disconnecting to me.

11/4/2018 2:40:06 PM - Saved C:\Users\reset\Desktop\iRobot_Final.EZB 11/5/2018 2:30:36 AM - EZ-B v4 Camera Error: System.IO.IOException: Unable to read data from the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at EZ_B.EZBv4Video.zhDAFhUutB(Int32 , Object ) 11/5/2018 2:30:36 AM - Camera Disabled 11/5/2018 2:30:37 AM - Comm Err: System.IO.IOException: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) at EZ_B.EZB.nM1edIYc5k(Int32 , Byte[] cmdData) 11/5/2018 2:30:37 AM - BbytesToExpect: 2 11/5/2018 2:30:37 AM - Received: 0 0 11/5/2018 2:30:37 AM - Disconnected

#15  

You probably searched Google already. I did also and found this:


An established connection was aborted by the software in your host machine

That is a boiler-plate error message, it comes out of Windows. The underlying error code is WSAECONNABORTED. Which really doesn't mean more than "connection was aborted". You have to be a bit careful about the "your host machine" part of the phrase. In the vast majority of Windows application programs, it is indeed the host that the desktop app is connected to that aborted the connection. Usually a server somewhere else.

The roles are reversed however when you implement your own server. Now you need to read the error message as "aborted by the application at the other of the wire". Which is of course not uncommon when you implement a server, client programs that use your server are not unlikely to abort a connection for whatever reason. It can mean that a fire-wall or a proxy terminated the connection but that's not very likely since they typically would not allow the connection to be established in the first place.

You don't really know why a connection was aborted unless you have insight what is going on at the other end of the wire. That's of course hard to come by. If your server is reachable through the Internet then don't discount the possibility that you are being probed by a port scanner. Or your customers, looking for a game cheat.

Could it be something in a script in your ARC project? I've found that if I send a command through the Uart port that's wrong, not having the target device powered up or not initializing the port first I will get a disconnect and need to reboot the EZB. I've never used a camera with EZB but have heard about a lot of issues with bad commands and connections causing issues. Can you recheck your connection, camera cable and run a new, clean project to see if you still get a disconnection?

Sometimes starting with a clean project, known good working devices and wiring will at least rule out problems with your setup and then you can look at Windows and your Wifi. Sectionalize to troubleshoot, start at the beginning and work back to the end. Power, structure, devices. ;)

EDIT: also try disabling your firewall and antivirus.

#17  

Dave, thanks for the pointers. And I [i]really[i] like the idea of starting from scratch with Builder. But there's been a development: Last night I used my i5 laptop running windows 10, again turning off the sleep setting for the wife adapter, and it ran all night without disconnecting. So it's still possible! I reset the Surface, hoping to get it back to Win 8 but it wiped and reinstalled 10. When a person upgrades to 10, does it also upgrade the reset partition or did the Surface Pro 2 come with 10?

#18  

DJ, Hardwiring is plan B :D

#19  
When a person upgrades to 10, does it also upgrade the reset partition or did the Surface Pro 2 come with 10?

Unknown but I'm sure someone here with more information can answer. Sorry.

#20  

Or Uncle Google might know. Sometimes I get plain lazy, lol. Or, more accurately, just busy. I will report back.

#21  

I've been doing some very careful testing, still trying to eliminate the dropped connection problem. The other night I ran builder along with the old command prompt Ping-t. What I discovered was that the wifi connection from the Surface Pro 2 to the EZB did not drop but builder did disconnect. Always with the camera error. I made a mistake; the wifi connection was not dropping, which would be why all the Windows settings changes didn't help. Today, I made a mobile app from my latest builder file and iRobot from that. After about 1.5 hours, the app was still connected but the camera picture had been replaced with the camera icon (like when builder is disconnected from the EZB). I touched the icon and camera image came back. It was like the camera went to sleep. But I have no sleep script running. I'm leaning towards a bad camera.

DJ, if you're still reading this thread, hard-wiring is still plan B but since the wifi isn't disconnecting, I have reservations. Is it possible to order a new camera without the housing since I won't be using it?

PRO
Synthiam
#22  

Our logistics warehouse doesn’t store inventory of the camera without housing

I doubt it’s a defective camera - because electronics work or don’t work. I’m guessing the disconnect is one of two things...

  1. WiFi interference or driver causing delay resulting in a timeout

  2. camera overheating if not vented

It’ll be one of those two. The option #1 still doesn’t mean the WiFi has to disconnect. It means something is causing the data to timeout. One option is to log icon pong responses with a datetime stamp to the ezb and see If there are transmission errors.

#23  

I did see a couple of ping responses around 3.8 seconds. Seems like a lot. It's odd though that the disconnect always happens in the middle of the night when there's less chance of interference.

"One option is to log icon pong responses with a datetime stamp to the ezb and see If there are transmission errors." Could you point me to somewhere I could learn to do this?

I thought about the camera overheating. It doesn't have a housing of any kind so shouldn't need venting but I do have a bit of epoxy on the side of the heat-sink.

PRO
Synthiam
#24  

Here, use this. I whipped it up for you: DJ'sSuperDuperICMPLogger.zip

It'll also log the time to a file in the same folder as the EXE. Enter the IP Address of the EZ-B in the textbox where it current says google.ca

#25  

Wow, thanks dude! I'll report back in the morning. I also moved the sculpture to the other side of the house, away from the internet router.

#26  

I did have an EZ-B camera (version 1) that failed in a similar way, although it would only work for a few minutes before failing, not several hours. It also got very hot. (never did wind up doing a warrenty exchange because I bought it from Brookstone when they were closing out the inventory and I didn't discover the issue until they were out of stock).

Error looked identical though.

Alan

#28  

Haha, Dave. That's hysterical. The wife and I watched Young Frankenstein on Halloween. We love Mel Brooks films.

@Alan Interesting. I just checked and the camera is cool. But it's completely exposed. No housing at all. I thought maybe the little bit of epoxy on the side of the heat sink was causing a problem but it's been running all night and it's still cool to the touch.

Speaking of running all night; the camera didn't disconnect last night! Yay! I moved the sculpture to the other side of the house and voila, it worked. Not trying to jinx it; I still need to let it run for a few solid days and nights before I'll be comfortable but it's working for now.

Lastly, @DJ, I've never known anyone as committed to their profession as you. Whipping up quick programs for someone you don't even know, on a Saturday night? Dude, get a girlfriend (or boyfriend). Or build one! Sir, I thank you.

#29  

Hey fellas, what are the chances that my home internet router and the EZB have the same address? Because my home router address is 192.168.1.1 Is that a common address for routers? Is it just websites that have unique addresses? Is there any way for me to know which router I'm pinging?

#30  

Duh, that was kind of a dumb question. As long as the wifi is hooked up to the EZB, I should be pinging the EZB, even of the address is the same.

I'll be honest, I didn't think a microwave would cause too much interence, but I was wrong. Even with the Surface and the sculpture 15 feet away, the microwave running almost completely stops the camera from functioning. It looks like Skyping on dial-up. Do I need to replace my microwave?!

#31  

Is your microwave built in or countertop? it could be throwing interference onto the electric lines, in which case you can get a cheap filter that goes between the power cord and the outlet. If it is actually leaking 2.4ghz signal then, yes, you probably need a new one. Hard to troubleshoot which the problem is. I had one of those filters for a microwave that was interfering with an old cordless phone. If I find it, I can send it to you to try. Send me your mailing address (my email address is in my profile).

[edit - I can't find the filter where I expected it to be. Probably got tossed when my basement flooded a couple years ago. Anyway, what you would look for is an EMI filter. Get a cheap one in case that doesn't solve the issue.n Something like https://www.amazon.com/eDragon-Protector-Outlet-Computer-ED70340/dp/B00J4Z7WBC

Alan

#32  

Thanks Alan, unfortunately the microwave is built-in and part of the convection oven (the house came that way). I'm not really concerned with iRobot functioning in my home without dropping the camera. I'm more concerned with it happening at an Art Exhibition like the one coming up in January.
I'm assuming that if the EZB is hardwired to the Surface Pro 2, interference won't be an issue but ultimately, I'd like to have the ability to pull the Surface from the sculpture and walk around with it. Maybe mess with people at the opening reception, lol. Thanks for link to the filter, dude. And thanks for offering up yours.

PRO
Synthiam
#33  

Try changing the EZB to different WiFi channels. You can do that in the ezb web configuration interface or visit http://192.168.1.1 when connected to the ezb wifi

#34  

Thanks DJ, I've thought about trying that. It did disconnect again last night. Again, at 3:32 AM, so it's always between 2 and 4 AM. Weird. Any certain channel(s) you recommend?

PRO
Synthiam
#35  

It's impossible to recommend a channel for your environment

What does the ping graph look like? I created a program for you above that you can download and run.

#36  

Yeah, I need to upload the file. I had many failed pings overnight, more than 100. And a couple that took more than 2 full seconds. The program you whipped up is very useful.

#37  

At least one of those very long pings were when the microwave was running.

PRO
Synthiam
#39  

I need to see what’s in the details button and some words that you write around what you think happened

Belgium
#40  

Microwave ovens work in the 2.4 GHz band, same as our wifi (as long as we cant use 5 GHz wifi with the EZB V5 ?:) ). Ovens are shielded, but even with shielding they dont contain all of the ~1000W they put out, just the vast majority. But compare the 1000W oven to a more typical 0.06W that a wifi device would use and its easy to see why even tiny radiation leakage from your oven will stomp all over your wifi signal.

I dont think there is a bullet proof solution to this. 5GHz wifi is the most obvious solution, but the ezb doesnt support that afaik. If your wifi signal is not perfect to begin with, you could try a better wifi solution, ideally with directional antennas. I recently bought an Ubiquity Amplify mesh wifi setup. Its not cheap, in fact its ridiculously expensive, but it does maintain connection to my laptop throughout my house even then the microwave is on.

You could also just try adding a high gain directional antenna to your router and pointing it to your robot. It may or may not help. Its RF, which is black magic, no one knows anything ;).

#41  

@DJ I'll have a look at that details button when I get home. Why I didn't last night, I don't know. Its the big push to finals at school and I'm having trouble reaching mental "flow states" on this project right now, lol.

vertigo thanks for the info and input. I was reading about the 5GHz deal the other day. Ultimately though, if I can't get this solved by the end of the weekend, it will be time to build that USB hardwire and go that direction.

UPDATE: It didn't disconnect last night. I changed the EZB to channel 6 so that might have helped. If it's disconnected when I get home, I'll know it's more of a "length of time online" issue than a night time issue.

#42  

Following is the code in the Details button. I read through it and understood exactly zilch.

See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.Net.NetworkInformation.PingException: An exception occurred during a Ping request. ---> System.ComponentModel.Win32Exception: The network location cannot be reached. For information about network troubleshooting, see Windows Help at System.Net.NetworkInformation.Ping.InternalSend(IPAddress address, Byte[] buffer, Int32 timeout, PingOptions options, Boolean async) at System.Net.NetworkInformation.Ping.SendAsync(IPAddress address, Int32 timeout, Byte[] buffer, PingOptions options, Object userToken) --- End of inner exception stack trace --- at System.Net.NetworkInformation.Ping.SendAsync(IPAddress address, Int32 timeout, Byte[] buffer, PingOptions options, Object userToken) at System.Net.NetworkInformation.Ping.SendAsync(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options, Object userToken) at NetworkWatch.Form1.timer1_Tick(Object sender, EventArgs e) at System.Windows.Forms.Timer.OnTick(EventArgs e) at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies ************** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

NetworkWatch Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Users/Mac%20iRobot%20McAvoy/Desktop/NetworkWatch.exe

System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Assembly Version: 4.0.0.0 Win32 Version: 4.7.3190.0 built by: NET472REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Windows.Forms.DataVisualization Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.DataVisualization/v4.0_4.0.0.0__31bf3856ad364e35/System.Windows.Forms.DataVisualization.dll

System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Accessibility Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.Data Assembly Version: 4.0.0.0 Win32 Version: 4.7.3160.0 built by: NET472REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled. For example: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

Belgium
#43  

Im not sure if you lost your wifi connection again, or if DJs ICMP app just crashed?

I cant help with the latter, but assuming the former, something else you could try is connecting both your laptop and ezb to an access point/router, rather than directly to each other. Some wifi cards struggle in AP mode (which is what you enable for a direct connection). instructions can be found here (client mode): https://synthiam.com/Community/Questions/5901

If you can put the access point inbetween the laptop and the robot, or close to the robot it will also help improve signal quality. It will probably improve signal quality even if you put it elsewhere, as access points tend to have better antenna's than laptops and certainly embedded wifi modules.

PRO
Synthiam
#44  

The error in the icmp app is that the network vanished. Here's an update. I handle that exception: NetworkWatch.zip

#45  

THanks again, DJ. I'll give it a go tonight.

vertigo, first, I love your handle. Lately I feel like life is making me dizzy, lol.
I have an extra router sitting around here somewhere so I'll gave that a try. But ultimately the EZB (inside iRobot's head) will be about a meter from the Surface Pro 2 (inside the pedestal). The router can be, at most, 40 centimeters away from the Surface Pro.

DJ, I don't suppose you sell all the necessary parts for the USB hardwire job it's looking like I'll need to make? I saw in the link you gave me earlier that some of the pieces are outside the US.

Belgium
#46  

hmm, if they are going to be that close, I see no reason not to hardwire either (other than satisfying our curiosity and see if a router does help).

You can buy the needed parts anywhere they sell electronics. Including amazon. For instance: https://www.amazon.com/DSD-TECH-Converter-Compatible-Windows/dp/B072K3Z3TL/

Or search for "FTDI TTL" or "USB TTL".

Do buy from a trusted source. There are many counterfeit FTDI adapters. FTDI is a brand that makes the chip. Their windows drivers used to work with the fakes, but no longer do. Alternatively buy a TTL convertor based on a siliconlabs chip like the one I linked, and use their drivers.

The cables are standard dupont cables, and anyone with an arduino or breadboard will have some. You can buy them anywhere, including ezr webshop.

#47  

Thanks for the info and links, vertigo. It seems straightforward enough. However, I just realized that the USB adapter will be using the camera port on the EZB. I remember DJ saying I could do the same thing with the camera; hook directly to the computer but the Surface has but a single USB port. So now we're talking about adding a USB hub. The more complicated the plumbing, the easier it is to stop it up, as they say. I'm going to try the router addition this weekend. Thanks for the link to the walkthrough video but I didn't find it easy to follow. I know there are instructions on this site somewhere for changing to client mode.

#48  

Like here ...

https://synthiam.com/Community/Tutorials/102/1

#49  

So....yeah, this is embarrassing but I think I have my problem solved; knock on wood. I put the EZB in client mode and gave it a dedicated router but it still had disconnect problems (at least I know how to do that now). I moved the sculpture all over the house but had interference everywhere it went; almost like the interference was coming from the sculpture itself. Hmmmm.........

Yup. Even though I had turned off the wifi on all the cell phones and the face-tablet, it had turned back on, every one of them. So I put all the devices into airplane mode (which I think I did last year when I had no issues) and it ran for over 24 hours without disconnecting. That is, until I put it back into AP mode. I'm running another test tonight; really for the entire week I hope.

However; I don't like the look of the Surface Pro 2 on the outside of the pedestal so I've installed it inside the pedestal access panel. Will the wifi signal have a hard time penetrating the 3/4 inch MDF of the pedestal with a few coats of paint? It's been running like this okay so far but it's only been a few hours.

#50  

Nice going. Good catch on the cellphones Interference. Who would have thought?

You should be ok with the signal going through the plywood. Especially since the computer is so close to the ezb.

Belgium
#51  

If these phones connect to the same wifi router, there should not be much of an issue. Of course, if they connect to something else (or try to) while the ezb is in AP mode, then I can see that being very unhelpful. But even then, if they are connected to a wifi AP thats on a diffferent channel than the EZb (ideally seperated by several channels), it shouldnt cause too much problems

It could be worth checking your wifi environment with an app like this: https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&hl=en

Wood is no problem, its essentially transparent to wifi signals. High density materials like stone bricks, certain types of glass, water and obviously metals do absorb 2.4 GHz signals.

FWIW, other frequent sources of 2.4 GHz interference:

Microwave ovens 2.4GHz cordless phones, DSSS and FHSS Fluorescent bulbs 2.4GHz video cameras Elevator motors Cauterizing devices Plasma cutters Bluetooth radios Nearby 802.11, 802.11b or 802.11g WLANs Wireless Internet Service Providers (WISPs)

And to add to that list from own experience: floor heating and baby monitors

#52  

Well fellas, not great news. It disconnected last night. Same camera error.

I've been racking my brain trying to figure out what has changed since it worked a year ago.

  1. Our wireless internet (thanks for this one, vertigo) is a little faster, but not by much.

  2. Our home appliances are a year older; including the micro and keurig.

  3. Lastly, it used to run on a Windows 7 computer on an earlier release of Builder. Luckily I saved the install file for that release and I still have the Windows 7 machine. I'll check that out.

*I also went ahead and ordered another camera/EZB combo. If nothing else, so I can check that off the list.

I have a few days off for Thanksgiving. It's time to completely disassemble (sorry Johnny 5) and start from scratch.

#53  

Thanks for the link, vertigo. I'll have a look at that tonight.

#54  

I think maybe I did change the bulbs in the house to one of the newer technologies but I can't remember which; halogen maybe?

If I end up having to hard-wire, will it be an issue splitting the single USB port on the Surface Pro for the EZB and camera?

#56  

Hey 56, thanks for the link. I've thought about using a hub but I think it would need to be externally powered. I think the issue will be, and I haven't looked at it that hard yet, will be assigning comm ports.

@vertigo That wifi analyzer is very cool! I discovered a lot about what's happening inside my own home. For one, the EZB signal varies quite a bit; from 40 to about 60 dBm. And I had it on channel 6, which in my environment, wasn't the best choice. I have the EZB back in AP mode and am testing some new settings. I changed it from channel 6 to channel 11 (the house router is on channel 1) and I changed the IP address so it didn't exactly match that of my home router. It ran all night and I'm anxious to get home today and see if it's still running.

#57  

Granted I haven't read the entire thread but does the camera and/or project have to run constantly 24hrs a day? Does anyone care at 3am if the camera isn't running? Ok if you need to run 24hrs a day can you not just write a looping script that checks to see if the camera is active (say once a minute or so)? So if it disconnects you can have the script try and re-esablish the connection... Maybe? Again, as mentioned I may be off base as I haven't read the whole thread....

#58  

I use one of these splitters for my hardwired project.

The splitter runs: -ezb usb -camera usb -xbox controller

There has never been an issue with Comm ports

#59  

@ Richard Hey dude, long time. Yeah, I'm afraid it has to run 24/7 for 4 to 6 weeks at a time. If this sculpture is in an art show, as it's supposed to be in January, it may be a long drive, as it is for the upcoming show. I'm very interested in the script you mentioned. I'm slowly learning to manipulate EZB interaction using script but I'm not that advanced. But I have been curious if some code could keep the EZB/camera awake. What might a looping script like that look like?

@56 that sounds pretty good. I'll look into it as a backup but yeah, I'm running out of time. The show quickly approaches.

#60  

Unfortunately I am away from my computer for a few days. I have just the script you are looking for in one of my projects. You could try looking at my public project called My Roli MkII, but it has a lot of stuff in it to dig through. It is a combination of two things. The init script and another keep alive, but I forget what I called it.

I'll post here after the holiday weekend with the details if no one else does first.

Alan

Belgium
#61  

Im not much of a programmer and new to ezb but this should be easy enough. Try this


REPEATWHILE(true)
  IF (IsConnected(0)==false)
    ControlCommand(&quot;Connection&quot;, Connect0)
  ELSEIF ($IsCameraActive==false)
    ControlCommand(&quot;Camera&quot;, CameraStart)
  ENDIF
  sleep(3000)
ENDREPEATWHILE

Put that in a custom ezb script and run it. It will check if your board is connected every 3 seconds, and if its disconnect will attempt to reconnect board0. If the camera isnt started it will attempt to start the camera.

You can autostart the above script by giving it a name (I called it watchdog) and adding


ControlCommand(&quot;watchdog&quot;, ScriptStart)

to the "connection established cmd", so it will run the first time you connect to the board.

Test it by disconnecting your wifi.

You may need to ensure the laptop doesnt try to connect to a different, known wifi when losing the connection with the ezb AP.

#62  

@Mac... This script worked for me in testing (camera only not for the ezb4 itself) ... FYI this script will have to be kept running always as it monitors the camera connection... It will also enable face tracking if need be... Add a script to your project and name it whatever you want... copy and paste my script below into you script...


:top
waitforChange($IsCameraActive)
if($IsCameraActive != 1)
sleep(1000)
ControlCommand(&quot;Camera&quot;, CameraStart)
sleep(1000)
ControlCommand(&quot;Camera&quot;, CameraFaceTrackingEnable) #enables face tracking
sleep(1000)
endif
goto(top)

Belgium
#63  

Richard, afaik, if facetracking was enabled it will re-start automatically when the camera is restarted (and if it wasnt enabled, you probably dont want to enable it) Your script also doesnt help if the wifi gets disconnected, which I thought was the OP's main problem.

And ahm..

User-inserted image

:D

#64  

As always, you fellas offer help without chastising or attitude; you're all awesome....to the max :D

Okay, to clear a couple things up;

  1. I thought originally that the problem was the EZB disconnecting, which it was. But.....
  2. The camera disconnects first, followed sometimes by the EZB.
  3. The above is when in AP mode. When I changed to clent with a dedicated router, it was a comm error and the EZB would disconnect. No camera error like in AP mode.

I actually found Alan's loop code late last night (when I remembered I could stop being lazy and search for myself) but the scripts you all shared should prove valuable. Also, and I think this is significant, when I connected last night before going to bed, the camera image on the laptop screen had a lot of horizontal blue lines running through it. That lasted for about two minutes and then cleared up. I'd never seen that until now. Add this to the fact that iRobot ran for weeks on end without disconnecting a year ago, before being stored, now I'm leaning towards a hardware problem. Or possible just the camera cable going bad. I've ordered a new EZB and camera but I think it's time for some major disassembly.

#65  

Grrrrrrrrrr! mad I know how frustrating this stuff can be. Hang in there. With your talent and dedication I'm sure you'll work this through.

Have you tried disconnecting the camera from the EZB and run your setup overnight without it? Make sure you deactivate any commands in your project relating to your camera. If there are any commands sent to the camera and there is no camera then you will have a EZB disconnect. Without a camera attached and it stays running you will at least know the problem is in the camera set up.

Don't rule out a bad cable between the camera and EZB. Those little ribbon cables are easy to damage. A bad connection here can cause all sorts of weird things to happen.

When you have time could you post that loop connection check script of RR's you found? I can't seem to find it. He always has such good insight and skills in these matters. ;)

EDIT: I see above that RR posted his script. Thanks! I guess I need to read before posting. Vertigo posted a nice looking script. That looks like it will work also. Thanks Guys! Too busy and lazy to write on myshel right now. :D

#66  

I said early in the thread I had this exact symptom when I had a bad camera. Willing to bet the replacement will fix it (although Dave has a good point about checking cables).

Alan

#67  

@vertigo... I was only addressing the camera disconnect issue not the ezb4 drop out... It was an example code that the op can tweak for his own use...

Belgium
#68  

Ok, I missed the camera thing, if it was posted in this thread, I read over it. And I agree, this could very well be a camera hardware or cable issue. I am still curious though, if this happens, does the ezb reboot?

BTW, hobbyking kinda shafted me by selling me a ezbV4/1, but they do have a good deal on the camera: https://hobbyking.com/en_us/ez-b-v4-camera.html?___store=en_us

Good enough that I had already bought a spare :)

(And if im honest, everyone needs to eat, but the regular price is a little excessive IMO)

#69  

When my camera failed, yes the EZ-B would reboot as well, shortly after the camera error.

Alan

#70  

"If there are any commands sent to the camera and there is no camera then you will have a EZB disconnect."

@DaveThis sounds like what is happening, even with the camera connected. I think Alan may be correct about a bad camera. I've started disassembly but it will be a while before the new unit arrives. I do, however, have another camera cable. It's a bit too long but will serve as a troubleshooting tool.

I've gone back to robot-school but I have a quick question I can't seem to find the answer to; so far all my script has been written and applied inside the appropriate control box. For instance, initial servo position and speed script was added in the "Connect" settings. Re-centering the head, after loosing a face to track, script was added to the "Camera" settings. When is it appropriate to use Blockly or the script manager or a Script control box? It seems to me that there are several places to do the same thing. I'm confused on this point.

#71  

Ahh, now there's another issue I haven't brought up. When just the camera disconnects, yes, I can simply click the "start" button to restart. But when the EZB disconnects, I cannot reconnect without having to power cycle the EZB. It says something about there already being a client connected?

@vertigo that's like a closeout price! Well done my lad. But I get so much help from you folks and directly from DJ, I just can't bring myself to order from anywhere else. But you're right, I was just put on the low fodmap diet and it's getting expensive! Don't look it up, it's depressing. No wheat, no processed sugar, no dairy, select fruits, veggies, and nuts. It's crazy complicated.

Anyway, yes yes, back to work. This is hard without my mini Snickers!

Belgium
#72  

Quote:

When is it appropriate to use Blockly or the script manager or a Script control box? It seems to me that there are several places to do the same thing. I'm confused on this point.

Its like writing a book; when programming there are a million ways to achieve any given goal. The right one is the one that works for you (and ideally is understandable even if you havent looked at the code for a year).

I like using separate script boxes for different, isolated actions, particularly if they are not directly related to the events of a control box. But YMMV.

As for using blocky vs ezscipt, thats also entirely up to you. Personally, Im no fan, I cant easily copy paste blocky code here, I find it confusing to read and slow to produce. But I understand its easier to grasp for some. Again, no wrong or right answer, just preferences.

PRO
Synthiam
#73  

Vertigo, got the nail on the head. All up to you on what to use :). Funny, I use Blockly a ton! Not sure why because I can type a million miles an hour... there’s something about the colored shapes that gets me giddy

#74  

Vertigo is correct. They all do the same thing. It's a matter of organization for me. I never use Blocky for the same reason as Vertigo unless I can't figure out the syntax (it's great for that), Single EZ Script controls are great for me to have a much used script up front and easy to find, Script Manager is good for me to put scripts into like category scripts or areas of the robot (one script manager for the head section, one for arms another for legs, exc).

Belgium
#75  

Quote:

When my camera failed, yes the EZ-B would reboot as well, shortly after the camera error.

Thats kind of what I would expect to happen, and if that is true for Mac as well, we could have saved a lot of time trying to diagnose and troubleshoot wifi problems, because wifi problems wouldnt cause a reboot.

Of course, to know that, requires you actually witness the event to tell the difference between a reboot and a random wifi related disconnection. For future reference, should something like this happen again, do we have something like an "uptime" command for the ezb controller?

PRO
Synthiam
#76  

There is an uptime on the comm v2 which he’s using

#77  

Quote:

For future reference, should something like this happen again, do we have something like an "uptime" command for the ezb controller?

I've been tracking the uptime using debug. It usually gives me the connect and disconnect times.

So, I diss and re assembled the head, checked the connections and swapped the camera cable but I didn't realize my extra long cable was just an extension (male/female) instead of an actual cable (female/female). So a no-go on verifying the cable integrity. I did, however, find a very small, hard to see, brown spot where one of the wires enters the connector on the camera cable. It's not burned through but definitely brown.

I decided to put it all back together but without the Nook and resin face to lighten the load on the servo. Thinking maybe the servo load was browning out the EZB. But it disconnected after about 15 minutes.

I'm just waiting for the new hardware at this point.

Thanks for explaining the scripting differences. I only have two servos controlling one camera so I have no need for script managers, etc.

#78  

That brown spot is suspect. Can you cut the good end off the extension and splice it to the old cable to replace that suspect connection? Just for testing?

Do you have a new camera cable coming also? If not you can make your own. Either way you should have a extra one on hand.

Belgium
#79  

Quote:

I've been tracking the uptime using debug. It usually gives me the connect and disconnect times.

meaning, the disconnect was caused by (or at least happened along with) a reboot?

While waiting for the new camera, why dont you try without camera? Sure, your robot may not do a whole lot (I have no idea what it is or does), but you could still monitor your wifi and record your uptime. Maybe add some random servo movement if you want to add some stress to the system.

BTW, I took my camera apart to mount it in the inmoov eye. I noticed it had a pretty decent sized heatsink attached to the bottom, and I assume its not there for good looks. Is it possible it overheats after an extended period time? The camera casing doesnt have much, or well, any ventilation.

#80  

@Dave I thought about doing just that, splicing them together. But I wasn't sure how important shielding would be. I thought it best not to introduce any other variables but maybe you're right. I have some heat shrink tubing around here somewhere.

@vertigo camera overheating was one of the first things I thought about but the camera isn't in the housing; it's completely exposed to the air and isn't even warm to the touch after hours of being powered-up.

One of the reasons I didn't jump on Alan's suggestion of a bad camera right away was specifically because his EZB would reboot. Mine does not. Never has since the problem started. In AP mode, the camera disconnects first, followed by the EZB. Which makes sense if what Dave says is true; that commands sent to a non-functioning camera will make the EZB disconnect. In Client mode, it was the EZB disconnecting with no camera error.

Okay then, looks like I have some splicing to do. But first, @vertigo, this isn't as much a robot as it is an artwork. "iRobot; If you prick us, do we not bleed" is part of a series of sculptures I'm working on called The Classics. All the artworks are based on classic literature. Check 'em out :)

http://studio407.net/recent_work.htm

#81  

I've absolutely loved your iRobot artwork since the first time you shared with us two years ago. What a brilliant concept. So cool how you brought it to life. :) I never asked or learned (or maybe forgotten) what do you have showing/playing on each cell phone?

#82  

Ahh, the cell phones. They have small clips of robots through the ages; starting with the Metropolis robot on the bottom-most phone, then B9 and Robbie on the 2nd. Others include Bender B. Rodriguez and Calculon from Futurama, Bicentennial Man, The Terminator, Data from Star Trek, Wall-E, and many others all the way up through Ex Machina's Ava on the top phone. They are very short, around 20 seconds of each film, and not near the ends of the films so as not to give anything away so I should be safe as far as Copyright infringement.

I have to say, of all the sculptures in the series; this is quickly becoming my favorite. :)

#83  

Amazing talent.

My faves: B9 (of course) Robbie Metropolis Bender Wall-E

#84  

Thanks Dave. I like your list. I would add Adam Link as a favorite.

I've taken the camera off and deleted the camera control from the project. We'll see how long the EZB stays connected. I haven't added any load though. I'll start simple and add load later. Can I program a simple head movement once every ten minutes or so? I'll look into that.

PRO
Synthiam
#85  

The uptime that vertigo and I are referring to isn't disconnect/connect - but the time the EZ-B is actually powered.

View the EZ-B webserver and you will see the UPTIME value on the main page. That's the amount of time it has been online for. You can check to see if the time is less than the amount of time you had the unit connected

#86  

Oh, sure thing, DJ, I've seen that value on the webserver. That way I can know for sure if the unit is rebooting or not. However, I've been sitting right next to it when it has disconnected and I didn't hear the chime. And when I try to reconnect it tell me another client is already connected. That's when I have to power down and back up to reconnect.

In any case, it ran all night without disconnecting. No camera or camera commands and no load. I'll try to program in a couple of movements today but I have a feeling it will continue to stay connected with the camera removed. Or did I just jinx it! Lol.

#87  
when I try to reconnect it tell me another client is already connected

I have that happen from time to time. Can't reproduce it right now. However when it does happen I think it's when I shut down ARC without disconnecting then restart ARC. Can't remember exactly but the important thing is that it's not only you or your setup. Misery loves company. LOL. :D

PRO
Synthiam
#88  

That happens when the tcp connection to the ezb disconnects mid command. That’s usually from the WiFi disconnecting.

I created a program for you earlier in this thread that logged icmp. Have you identified the icmp stops responding OR gets very slow at the time of disconnect?

Post some logs

#89  

Hey DJ, I'll post the logs tomorrow. Are you still thinking interference? There were some pretty big spikes but I haven't time-correlated them. It did finally disconnect today without the camera connected, just a few minutes shy of 12 hours, but I wasn't running the logger. I think the next step is to use one of the loop commands.

PRO
Synthiam
#90  

Your next step should be hard wiring the ez-b with USB:D :D

#91  

@Dave , do you ever leave B9 running for a day or two? Does it ever disconnect unexpectedly? I guess I'm looking for more company, lol.

I used vertigo's wifi analyzer to look for a quiet place to to move iRobot to but I must have a pretty good router. It even reaches out to the detached metal garage! I don't think I could go without internet for more than one day. Is that bad? blush

I installed Richard's check camera loop. Now we wait.

#92  

Quote:

Your next step should be hard wiring the ez-b with USB Grin Grin

I know, I know. But tonight I hid around the corner and used speech synth to mess with my brother-in-law. It was hilarious! I'd love to have this ability at an art show opening reception. I'm not giving up yet.

#93  

@DJ someone mentioned using an Arduino USB cord for the hard wiring. I have a few laying around with some USB extenders. Will that work?

#94  

@Mac... not exactly... as always here's the ez robot tutorial to connect your ezb via usb USB to EZB

#95  

@Mac, I have left him running a full day with no disconnect. The only time i have gotten a disconnect (after I got my original issue worked through of old and outdated router and a weak signal) is when I send a improper command to a device through the Uart port or don't have the Uart port initiated before sending a command through it.

#96  

@Richard Thanks for the link. I've read through that article a few times but it seems incomplete so I have a couple of questions:

  1. I understand the connections from the EZB to the serial adapter (pictured on the left?) but what happens after that? What are the two adapters on the right in the picture?
  2. If I use a USB splitter in the single port on the Surface (one for the EZB and one for the camera), will the EZB and camera use the same Com address (Com 6 in the article)?

@Dave I'd forgotten that you use client mode. Right now I'm testing the Loop command to keep the camera awake (so far, so good) but after this I'll test client mode again, using my home internet/wifi router. That should be one way to eliminate interference, right? At least, wifi interference. Have you ever used an online AI chatbot?

Belgium
#97  

Quote:

I understand the connections from the EZB to the serial adapter (pictured on the left?) but what happens after that? What are the two adapters on the right in the picture?

They are all different "FTDI" adapters that do the same thing. You only need one and you just plug it in a USB port, done.

Quote:

If I use a USB splitter in the single port on the Surface (one for the EZB and one for the camera), will the EZB and camera use the same Com address (Com 6 in the article)?

No. USB and com ports are very different things. The com port numbering is done in software and it doesnt matter how you plug the USB devices, directly or using a hub. And you wrote earlier about needing a powered hub elsewhere, I doubt thats really needed here.

#98  

Thanks vertigo. And the USB cable with the four female connectors on one end? I don't see that referred to in the article. As always, thanks for your help, dude. :)

#99  

Quote:

@Mac, I have left him running a full day with no disconnect. The only time i have gotten a disconnect (after I got my original issue worked through of old and outdated router and a weak signal) is when I send a improper command to a device through the Uart port or don't have the Uart port initiated before sending a command through it.

@Dave And when it disconnects after an improper command, do you have to power cycle the EZB(s) before you can hook up again?

#100  

@mac, yes after I get disconnected because of anything not right with the command going through the Uart or the device on the other side I do have to power cycle to get the ezb to function again.

Sorry, I've never used an AI.

#101  

@Dave Yeah man, after giving it more thought, you would lose consistency in the voice. Unless we could convince your voice actor to voice a chatbot :D

So, the EZB disconnected again today, after almost exactly 12 hours; which seems to be the magic number of hours. The camera was still connected, or at I thought it was. But checking the debug showed the camera was disconnecting and reconnecting over an over, due to Richard's code. It would appear that the camera started this dance before the EZB disconnected.

Still waiting on the new hardware.

Belgium
#102  

Quote:

Thanks vertigo. And the USB cable with the four female connectors on one end? I don't see that referred to in the article.

Its all the same thing, just with a plastic enclosure and female pins on a wire rather than male pins on the PCB. All of these devices have a USB connector on one end (one that plugs in a PC or one that needs a USB cable), and 4/6 pins for serial on the other end.

#103  

Ah, okay vertigo, I get it now. Like three different "kits" in the picture. My new hardware shipped yesterday, yay! But your $10 cameras are out of stock or I would have grabbed a backup.

Belgium
#104  

Not to be pedantic, but there are 4 usb to serial adapters in that pic :)

The camera is still in stock in their EU warehouse, but I dont know if they ship to the US. Edit: they dont (https://support.hobbyking.com/hc/en-us/articles/232027168-Which-Warehouse-Can-I-Order-From-)

#105  

Lol, so there is. Thanks for checking on the other warehouse.

#106  

UPDATE:

iRobot has been running for more than 40 hours now. I think I have it solved. Or, more accurately, DJ had it solved on page 1 of this thread:

Quote:

when you’re in a public place, the WiFi may cause interference with the camera.

If the shortest distance between two points is a straight line, I did the exact opposite. It's been quite a convoluted journey but I did learn a lot bout EZ-stuff along the way.

So, here it is: last night I took vertigo's wifi analyzer around the house (with my phone) looking for the weakest house/internet-wifi signal so as to reduce the amount of interference with the EZB. I couldn't find anywhere, upstairs nor down, that didn't have a decent signal. I thought "man, that TP-Link is a great router. I should get one for iRobot!" And then it dawned on me (finally). I should just use the home internet/wifi for hooking to the EZB in client mode. Voila, no interference because I'm using what was causing the interference. It hasn't missed a beat in almost two days. I most certainly underestimated just how much interference can be caused, and the effects. Now, this does beg the question: when iRobot is in the show in January at NIU, will their wifi do the same thing? Even if they allow me to use their wifi, I know at my school, wireless devices are booted off after something like 20 minutes of inactivity. I'll talk the the IT folks at NIU and find out what the deal is.

Anyway, thanks everyone for all the suggestions and help. I'm thinking of eventually implementing a chatbot so I'm sure I'll have more questions. For now though, I have some final details to attend to before the show.

#107  

Okay, after running about 50 hours, I pulled the Surface and deleted the script box I had in Builder (since I wasn't running the loop script that was in there) and about 5 minutes later it disconnected with a comm error (rather than the usual camera error). This time I'm not going to touch it for a week and see what happens. It's going to be tough not touching it for that long. I'm a tinkerer. :D