Difference between revisions of "ESP-2"

From Hackerspace ACKspace
Jump to: navigation, search
m (moved ESP8266 to ESP^2: ESP information will become more extensive, so moving the egg salad programmer to its own page)
(moved most of the information to ESP8266 so removing it here)
Line 8: Line 8:
 
[[Image:Runprogrun.JPG|335px|thumb|Behold, the ESP^2 (esp egg salad programmer).]]
 
[[Image:Runprogrun.JPG|335px|thumb|Behold, the ESP^2 (esp egg salad programmer).]]
  
=== Revision 1.1 ===
+
== Revision 1.1 ==
 
[[User:Xopr|xopr]] Modified the ESP^2 a bit:
 
[[User:Xopr|xopr]] Modified the ESP^2 a bit:
 
* Added three wires (VCC, GND and GPIO2) for Dallas temperature sensor debugging (wire ends are insulated)
 
* Added three wires (VCC, GND and GPIO2) for Dallas temperature sensor debugging (wire ends are insulated)
Line 14: Line 14:
 
* Added resistor to the 5V ESP^2 TX signal (should be two diodes I guess, the resistor divider didn't work)
 
* 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 ==
+
== Todo ==
Taken from https://github.com/esp8266/arduino
+
Find a way to program the ESP-12 (2mm pitch) modules without much hassle (note that it needs a 10k resistor between GPIO15 and GND) to boot correctly
 
 
* Install Arduino 1.6.4 from the [http://www.arduino.cc/en/main/software 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 http://192.168.1.132]
 
 
 
You can find the code [[ESP8266-DS18S20|here]]
 
 
 
=== SpaceAPI ===
 
 
 
The new [[SpaceAPI]] is a combination of some PHP, MySQL, and some ESP modules updating the space state and sensor data.
 
The ESP sketch sketch will have several features like space state switch, indicator, Dallas temperature and other sensors, which can be enabled compile-time.
 
 
 
=== SpaceState ===
 
 
 
This sketch is a web client and will update the SpaceState
 
 
 
You can find the code [[ESP8266-SpaceState|here]]
 
 
 
== loading scripts from a webserver  ==
 
 
 
I ([[User:Da Syntax|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") )  
 
<pre>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
 
</pre>
 
=== 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
 

Revision as of 20:01, 23 July 2015

Featured article
ESP-2 had been flagged as a featured article and will automatically appear on the Main Page.
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

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.

Behold, the ESP^2 (esp egg salad programmer).

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)

Todo

Find a way to program the ESP-12 (2mm pitch) modules without much hassle (note that it needs a 10k resistor between GPIO15 and GND) to boot correctly