Let's Make Robots!

Arduino Service - almost like "real" software ....

Arduino Service - almost like "real" software ....

"Finally"...  presenting "The Arduino Service - reloaded (again)" -  it's not ready for "prime time" , but it's starting to come together.  It would be great if I could get some testing & feedback..  with enough updates I'm hoping it might even be useful :)

If your interested,
here are the steps to get started in graphic detail..

Step 1 download the latest "bleeding edge" build from the build server...

http://myrobotlab.dyndns.org:8080/job/myrobotlab/ws/myrobotlab/dist/

At the time of this writing it was at intermediate.751.20120901.0645 - press the lastest link..

Download this release by pressing ... (all files in zip)

After its done downloading, extract the contents somewhere...

Double click the myrobotlab.bat or .sh depending on operating system...

If all goes well you should see MRL startup - click over to the Runtime tab (it's the BORG + number tab).
This allows you to select what services you want in MRL.

Many of them require additional components to run.  Arduino needs all the avr stuff and other doo-hickeys..

Right click on Arduino, and select install...

It "should" start downloading the appropriate parts depending on your flavor of operating system...  It won't work through a proxy server, and we have had problems with some of the service components being blocked by anti-virus software...  Some services (opencv) require native libraries (dlls or so's) which some filewalls will not allow...  hopefully, you'll get a happy green check-mark :D

The windows install of Arduino is larger than the Linux one - being that Linux already has many of the components to run avr cross compiler... so if you have windows you'll have to wait a bit...

Restart - now MRL should allow you to start an Arduino service.  Oh... heh, did I mention it was a good time to plug your Arduino in at this point :D

I "think" I can support almost any Arduino, I put some work in to suppor the different pin configuration of the Mega 2560... but let me know if    "it no worky" for you...  I'll try to get more boards supported...

go back to the tab and right-click -> start

Now you'll need to name the service... you could call it George or Mary, or some other silly name..  it does not matter, but it needs to be unique..  This name is used for the different services to talk to one another...

I named my with the un-imaginitive name of "arduino"

Now you should see an Arduino service tab in the GUI.

Select the appropriate board & serial port under the tools menu.

wait for the "good times...." :)

The first sub-tab which comes up is the "editor" and a file called MRLComm.ino
MRLComm.ino is a Arduino script file which allows communication from MRL to an Arduino based board.

The first thing you want to do is compile it - with the arduino compile like button :)

Then upload it to the board.

Please be patient with the serial port ... for some reason it takes a long time to connect - on Windows 7 its the worst...  but I'll look into it (later) 

Next after uploading - you want to re-establish a connection to the boar - the "upload" has to tear down the connection.  But we want to connect - hit the connect button..

Now if everything went correctly, you should be able to tab to the oscope - and turn on a few pins analog or digital and see the results.  Sometimes I plug in a plain wire to an analog pin to see how much it affects noise :) 

Sometimes its more convienent to have different screens showing at the same time or in different positions, most tabbed components you can right click - and detach for more effective screen space

So now hopefully you have a working Arduino service - the service itself is not the gui, but the GUI is a service.  These means it can run just the same without a gui, it can be controlled programmatically.  Jython is a service which you can write scripts to do things with the Arduino service.  Or multiple Arduino services.  Everything in MRL speaks to one another in a standard message format.  So Arduinos can speak to other Arduinos, or OpenCV can tell the Arduino to move Servos or Motors etc etc...

Well, let me know how it works for you or if you have ideas on how to make it better..

Thank you..

good times....

Comment viewing options

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

This thingy ! 

Could you tell me where it is? I looked in all the folders, did not see a .log file.

Word up.

This is what it looks like "stock":

 

 

and you can see, I can grab the arduino icon, move it around, and its "in" and "out" are not connected to anything.

 

It's probably correct.  If you hit rebuild, you'd probably see one route to the GUI.  Your Arduino instance is not connected to anything (yet) ..  These routes are between different services.  Like if you sent OpenCV info to the Arduino.  The Arduino is fully self-contained - so all the parts of the Arduino should work by itself - and you should be able to see them with the GUI.

If you could send me your myrobotlab.log I'd greatly appreciate it.. 

After that, give me a little time to douse it in bug spray....

Just discovered that the arduino icon in the GUI does not seem to be connected to anything. There are arrows going "over" or "through" the arduino icon, but not connected to the in or out.

Huh?

Picture? through?  Visual mediums are so hard with words?  Que?

Yes sir, after I sync'ed the sketch, I did indeed hit the connect button. I have:

 

connecting to serial device COM17

 

connected to serial device COM17

good times...

 

and then because I am impatient and clicky...

connecting to serial device COM17

COM17 is already open, close first before opening again

connected to serial device COM17

good times...

 

From there, nada. I can go into "Pins" and click on/off with no results. (I am getting an RX blink still, but no pin13 LED --which is what I am toggling [toggeling, toggleing?] Nothing on the Scope either. 

I gotta be missing a buad rate somewhere?

 

Hmmmm....  

got to regroup for a bit, and see if I can get more info,

Thank you, your gracious Clickyness !

I'll be adding a "WTF GroG" button which auto-emails the log to me ...

Okey Dokey,

Zip files downloaded and extracted, BAT file, "installed" arduino, zapped-in the serial-I/O code, connected, "Connected..  ..good times"

So I am talking to the computer, the programming went fine (actually MUCH faster programming than the regular IDE) and I am indeed connected. I am getting a blink on my RX LED when I manipulate pins under the "pins" tab. Specifically, I am clicking 13 on and off, looking for the LED blink. Nada.

I am getting no reponse from any of the output pins on the arduino, and nothing in the O-scope (yes, various pins were "enabled").

Gotta be missing something very simple here...