Showing posts with label nodemcu. Show all posts
Showing posts with label nodemcu. Show all posts
Saturday, April 25, 2015
ESP8266 ESP-01 esptool.py no Linux
A primeira ferramenta para o ESP-01 no Linux é o esptool.py.
No esptool dá para fazer a manutenção completa do ESP-01
root@murix-System-Product-Name:~/Downloads# wget https://raw.githubusercontent.com/themadinventor/esptool/master/esptool.py
--2015-04-25 17:33:39-- https://raw.githubusercontent.com/themadinventor/esptool/master/esptool.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 199.27.75.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.75.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23964 (23K) [text/plain]
Saving to: ‘esptool.py’
100%[===============================================================================================================================>] 23.964 --.-K/s in 0,006s
2015-04-25 17:33:40 (3,88 MB/s) - ‘esptool.py’ saved [23964/23964]
root@murix-System-Product-Name:~/Downloads# chmod +x esptool.py
root@murix-System-Product-Name:~/Downloads# ./esptool.py --port /dev/ttyUSB0 read_mac
Connecting...
MAC: 18:fe:34:9f:13:f3
root@murix-System-Product-Name:~/Downloads#
https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150406
root@murix-System-Product-Name:~/Downloads# ./esptool.py --port /dev/ttyUSB0 write_flash 0x0 nodemcu_integer_0.9.6-dev_20150406.bin
Connecting...
Erasing flash...
Writing at 0x00066400... (100 %)
Leaving...
root@murix-System-Product-Name:~/Downloads#
Saturday, April 18, 2015
ESP8266 ESP-01 review
O módulo ESP-01 v090 utiliza o SoC ESP8266 para prover um roteador e estação WiFi do tamanho de uma porta USB e custa menos de 3 dólares.
SDK oficial
http://espressif.com/new-sdk-release/
Segundo o datasheet do ESP8266
https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf
O máximo permitido em qualquer pino é 3.6V
Portanto para ligar em I/O de 5V (ex: Arduino) precisa usar um shift level de 5v para 3.3v.
Pelo que vi alguns makers ligam direto no i/o 5v sem shift level, e funciona, mas a risco de queimar o esp8266. Testei ligando no PL2303 com i/o de 3.3v e com i/o de 5v e funcinou, para minimizar a change de queimar resolvi continuar usando o 3.3v que está dentro das especificações.
Existem 2 modos de operações: o normal e o gravação de firmware.
Quem determinar o modo de operação é o GPIO0 durante o boot.
Se GPIO0 estiver em Low durante o boot, vai em entrar em modo de gravação.
Se GPIO0 estiver em High durante o boot, vai em entrar em modo normal.
Depois do boot dá para usar o GPIO0 como uma saída digital, mas eu não gosto de usar esse pinos de gravação para outras finalidades pois em alguns casos ocorrem problemas.
O pino CH_PD (chip select) deve se ligado ao VCC senão o ESP8266 fica travado antes do boot.
Também é preciso garantir a corrente necessária para o funcionamento do ESP8266, que no pico de transmissão pode chegar até 300mA
É possível ligar o RTS do PL2303 no RST do ESP-01 e o DTR do PL2303 no GPIO0 do ESP-01, assim dá para controlar o modo de operação dinamicamente pela serial sem ficar mexendo nos fios.
https://github.com/themadinventor/esptool/blob/master/esptool.py
# RTS = CH_PD (i.e reset)
# DTR = GPIO0
Firmware com Comandos AT
http://www.electrodragon.com/w/ESP8266_Firmware
Código para Arduino/Energia
http://www.electrodragon.com/w/ESP8266_with_Arduino
Firmware com script Lua:
https://github.com/nodemcu/nodemcu-firmware
Ferramenta de gravação de firmware:
https://github.com/nodemcu/nodemcu-flasher
Existe uma opção de gravar o firmware que vem embutido nessa ferramenta, que no caso é umas das últimas versões do nodemcu com suporte a Lua.
Firmware com AT versão 0.952
AT version:0.21.0.0
SDK version:0.9.5
https://drive.google.com/folderview?id=0B_ctPy0pJuW6fnVLeGYzWmhzeGtZa1hwTF9zakJUOEdNejVhcFZXYi02Zk5GLXp6ckRNZkE&usp=drive_web&tid=0B3dUKfqzZnlwRjFaNTUzZFptbzg#list
Log do firmware que veio pré instalado no ESP-01:
não tem como sabe qual a versão do AT e nem do SDK que compilou, já que o AT+GMR não retorna nada muito útil.
OK
AT+RST
OK
7!aSÊS:6à;Ì;!ÕýAÆ [ýÊêþ
[Vendor:www.ai-thinker.com Version:0.9.2.4]
ready
AT+GMR
0018000902-AI03
OK
Log do firmware AT versão 0.952:
AT+RST
OK
ets Jan 8 2013,rst cause:4, boot mode:(3,7)
wdt reset
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf
2nd boot version : 1.2
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
rlŽ‚ÿ
Ai-Thinker Technology Co. Ltd.
ready
AT+GMR
AT version:0.21.0.0
SDK version:0.9.5
OK
Ferramenta de exploração com suporte a Nodemcu/Lua e comandos AT
http://esp8266.ru/esplorer/
API do Arduino para ESP8266
https://github.com/esp8266/arduino
Onde comprar:
http://lista.mercadolivre.com.br/esp8266
http://www.banggood.com/buy/Esp8266.html
http://www.aliexpress.com/wholesale?SearchText=esp8266
http://www.dx.com/s/esp8266
http://www.seeedstudio.com/depot/s/esp8266.html
![]() |
| ESP-01 conectado no PC pelo Prolific PL2303 |
SDK oficial
http://espressif.com/new-sdk-release/
Segundo o datasheet do ESP8266
https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf
O máximo permitido em qualquer pino é 3.6V
Portanto para ligar em I/O de 5V (ex: Arduino) precisa usar um shift level de 5v para 3.3v.
Pelo que vi alguns makers ligam direto no i/o 5v sem shift level, e funciona, mas a risco de queimar o esp8266. Testei ligando no PL2303 com i/o de 3.3v e com i/o de 5v e funcinou, para minimizar a change de queimar resolvi continuar usando o 3.3v que está dentro das especificações.
![]() |
| Pinout do ESP-01 |
Quem determinar o modo de operação é o GPIO0 durante o boot.
Se GPIO0 estiver em Low durante o boot, vai em entrar em modo de gravação.
Se GPIO0 estiver em High durante o boot, vai em entrar em modo normal.
Depois do boot dá para usar o GPIO0 como uma saída digital, mas eu não gosto de usar esse pinos de gravação para outras finalidades pois em alguns casos ocorrem problemas.
O pino CH_PD (chip select) deve se ligado ao VCC senão o ESP8266 fica travado antes do boot.
![]() |
| ESP-01 com pullup de 2.2k no CH_PD. |
Também é preciso garantir a corrente necessária para o funcionamento do ESP8266, que no pico de transmissão pode chegar até 300mA
| Mode | Min | Typical | Max | Units |
|---|---|---|---|---|
| 802.11b, CCK 1Mbps, POUT=+19.5dBm | 215 | mA | ||
| 802.11b, CCK 11Mbps, POUT=+18.5dBm | 197 | mA | ||
| 802.11g, OFDM 54Mbps, POUT=+16dBm | 145 | mA | ||
| 802.11n, MCS7, POUT =+14dBm | 135 | mA | ||
| 802.11b, packet size of 1024 bytes, -80dBm | 60 | mA | ||
| 802.11b, packet size of 1024 bytes, -70dBm | 60 | mA | ||
| 802.11b, packet size of 1024 bytes, -65dBm | 62 | mA | ||
| Standby | 0.9 | uA | ||
| Deep sleep | 10 | mA | ||
| Saving mode DTIM 1 | 1.2 | mA | ||
| Saving mode DTIM 3 | 0.86 | mA | ||
| Shutdown | 0.5 | uA |
É possível ligar o RTS do PL2303 no RST do ESP-01 e o DTR do PL2303 no GPIO0 do ESP-01, assim dá para controlar o modo de operação dinamicamente pela serial sem ficar mexendo nos fios.
https://github.com/themadinventor/esptool/blob/master/esptool.py
# RTS = CH_PD (i.e reset)
# DTR = GPIO0
Firmware com Comandos AT
http://www.electrodragon.com/w/ESP8266_Firmware
Código para Arduino/Energia
http://www.electrodragon.com/w/ESP8266_with_Arduino
Firmware com script Lua:
https://github.com/nodemcu/nodemcu-firmware
Ferramenta de gravação de firmware:
https://github.com/nodemcu/nodemcu-flasher
Existe uma opção de gravar o firmware que vem embutido nessa ferramenta, que no caso é umas das últimas versões do nodemcu com suporte a Lua.
| nodemcu firmware programmer |
AT version:0.21.0.0
SDK version:0.9.5
https://drive.google.com/folderview?id=0B_ctPy0pJuW6fnVLeGYzWmhzeGtZa1hwTF9zakJUOEdNejVhcFZXYi02Zk5GLXp6ckRNZkE&usp=drive_web&tid=0B3dUKfqzZnlwRjFaNTUzZFptbzg#list
| nodemcu firmware programmer configurar para gravar o firmware AT 0.952 |
Log do firmware que veio pré instalado no ESP-01:
não tem como sabe qual a versão do AT e nem do SDK que compilou, já que o AT+GMR não retorna nada muito útil.
OK
AT+RST
OK
7!aSÊS:6à;Ì;!ÕýAÆ [ýÊêþ
[Vendor:www.ai-thinker.com Version:0.9.2.4]
ready
AT+GMR
0018000902-AI03
OK
AT+RST
OK
ets Jan 8 2013,rst cause:4, boot mode:(3,7)
wdt reset
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf
2nd boot version : 1.2
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
rlŽ‚ÿ
Ai-Thinker Technology Co. Ltd.
ready
AT+GMR
AT version:0.21.0.0
SDK version:0.9.5
OK
O firmware acima foi compilado com o SDK 0.9.5 com parser AT 0.21 cabe em 512kb de flash
ESP8266 SDK (esp_iot_sdk_v0.9.5_15_01_23) released
com o SDK 1.0.0 entrou o parser AT 0.22 cabe em 512kb de flash
ESP8266 SDK (esp_iot_sdk_v1.0.0_15_03_20) released
como o SDK >= 1.0.1 os novos comandos AT precisam de pelo menos 1024kb de flash.
Ferramenta de exploração com suporte a Nodemcu/Lua e comandos AT
http://esp8266.ru/esplorer/
| Esplorer tool |
API do Arduino para ESP8266
https://github.com/esp8266/arduino
![]() |
| Arduino IDE com suporte a ESP8266 |
Onde comprar:
http://lista.mercadolivre.com.br/esp8266
http://www.banggood.com/buy/Esp8266.html
http://www.aliexpress.com/wholesale?SearchText=esp8266
http://www.dx.com/s/esp8266
http://www.seeedstudio.com/depot/s/esp8266.html
Subscribe to:
Posts (Atom)



