Let's Make Robots!

MyRobotLab - Distributed RoBoScope

arduinoscope over network, multiple arduino boards, multiple instances, BORG!

This tutorial will be going over the Sensor Monitor Service.  The Sensor Monitor allows you to visualize and combine data from sensors.  In addition it allows simple triggers or alerts to be fired to affect behavior depending on preset sensor thresholds.  Since MRL can be distributed over multiple computers and multiple platforms, the sensors from those different computers can be easily combined and evaluated.  Being capable of remote data logging, you can monitor that weather station in Antarctica or help a friend diagnose a problem on there bot !

The steps

  • load arduinoSerial.pde into your Arduino or Arduino Clone - you can download it from here
  • download MRL (latest version from from here) - the file will look like myrobotlab-xxxx.zip - you do not need thirdParty libraries as SensorMonitor does not have any thirdParty dependencies
  • start MRL double click myrobotlab.bat or myrobotlab.sh depending on what OS you are using (.bat for Windows .sh for Linux or OSX)
  • load an Arduino service from the "services" panel
  • load a ServiceMonitor service from the "service" panel
  • be sure to attach the Arduino service to the correct USB/serial port - if you have more than one you must select the appropriate one.  If you have just one, it should be automatically selected.
  • add a trace from the Arduino & pin you are interested in
  • watch the pretty graph -
  • let me know if it has been helpful, how you are using it, and what can be done to improve it.


Bugs and Weird Things

  • If your going to connect remotely (2 computers) then make sure 1. All there services on both computers are all that you need. Once they connect there is no concept of refreshing the remote instance.  2. There can be no name conflicts. As you add and name new services or connect to remote systems, there can be no 2 services with the same name.
  • If you terminate MRL while a trace is running - you probably will need to reload the arduinoSerial.pde .  If you remove the trace before terminating, you should not need to reload the Arduino.


Tutorial on a Service creation.

Support other boards besides Arduino, Propeller, Launch-Pad, etc, so all boards can talk to one another as one big happy sky-net family !

Bwa ha ha ha - All Are Arduinos Belong to Us!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

A teaser for MRL 15 Garthy :)

Yeah ..... with an arduino Simulator "front plate" like this .... who needs the real thing.......

With each Tutorial, its becoming clearer ... though some of the pulldown lists have cryptic labels (time will reveal).

The second part of the video brings a much different dimension - (-: quite an exciting voyage :-) , linking and expanding your workload across a network....... ie one person using sensor data for one purpose and a second person using the same sensor data for something completely different. Or 100 persons controlling a single goal or process... (mr/mrs average)

BTW it looks like i will be able to use the Roboscope to monitor serial data ie representing serial data as an analog trace (the idea is in my brain......now to try roboscoping it ...... i beep you if i need some coaching)

System indeed works......though my test arduino (first generation) was throwing 200mV trace open circuit......

One idea for your Sensor Monitor limit alarms :-

Auto-reset ...... say if after 1 sec the alarms clears then it resets and can be ready to fire again (ie instead of latching -- though choice of both would also cool)

Great idea ! - My Cascadian elves will make it so next release...
Auto reset with variable time reset..  seems straight forward - Or one-shot - but it should update the gui by removing the entry. Mean needs to be corrected too, Cascadian elves can fix that..

(speaking of Alerts) I had a Cron job doing my sprinklers, but I think I'll have MRL daemon running with calender/scheduling Alerts.. 


A couple things to present to your esteemed elvish colleagues:

1. I was thinking about using MRL to invoke avrdude the same way the Arduino IDE does to load a .hex file with the touch of a button..

Do you think its worth it? - or really is my PDE the wrong direction?  I've debated back and forth whether I should try to incorporate my pde into a library, which "user's code" could hook into..  but I'm a little unsure as to "if this would be really useful" and "how to do a decent implementation".  Is it worth it?  If not, you said that it took you a while to find the PDE.  Should I put it in a folder on the distribution... this would be the easiest (cheesiest?) solution.  

2. Could you post a screen shot - just curious of what your tracing looks like


3. Very interested in your bluetooth Prop serial toob.  I think great communication from your home computer to little gadgets is the way of the future.  Let the little dumb bugs swarm around collecting and transmit data to the "mainframe" (home pc).  Its inexpensive and if you talk back and forth to you home computer, you have internet resources at your disposal.   That is why I've been messing around with BBBs & Cheapo RF 2400B modules ($18.00 total).  But the Arduino-ish boards were not "built" for communication in mind and all the nasty interrupt, servo/serial contention on top of the marginal RF has turned my elves blue.  

The $2.00 115K serial tube sounded awesome .. but the prop you have is $50 right?  What we need is a "super inexpensive ($2 is great) that can talk to an inexpensive board.. Any Props in the same price range as a BBB ?

1. My personal feeling is to keep it separate and include with the distribution.  Then you can "See" the code and tweak if needed.


2. Here is the evidence Mwahh Mwahh

I found out it was mains "Hummmmmm" that was leaking into the open circuit analogue connection

3. The propeller needs just a crystal and eprom really - there is a call for a RBBB system but its not really out there ... this is the closest simple solution i have found so far.

1. Ok

2. Wow, I wonder why you had that and I didn't.  Were you working close to a transformer?

3.  ~$20 + $2 BlueTooth would be magical !  Is Parallax / Propeller set up the same as Arduino as far as open-source spin offs?

Label - yes - they will come with comments/descriptions shortly...  I'm getting ideas from my overlords to connect MRL Services with descriptions and details on the website (automagically).  Similar to Drupal does for add on modules.  The Services & functions could be explained in detail there too..  

Some of my inspiration with the networking was with P2P networks, where everyone interested in contributing Services or data could be easily involved.  This goes with the concept of "internet training" by multiple people or services. Large tasks of mapping or object identification can be crunched on with the power of connectivity and shared to bots, arms, or other services which needed the processed data.

Now that your an eclipse aficionado - you can download all the source in a project and step through or create your own service (its easy squeezy :)