server based IDE

I was wondering if anyone has created a server based Arduino IDE where I can run the Arduino IDEon a linux server for the purpose of compiling and loading arduino programs on to arduino boards from a remote source rather than from the local IDE.

And if such a solution isn't available yet what would it take to get one up and running on a server?

Thanks,

Icek

So, how would this work? Do you mean that you have a Linux server somewhere with an Arduino attached by USB. Presumably with some control electronics attached to it.

You then want to use a web interface on that server to modify the sketch on the Arduino and then send the compiled sketch to the Arduino through the USB link?

Humm, interesting.

All you basically need to do is be able to run the Arduino tool-chain headless, using shell commands. You would do this from your PHP or whatever server script you prefer, when someone posts the form with the new script. I'm pretty sure this can be done. Google 'Arduino build from the command line'.

Or you could just make the Arduino a web server with an ethernet shield and send it commands.

A headless tool-chain is the best description for how the server based IDE would work. As you say the user would use a web based interface to upload code from a server to their arduino that is connected via ethernet. I looked on the forum, but didn't see anyone mentioning that this has been done before. I wonder if the current IDE is command-line configurable.

Icek

Si, I forgot to thank you for the links generated from the Google search. They produced a lot of information on command line based loading, etc.

Icek

You are welcome. Sounds like a fun project, let us know how it goes.

Si.

Heck, for all that I would just prefer a remote desktop solution... (VNC)

It would add a whole new meaning (and means) to "upload a sketch" to my board. ;D

Does anyone know why we say download a file from the web, but arduino is said to upload a sketch to the board? Or is life just funny that way?

Lefty

Does anyone know why we say download a file from the web, but arduino is said to upload a sketch to the board? Or is life just funny that way?

People who use computers have a large gravity well (probably from their egos). A file is "downloaded" from the web because it falls down into the person's gravity well. A file is "uploaded" to a board because it has to be pushed up out of the gravity well. :smiley:

I just prey that the Arduino folks never add the function to read the value of the boards eeprom data and "download" it to the IDE. That would have to be explained more often then why to use resistors with leds. :wink:

Lefty

Wonderfully ambiguous.

DOWNLOAD:

to transfer (software, data, character sets, etc.) from a distant to a nearby computer, from a larger to a smaller computer, or from a computer to a peripheral device.

DOWNLOAD:

to transfer (software, data, character sets, etc.) from a distant to a nearby computer, from a larger to a smaller computer, or from a computer to a peripheral device.

So the Arduino team had another brain fart when they decided to call moving a sketch from a larger computer (the PC) to a smaller computer (arduino) a upload operation.

Lefty

So the Arduino team had another brain fart when they decided to call moving a sketch from a larger computer (the PC) to a smaller computer (arduino) a upload operation.

In my work *, "download" has always meant "towards" and "upload" has always meant "away". The subject is whatever happens to be the focus of the discussion. If I'm talking about me working with an Arduino then "upload" means data is going away from me to the Arduino. If I'm talking about the Arduino interacting with a website then "download" means data is going from the website towards the Arduino. I've never known the size of a device to dictate which term is used.

From my perspective, dictionary.com has the wrong end of the stick not the Arduino folks. But it hasn't been the first time I found dictionary.com playing a bit loose and free with their definitions. ;D

* Which has included industrial applications and business applications.

Don't make me start throwing lighting bolts around. ;D

Lefty

Don't make me start throwing lighting bolts around.

Ducking and running. Let me know when it is safe to come back. ::slight_smile:

re: headless, looks a little involved if you want to compile arduino sketches on the fly remotely
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1269954902

but plain old avr is easy from a command line compile and load perspective.

Or if you just have some predefined hex files built in arduino you can call avrdude to load them on some external event from the command line. Here is a java based script uploader that might work too:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1233605999 easy to integrate into tomcat or something.