So I am not new to arduino, however, I am new with web servers. I am working on a project that can control a robotic arm that is at one location and I can be at my house. I know basic HTML, Basic CSS, Basic JavaScript, and a tiny bit of JQuery. Only reason I say basic is because I self taught all these languages to myself using codeacademy. So I have a few questions since I done research on the matter.

Can a project like this be done with just the languages I know? All the tutorials I have looked at say you have to know AJAX and JSON. I have no idea what these are.

Also, for the interface, I need to be able to take the value of the encoders on the robot and view them. I also need a button that will record the value at that point in time of the encoders so I can configure the points and maybe even name them. A box where I can see the points and their coordinates, and finally a box where i can place points in and then execute a sequence.

How tough should this be?

  • I cannot quite get what you are looking for. Could you explain what sort of architecture you have in mind? You have an Arduino board, with a WiFi (or Ethernet) adapter, right? and you want to connect it to a web server? or you want to run the web server on Arduino? – Helium Dec 3 '14 at 5:46
  • Uno with Ethernet shield.I want to run a server off the board that also is linked with the robot – TL140 Dec 4 '14 at 9:42

You can use an Arduino Yun: it has a 32u4 microcontroller coupled with a cpu running linux. The linux side already has a webserver: together with the Bridge library, you can use REST-like APIs to control a sketch, or build a web app that uses that APIs.

One example of remotely control an Arduino (although using an Android app instead of html+js) is this. Here is its source code.


There is an example of using the ethernet shield as a simple web server on the arduino website: http://arduino.cc/en/Tutorial/WebServer

Adafruit has another tutorial using an SDCard to hold the web application's files: http://www.ladyada.net/learn/arduino/ethfiles.html

It would be possible to use the aforementioned techniques to host a simple web application. Since the browser only understands HTML, CSS and JavaScript (browser plugins not withstanding), the application will have to be written using these languages. The HTML file will describe the structure of the UI (text, buttons, etc.), the CSS will apply styles if necessary and the JavaScript will add the interaction code (e.g. what happens when you press a button). The JavaScript could request data from the arduino+ethernet shield using AJAX request and should be able to send data back the same way. Using jQuery, this should be pretty straightforward.

That said, it might be easier to use a full fledged network stack such as the one you can find on Linux (using a raspberry pi for example) and to communicate using the serial port with Linux. I have an example on GitHub (the documentation is lacking but I could update it if need be): https://github.com/ddm/arduino-express

But in that case you don't get to use the ethernet shield which you may have already bought...

Your Answer

