Difference between revisions of "ESP8266"
(Created page with "[http://rancidbacon.com/files/kiwicon8/ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf Quick getting started guide] === Flashing with RPi === You need get [https://github.com/...") |
|||
Line 1: | Line 1: | ||
[http://rancidbacon.com/files/kiwicon8/ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf Quick getting started guide] | [http://rancidbacon.com/files/kiwicon8/ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf Quick getting started guide] | ||
− | === Flashing | + | [https://github.com/nodemcu/nodemcu-firmware NodeMcu] is a great higher level interface and easier to use than the default one. |
+ | === Flashing === | ||
+ | How to talk to your RPi (and wiring) [http://www.extragsm.com/blog/2014/12/03/connect-esp8266-to-raspberry-pi/] | ||
+ | |||
You need get [https://github.com/themadinventor/esptool/ esptool] and wire your Pi like so (if it doesn't work, connect ESP's GPIO2 to it's VCC as well): | You need get [https://github.com/themadinventor/esptool/ esptool] and wire your Pi like so (if it doesn't work, connect ESP's GPIO2 to it's VCC as well): | ||
Line 12: | Line 15: | ||
Leaving... | Leaving... | ||
+ | |||
+ | === Uploading code via CLI === | ||
+ | Although there are tools like ESPlorer and others that require running a GUI on a local (windows) machine, using the CLI is easier. [https://github.com/ArchimedesPi/esp8266-luaupload Luaupload] is a CLI tool that uploads code without having to copy it over line by line via serial. If you want your code to run when booting the ESP8266, it must be called init.lua | ||
+ | |||
+ | sudo pip install click pyserial | ||
+ | git clone https://github.com/ArchimedesPi/esp8266-luaupload.git | ||
+ | cd esp8266-luaupload/ | ||
+ | python luaupload.py upload -p /dev/ttyAMA0 -b 9600 ~/path_to_your_init.lua_file | ||
+ | |||
+ | === Using the GPIOs === | ||
+ | On the ESP-01 there are only 2 usable GPIOs. Other ESP's have more (ESP-12 has 10 GPIOs for example). You can use them for pwm, i2c, spi, 1-wire, gpio, adc, and uart with nodemcu. Please note that nodemcu maps the GPIO pins differently, refer to this [https://github.com/nodemcu/nodemcu-firmware#gpio-new-table--build-20141219-and-later index]. | ||
+ | |||
+ | [[File:ESP8266_led_wiring.png|500px]] | ||
+ | |||
+ | There are quite a few examples of how to use the ESP on the [https://github.com/nodemcu/nodemcu-firmware#start-play nodemcu] page, to be able to control LEDs or relays over wifi, you'll need to [https://github.com/nodemcu/nodemcu-firmware#connect-to-your-ap connect it to wifi], set up a [https://github.com/nodemcu/nodemcu-firmware#with-below-code-you-can-telnet-to-your-esp8266-now telnet server] (hint: load it as a init.lua script), and then [https://github.com/nodemcu/nodemcu-firmware#manipulate-hardware-like-a-arduino manipulate the GPIOs]. |
Revision as of 04:24, 9 March 2015
NodeMcu is a great higher level interface and easier to use than the default one.
Flashing
How to talk to your RPi (and wiring) [1]
You need get esptool and wire your Pi like so (if it doesn't work, connect ESP's GPIO2 to it's VCC as well):
pi@raspberrypi ~ $ sudo python esptool/esptool.py --port /dev/ttyAMA0 write_flash 0x000000 nodemcu_latest.bin Connecting... Erasing flash... Writing at 0x00062000... (100 %) Leaving...
Uploading code via CLI
Although there are tools like ESPlorer and others that require running a GUI on a local (windows) machine, using the CLI is easier. Luaupload is a CLI tool that uploads code without having to copy it over line by line via serial. If you want your code to run when booting the ESP8266, it must be called init.lua
sudo pip install click pyserial git clone https://github.com/ArchimedesPi/esp8266-luaupload.git cd esp8266-luaupload/ python luaupload.py upload -p /dev/ttyAMA0 -b 9600 ~/path_to_your_init.lua_file
Using the GPIOs
On the ESP-01 there are only 2 usable GPIOs. Other ESP's have more (ESP-12 has 10 GPIOs for example). You can use them for pwm, i2c, spi, 1-wire, gpio, adc, and uart with nodemcu. Please note that nodemcu maps the GPIO pins differently, refer to this index.
There are quite a few examples of how to use the ESP on the nodemcu page, to be able to control LEDs or relays over wifi, you'll need to connect it to wifi, set up a telnet server (hint: load it as a init.lua script), and then manipulate the GPIOs.