Can a WiFiWebServer handle a multi-indicator, multi-control webpage?

Hello,

I wasn't sure if I should post here or in Networking but, since my interest is in the approach, I'm decided to post here so please bear with me.

I am working with the Arduino WiFi shield to relay sensor values wirelessly. My goal is to be able to read the data using any device connected to the network (PC, smartphone, tablet) and send commands to the MCU. I need indicators and controls on a web page and am trying to figure out the best way to do so.

At present I am considering two options but, being new to Arduino WiFi, am open to suggestions. The first option is setting up a simple telnet (http://arduino.cc/en/Tutorial/WiFiChatServer) and relaying data to a computer. The data would be received by a program like LabVIEW and published to a web page using the program's own capabilities. This approach is quite expensive, however, and requires more hardware/software. The other option I am considering is setting up a web server (http://arduino.cc/en/Tutorial/WiFiWebServer) to publish data and receive commands. In this case the webpage and command instructions are stored on the MCU and I am wondering if it can handle the memory constraints.

Most of the example web servers people have posted for the Arduino have been very simple. I have seen a couple that were more complex with displays and buttons. I haven't been able to find tutorials for making a visually appealing web page on the Arduino and am wondering if a) it's possible b) how this is done with minimal memory use and c) whether tutorials are available.

I am hoping to get input from the community before going forward.

Best,
Yusif Nurizade

It is possible to do complex web pages, but there are two issues

  1. You will run out of flash memory really quickly as soon as you have anything beyond a simple web page. So you would need to use an SD card to store the web page and all other assets
  2. The Arduino isn't a fast web server, and retrieving large images etc from an SD card will slow things down even more

Clever use of CSS or externally downloaded pages e.g. get JQuery from google CDN may get around a lot of your problems

But, it really depends on quite how complex the web page needs to be, how many dynamic elements on the page, how large the page is etc.

Roger,

Thanks for the reply, it's very helpful in addressing my concerns. Please allow me to clarify some points and follow up on others:

The page is intended to display several double indicators, say twelve, and some buttons for commands to be sent. I also need to have some warning lights in case the indicator values exceed their limits so I guess that would either increase the number of indicators or require me to change the color of the indicators themselves. Visual representation of numerical data would be preferred; gauges, thermometers, ideally graphs, but I can live without them. I got the whole thing working as sentence strings on a white background, the sentences change font color when limits are hit, but I need something more visually appealing.

Storing the web page on an SD card sounds like an acceptable solution. I saw this referenced in Arduino Web Server guides but couldn't find a tutorial - are you aware of any out there?

Thanks again for a suggestion, I appreciate the input.

Best,
Yusif Nurizade

Below is a post I made that has a web page and files served from an SD card. This is for an ethernet shield and not a wifi shield (which seem to have some issues).

http://forum.arduino.cc/index.php?topic=279849.msg1970392#msg1970392