Giter VIP home page Giter VIP logo

awebserver's Introduction

AWebServer

is a Http-Server for Arduino with full file managing support on SD card, file system time support (NTP), UDP broadcast discovery and optionaly Json support. This repository is designed as a single sketch for testing and developing purposes. If you prefer it as a library take https://github.com/tilos/AtMegaWebServer

The code is based on the TinyWebServer Library, Copyright (C) 2010 Ovidiu Predescu https://github.com/ovidiucp/TinyWebServer.

It supports all file managing http-commands (GET, PUT, DELETE) and additional rename (non http (WebDAV): MOVE). Uploaded files and folders will get the actual local time. The clock starts automatical and will be set every 2 hours (can be freely selected by setting the TIME_REQU_INTV in UdpServices.cpp, even the difference to GMT with TimeOffset). How it works and looks like you can see here:

screenshot

or here (using DuinoExplorer from http://duinoexplorer.codeplex.com/ as client).

screenshot

If the DEBUG flag is set, all actions will be detailed commented, including all headers received by requests and a memory test will be done after each request.

screenshot

UDP broadcast discovery makes it easy to find your device in your local network, especially if it takes it's ip address from the router (and is not hard coded in your software).

screenshot

With the optional JSON flag you can include a simple json handler example, which adds all posted int values. It can be tested with JSEditor from DuinoExplorer.

screenshot

As full version with Json support and DEBUG flag it takes ~ 45.000 bytes and a Arduino Mega is needed.

A reduced version without DEBUG, discovery, Json and move_handler (for renaming files and directories on SD card) needs 31.974 bytes and will fit on Arduino UNO. For that, simply set the UNO flag in global.h to 1.


External dependencies:

AWebServer depends on the external library SdFat ( (C) 2012 by William Greiman ) (http://code.google.com/p/sdfatlib/), Flash version 4.0 (http://arduiniana.org/libraries/flash/) and, if Json is needed, on aJson lib ( (c) 2001, Marcus Nowotny ) (https://github.com/interactive-matter/aJson).

All features can be tested with DuinoExplorer from Windows (available on codeplex http://duinoexplorer.codeplex.com/) or DuinoFinder from iOS (https://duinofinder.codeplex.com/).

awebserver's People

Contributors

tilos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.