This commit is contained in:
Marcos Kirsch 2015-02-14 21:48:35 -06:00
parent f07b5d8760
commit d23cafba97

View File

@ -4,19 +4,36 @@ A (very) simple web server written in Lua for the ESP8266 firmware NodeMCU.
## Features
* **GET**
* **Multiple MIME types**
* **Error pages (404 and others)**
Simple GET method will return the requested file.
NodeMCU's filesystem does not support folders, but filenames *can* contain slashes.
So prefix your server files with "http/" (yeah, weird).
## How to use
__Example:__ Say the IP for your ESP8266 is 2.2.2.2 and the server is running in the default port 80.
Go to http://2.2.2.2/index.html using your web browser. The ESP8266 will serve you with the contents
of the file "http_index.html" (if it exists).
1. Upload httpserver.lua using [luatool.py](https://github.com/4refr0nt/luatool) or equivalent.
Add the following to your init.lua in order to start the server:
require("httpserver")
server = httpserver.start(80, 10)
80 is the port your server is listening to, and 10 is the timeout (in seconds) for clients.
2. Upload the files you want to serve.
Again, use luatool.py or similar and upload the HTML and other files.
All the files you upload must be prefixed with "http/". Wait, what?
Yes: NodeMCU's filesystem does not support folders, but filenames *can* contain slashes.
3. Visit your server from a web browser.
__Example:__ Say the IP for your ESP8266 is 2.2.2.2 and the server is
running in the default port 80. Go to http://2.2.2.2/index.html using your web browser. The ESP8266 will serve you with the contents
of the file "http/myPage.html" (if it exists). If you visit the root (/)
then index.html is server. By the way, the URLs are case-sensitive.
## Not supported
* Other methods: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH
* Serving anything that's not HTML (different mime types)
* Other methods: HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH
* Server side scripting.
## Open issues