Marcos Kirsch 9 years ago
parent
commit
d23cafba97
1 changed files with 25 additions and 8 deletions
  1. 25 8
      README.md

+ 25 - 8
README.md

@@ -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