• Stars
    star
    748
  • Rank 60,661 (Top 2 %)
  • Language Arduino
  • Created over 13 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Arduino WebServer library

Webduino

This is an Arduino-based Web Server library, originally developed for a class at NYC Resistor. It's called Webduino, and it's an extensible web server library for the Arduino using the Wiznet-based Ethernet shields. It's released under the MIT license allowing all sorts of reuse.

Features

  • URL parameter parsing
  • Handle the following HTTP Methods: GET, HEAD, POST, PUT, DELETE, PATCH
  • Web Forms
  • Images
  • JSON/RESTful interface
  • HTTP Basic Authentication

Installation Notes

With Arduino 1.0, add the Webduino folder to the "libraries" folder of your sketchbook directory.

You can put the examples in your own sketchbook directory, or in hardware/libraries/webduino/examples, as you prefer.

If you get an error message when building the examples similar to "WebServer.h not found", it's a problem with where you put the Webduino folder. The server won't work if the header is directly in the libraries folder.

Resources

Compatible Ethernet Shields

These have all been tested with the library successfully:

Shields using the Microchip ENC28J60 chip won't work with the library as that requires more software support for implementating the TCP/IP stack.

Version history

1.7 released in Jan 2012

  • fixed Google Code issue 4 where expect fails with high-ASCII characters due to sign issues
  • fixed Google Code issue 8 by adding WEBDUINO_NO_IMPLEMENTATION macro that allows including the class definition without the implementation code
  • fixed Google Code issue 9: allowing prog_char* strings for printP
  • added httpServerError() method to output 500 Internal Server Error message
  • added support for HTTP PUT, DELETE, and PATCH methods (see Google Code issue 11
  • fixed Google Code issue 12: off-by-one error in name/value parser (readPOSTparam) where the buffer wouldn't ever be completely filled
  • updated copyright string for 2012 and major authors
  • GitHub fork now the official version; all open issues on Google Code site fixed or closed and moved to GitHub

1.6 released in Jan 2012

  • added checkCredentials and httpUnauthorized methods as well as readHeader method for HTTP Basic Authentication; currently users will have to do the Base64 encoding outside of Webduino and I'm uncertain whether I ever want this inside the library or not...
  • fixed the request parser: previously the command dispatcher would always pass true for tail_complete, even if the tail was incomplete
  • fixed the command dispatcher: previously the default command could not have a tail, but the EPIC FAIL was returned

1.5 released in Dec 2011

  • added a default favicon.ico based on the led.png from the Image example to save resources on Firefox trying to load this file on every request if it can't be loaded
  • added keywords.txt for syntax highlighting in Arduino IDE
  • bumped the version number up in response headers and compiler variables
  • added version history to readme
  • fixed default value for prefix
  • fixed /index.html in Hello World example

releases between Jul 2011 and Dec 2011

  • project forked on GitHub by Chris Lee
  • JSON/RESTful interface
  • header Access-Control-Allow-Origin added
  • code split in .h and .cpp files
  • Arduino 1.0 changes by Dave Falkenburg and others
  • adding CRLF after extraHeaders

1.4.1 released in Nov 2009

  • fix examples to use readPOSTparam method

1.4 released in Sep 2009

  • bug fix for multple connections

1.3.1 released in Aug 2009

  • major bug fix for 1.3 for posts where Content-Length is last header sent

1.3 released in Aug 2009

  • mostly robustness fixes (beta)

1.2.1 released in Aug 2009

  • fixed HelloWorld example

1.2 released in Jul 2009

  • now with GET parameter handling

1.1 released in Apr 2009

1.0 released in Mar 2009

More Repositories

1

TrueRandom

Arduino random number library (forked from google code)
Java
33
star
2

thingspeak

ThingSpeak Python scripts
Python
20
star
3

NewSoftSerial

Forked for version control on GIT
C++
14
star
4

RestduinoThingspeak

Python script to read a RESTduino Analog pin and upload to Thingspeak
Python
11
star
5

weather_feed

PHP
9
star
6

ArduinoEthernetDHCP

C++
7
star
7

RDM880

Arduino Code for RDM880 RFID Reader
Java
6
star
8

pachube_client

Pachube client for Arduino Uno/Freetronics Ethernet Shield using Watchdog Timer for reliability.
Java
5
star
9

jsonDuino

An internet connected Arduino with a RESTful JSON interface.
Java
4
star
10

OpenLayers_examples

3
star
11

rrdtool_python_temp

Temperature Graphing with RRDtool and Python
Python
3
star
12

mapnik_examples

Python
2
star
13

php-imagick

PHP ImageMagick tests
PHP
2
star
14

json_php

json services written in PHP
PHP
2
star
15

php-gd-5840

PHP-GD Dynamic PNG
PHP
2
star
16

chrisUiElements

UI Elements for Web, Pretty Buttons, Etc.
JavaScript
2
star
17

chat_nodejs

Node JS chatroom with Now JS
JavaScript
2
star
18

webpy-app-apache-wsgi

sample python web app using web.py
Python
2
star
19

php-img-processing

php image processing demos with GD and Imagemagick
PHP
2
star
20

bom-weather-scraper

A node js tool to scrape weather information from m.bom.gov.au
JavaScript
2
star
21

puppeteer_guides_tests

Puppeteer webpage screenshot capture for regression testing Digital Guides
JavaScript
2
star
22

crafty_chris

JavaScript
1
star
23

unison_preferences

1
star
24

temp_humidity_data_logger

Arduino data logger with SD card, RTC and temp/hum sensor.
Arduino
1
star
25

inv_man

PHP
1
star
26

clinkpm

PHP
1
star
27

jquery_ui_autocomplete_php

JavaScript
1
star
28

hello_raphael_js

JavaScript
1
star
29

blog

A php file-based blog
PHP
1
star
30

crafty_rpg

a crafty demo
JavaScript
1
star
31

pachubeWidgetIe

Pachube Web Widget (Internet Explorer only for cross-domain AJAX policy)
JavaScript
1
star
32

hello_node

chat room example using Now JS
JavaScript
1
star
33

map_now_js

now js test
JavaScript
1
star
34

bom_symbols

1
star
35

acquia_prosper

Drupal Ecommerce Theme (Drupal 6 + Ubercart)
PHP
1
star
36

php_service_proxy

web service proxy written in PHP using curl for cross domain AJAX
PHP
1
star
37

RichTextWidget

GWT Rich Text Area Widget that includes a toolbar. Uses the gwt:RichTextArea and UI binder to apply a toolbar.
Java
1
star
38

phpGraphy

php file system based web photo gallery
PHP
1
star