From Hackerspace ACKspace
Welcome to ACKspace; a hackerspace located in Heerlen, The Netherlands.
A hackerspace is a place where people get together, socialize, share knowledge, tinker and build stuff.
In order to make this possible we have a collection of tools, (useful) stuff, work area and a lounge where we can relax and discuss our favorite games.
|Project: Main Page|
|Members||Prodigity, Da Syntax, xopr|
|Description||Playing around with cheap wifi modules|
To make the ESP8266 more accessible to everyone I have created a "programmer" which allows for easy firmware uploading and communication with the module.
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
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
- 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
Lijst van benodigdheden:
- Vernachelbout (voor plastic smelten etc.)
Voeg eventueel items toe die de space op dit moment mist.
Visiting address: "carbon6"
6412 CN Heerlen