
kplamondon

If my robot's detection is ever lost do to distance and it is in a harmful environment (H2S) that I can't go into, isn't the robot "technically" trapped.
I know that you can run script that can automatically connect to the EZ-B. But can you run script that does almost the opposite and detects when connection is lost. Meaning that if my rover 5 lost connection and now is to far for me to reconnect, can you setup a way that when disconnected it runs a script command and drives closer to you then is disconnected, etc. (I know to run the EZ-B it needs a computer so it seems non-doable, but is there a similar way like this:
Ex: could the signal when becoming low be used as a variable and just before reaching 0 it stops and warns you that you will lose connection if you drive in that direction anymore.
I am planning to use an XBee which will have a good distance, but I want to be careful b/c loosing my robot after hours of work would really suck and the only way out would be building a new one with more range that would be capable of pulling it back.
Is there a way to detect signal strength?
You could build a circuit to emit an audible beep and visual light on disconnect, search for the word Watchdog. But other than that you are going to need to be connected to have ARC control anything.
What you would need is for the EZ-B to be connected to an onboard PC to minimise disconnection risk - ideally change the bt module for a USB module. You can then remotely control that PC through the Server option and use a second PC running ARC too, this is capable of doing everything the onboard can. You can then use something to detect a disconnection between the 2 PCs and run a script to escape or return back to you. You would need something that pings the remote PC regularly and on failure sends a trigger to ARC - this can be done via telnet between applications running on the same PC.
Basically, the onboard PC is just a host for the EZ-B and has the return/escape script waiting to run on it. A looping script waiting for change on a variable i.e. $remotepc and if it does then the script runs and the robot escapes. You can easily use telnet to change a variable, simple python should be able to do it, something like;
Code:
It's not perfect, it's to give an idea only, it may work (it should work) but double check it. Basically, have something such as eventghost run that python script if a ping to the remote PC fails. That will set the variable to 0 and the script will pick up on that causing it to run and the robot escape. All of which can be done using EventGhost.
As far as I know there is no way to read the signal strength.
strength readout. As your flying if the signal is getting too weak you can turn
back towards yourself for a stronger signal.
I wonder if we can get these 2 variables in to ARC?
BTrxSignal
BTtxSignal
We could build scripts to keep our little robot drone colonies within range.
I have no idea if this is possible but it is always nice to dream!
http://reviews.cnet.com/8301-13727_7-57580295-263/how-to-check-bluetooth-connection-strength-in-os-x/
and for Windows 7
http://reviews.cnet.com/8301-13727_7-57580295-263/how-to-check-bluetooth-connection-strength-in-os-x/
I really hope DJ Sures will add the features mentioned above, it is a great idea and will help solve a lot of problems, I also think the code for it wouldn't take to long so making it would be a win-win.
I would recommend someone giving this idea to dj if he hasn't already seen it.
Thanks for clarifying how to do this I just hope I see more of this in the future, if anyone. An add to this idea or other methods i will always appreciate, hopefully I will see this in the near future.