Updated to match code
This commit is contained in:
parent
50b1c09570
commit
9c35443ea4
48
README.md
48
README.md
@ -67,6 +67,54 @@ A (very) simple web server written in Lua for the ESP8266 firmware NodeMCU.
|
|||||||
|
|
||||||
Look at the included example scripts for more ideas.
|
Look at the included example scripts for more ideas.
|
||||||
|
|
||||||
|
### Example: Garage door opener
|
||||||
|
|
||||||
|
#### Purpose
|
||||||
|
|
||||||
|
This is a bundled example that shows how to use nodemcu-httpserver
|
||||||
|
together with server-side scripting to control something with the
|
||||||
|
ESP8266. In this example, we will pretend to open a garage door.
|
||||||
|
This is a very simple example that doesn't even use arguments passed
|
||||||
|
in the request (see example args.lua for that).
|
||||||
|
|
||||||
|
Your typical [garage door opener](http://en.wikipedia.org/wiki/Garage_door_opener)
|
||||||
|
has a wired remote with a single button. The button simply connects to
|
||||||
|
two terminals on the electric motor and when pushed, the terminals are
|
||||||
|
shorted. This causes the motor to open or close.
|
||||||
|
|
||||||
|
#### Hardware description
|
||||||
|
|
||||||
|
This example assumes that GPIO2 on the ESP8266 is connected to a relay
|
||||||
|
that can be controlled. How to wire such thing is outside of the scope
|
||||||
|
of this document [but information is easily found online]
|
||||||
|
(https://www.google.com/search?q=opening+a+garage+door+with+a+microcontroller).
|
||||||
|
The relay is controlled by the microcontroller and acts as the button,
|
||||||
|
and can actually be connected in parallel with the existing mechanical button.
|
||||||
|
|
||||||
|
#### Software description
|
||||||
|
|
||||||
|
This example consists of the following files:
|
||||||
|
|
||||||
|
* **garage_door_opener.html**: Static HTML displays a button with a link
|
||||||
|
to the garage_door_opener.lua script. That's it!
|
||||||
|
* **garage_door_opener.css**: Provides styling for garage_door_opener.html
|
||||||
|
just so it looks pretty.
|
||||||
|
* **garage_door_opener.lua**: Does the actual work. The script first sends
|
||||||
|
a little javascript snippet to redirect the client back to garage_door_opener.html
|
||||||
|
and then toggles the GPIO2 line for a short amount of time (roughly equivalent to
|
||||||
|
the typical button press for opening a garage door) and then toggles it back.
|
||||||
|
* **apple-touch-icon.png**: This is optional. Provides an icon that
|
||||||
|
will be used if you "Add to Home Screen" the demo. Now it looks like an app!`
|
||||||
|
|
||||||
|
#### Security implications
|
||||||
|
|
||||||
|
Be careful permanently installing something like this in your home. The
|
||||||
|
scripts use no authentication and no encryption. Your only layer of
|
||||||
|
security is your wifi network and anyone with access to it could open
|
||||||
|
or close your garage, enter your home, and steal your flatscreen TV.
|
||||||
|
|
||||||
|
This script is provided simply as an educational example and you should
|
||||||
|
treat accordingly.
|
||||||
|
|
||||||
## Not supported
|
## Not supported
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user