Difference between revisions of "ESP-2"

From Hackerspace ACKspace
Jump to: navigation, search
(We had great success with the ESP^2, marking it featured)
m (Egg Salad Programmer is gone, redirecting to ESP8266)
(Tag: New redirect)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>{{Featured}}</noinclude>
+
#REDIRECT [[ESP8266]]
{{Project
 
|State=Active
 
|Members=Prodigity, Da Syntax
 
|Description=Playing around with cheap wifi modules
 
}}
 
 
 
== 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.
 
 
 
<br>
 
 
 
Behold, the ESP^2 (esp egg salad programmer).
 
 
 
[[Image:Runprogrun.JPG]]
 
 
 
More info to follow soon..
 
 
 
=== Revision 1.1 ===
 
[[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 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 [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 [[ESP8166-DS18S20|here]]
 
 
 
=== SpaceState ===
 
 
 
This sketch is a web client and will update the SpaceState
 
 
 
You can find the code [[ESP8166-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
 

Latest revision as of 09:36, 20 November 2021

Redirect to: