Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sirleech/Webduino
Arduino WebServer library
https://github.com/sirleech/Webduino
Last synced: 2 months ago
JSON representation
Arduino WebServer library
- Host: GitHub
- URL: https://github.com/sirleech/Webduino
- Owner: sirleech
- Created: 2011-07-06T12:58:28.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2020-07-11T15:46:03.000Z (over 4 years ago)
- Last Synced: 2024-08-02T15:18:17.714Z (6 months ago)
- Language: Arduino
- Homepage:
- Size: 733 KB
- Stars: 748
- Watchers: 108
- Forks: 264
- Open Issues: 18
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- Awesome-arduino - Webduino - Arduino WebServer library (Libraries)
- awesome-arduino - Webduino - Arduino WebServer library (Libraries)
README
# 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
- [Wedbuino Presentation on Google Docs](http://docs.google.com/present/view?id=dd8gqxt8_5c8w9qfg3)
- [A Wedbuino based file server](http://playground.arduino.cc//Main/WebduinoFileServer)## Compatible Ethernet Shields
These have all been tested with the library successfully:
- [Freetronics Etherten](http://www.freetronics.com/products/etherten)
- [Freetronics Ethernet Shield](http://www.freetronics.com/products/ethernet-shield-with-poe)
- [Arduino Ethernet](http://arduino.cc/en/Main/ArduinoBoardEthernet)
- [Arduino Ethernet Shield, both original and updated microSD version](http://arduino.cc/en/Main/ArduinoEthernetShield)
- [Adafruit Ethernet Shield w/ Wiznet 811MJ module](http://www.ladyada.net/make/eshield/)
- [NKC Electronics Ethernet Shield DIY Kit](http://store.nkcelectronics.com/nkc-ethernet-shield-diy-kit-without-wiz812mj-mod812.html)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](http://code.google.com/p/webduino/issues/detail?id=4) where expect fails with high-ASCII characters due to sign issues
- fixed Google Code issue [8](http://code.google.com/p/webduino/issues/detail?id=8) by adding WEBDUINO_NO_IMPLEMENTATION macro that allows including the class definition without the implementation code
- fixed Google Code issue [9](http://code.google.com/p/webduino/issues/detail?id=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](http://code.google.com/p/webduino/issues/detail?id=11)
- fixed Google Code issue [12](http://code.google.com/p/webduino/issues/detail?id=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](http://ten-fingers-and-a-brain.com/arduino-projects/webduino/checkcredentials/) and [httpUnauthorized](http://ten-fingers-and-a-brain.com/arduino-projects/webduino/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