Difference between revisions of "ESP-2"
m (added myself, cleaned the page a bit) |
m (fixed filly typo (redirects are already in place)) |
||
Line 36: | Line 36: | ||
There is a version running in the space in a 'hot' zone, and accessible on [http://192.168.1.132 http://192.168.1.132] | There is a version running in the space in a 'hot' zone, and accessible on [http://192.168.1.132 http://192.168.1.132] | ||
− | You can find the code [[ | + | You can find the code [[ESP8266-DS18S20|here]] |
=== SpaceState === | === SpaceState === | ||
Line 42: | Line 42: | ||
This sketch is a web client and will update the SpaceState | This sketch is a web client and will update the SpaceState | ||
− | You can find the code [[ | + | You can find the code [[ESP8266-SpaceState|here]] |
== loading scripts from a webserver == | == loading scripts from a webserver == |
Revision as of 14:23, 6 July 2015
Project: ESP-2 | |
---|---|
Featured: | |
State | Active |
Members | Prodigity, Da Syntax, xopr |
GitHub | No GitHub project defined. Add your project here. |
Description | Playing around with cheap wifi modules |
Picture | |
No project picture! Fill in form Picture or Upload a jpeg here |
Contents
synopsis
To make the ESP8266 more accessible to everyone I have created a "programmer" which allows for easy firmware uploading and communication with the module.
Revision 1.1
xopr Modified the ESP^2 a bit:
- Added three wires (VCC, GND and GPIO2) for Dallas temperature sensor debugging (wire ends are insulated)
- Added pullup resistor was added so GPIO0 can be used after the device has been booted
- Added resistor to the 5V ESP^2 TX signal (should be two diodes I guess, the resistor divider didn't work)
Using Arduino 1.6.4 to program the ESP8266
Taken from https://github.com/esp8266/arduino
- Install Arduino 1.6.4 from the Arduino website.
- Start Arduino and open Perferences window.
- Enter http://arduino.esp8266.com/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
- Open Boards Manager from Tools > Board menu and install ESP8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).
- For the ESP^2, the device name (under Linux) is /dev/ttyACM3
- Change the programmer from AVRISP mkII to ArduinoISP
- poweroff ESP (either unplug the USB or pull the device from the socket
- set the switch to prog
- poweron the ESP
- You can now upload your sketch
Webserver serving JSON
This sketch provides a webserver-like interface and provides a json file (somewhat compatible with SpaceAPI) There is a version running in the space in a 'hot' zone, and accessible on http://192.168.1.132
You can find the code here
SpaceState
This sketch is a web client and will update the SpaceState
You can find the code here
loading scripts from a webserver
I (Da Syntax) got tired from typing the scripts line for line into the lua console of the nodeMCU firmware. I wrote a little function to load the scripts from a webserver running on my laptop. This way I can just save the script on my laptop and load it to my ESP8266 calling 2 functions ( netload() and dofile("netloaded.lua") )
function netload() conn=net.createConnection(net.TCP, 0) conn:on("receive", function(conn, payload) print(payload) file.open("netloaded.lua", "w") file.write(payload) file.close() end) conn:connect(8080,"192.168.1.193") conn:send("GET /test.lua HTTP/1.1\r\nHost: www.example.com\r\n" .."Connection: keep-alive\r\nAccept: */*\r\n\r\n") end
Future plans
- Send mac address of the wifi module in get so the web server can return device specific firmwares
- Put the script between specific tags so there won't be any problems with headers that are added by the web server + gives the possibility to add meta data (e.g. version of script or a signature)
- Create a nice php/mysql webapp to easily manage the scripts per module