Open jmgomez-IAA opened 4 years ago
https://github.com/esp8266/Arduino#installing-with-boards-manager
Archivo/Preferencias/Gestor URLs de tarjetas adicionales https://arduino.esp8266.com/stable/package_esp8266com_index.json
Herraminetas/Placa/Luego en Gestor de Tarjetas: esp8266 by ESP8266 Community v2.6.3
https://www.luisllamas.es/como-usar-el-spiffs-del-esp8266-con-el-arduino-ide/ http://arduino.esp8266.com/Arduino/versions/2.0.0/doc/filesystem.html https://github.com/esp8266/arduino-esp8266fs-plugin https://www.instructables.com/id/Using-ESP8266-SPIFFS/ ESP8266 Arduino Core Installation Reference Libraries File System
Flash layout
Uploading files to file system
File system object (SPIFFS)
Filesystem information structure
Directory object (Dir)
File object
datasheet -> ic_uc_espressif_esp8266ex_datasheet_en
Algunos de los detalles de hardware del ESP8266 y del ESP12E, y sus diferencias respecto a una placa Arduino.
Incorpora un procesador a Tensilica L106 32-bit RISC processor, which achieves extra-low power consumption and reaches a maximum clock speed of 160 M. Lo primero a destacar es que el ESP8266 carece de muchas funciones por hardware que incluyen los procesadores Atmel. Unidos a la gestión del Wifi, el SoC tiene que dividir sus recursos entre todas estas funciones. Aunque es más rápido que un Arduino, es una sobrecarga de trabajo, lo cuál en algunas aplicaciones puede suponer un problema.
La memoria disponible depende del modo de ejecucion, en Station Mode o conectado al router la RAM size < 50 kB. La moeria ROM esta ocupada por completo y nos es accesible para el programa de usuario, que debe ir a la flash. Carece de memoria Flash interna. La memoria donde almacenamos el programa se incluye en el módulo, pero fuera del SoC, y se comunican entre si por SPI. Eso significa que hay módulos con distinta cantidad de memoria, y que no podremos usar los pines GPIO que comunican con la memoria (lo veremos a continuación).
La alimentación del ESP8266 es a 3.3V, alimentar un voltaje superior a 3.6V destruirá el SoC. Aunque muchas placas de desarrollo incluyen reguladores de voltaje para poder alimentar la placa a 5V, o desde el USB.
Respecto a si el resto de pines del ESP8266 son tolerantes a 5V, ha habido mucho debate. Según el Datasheet (que cambiaba según versiones) no quedaba muy claro, pero se entendía que no lo eran. Sin embargo, en la actualidad, declaraciones de Espressif y experimentos de usuarios nos permiten decir que los pines GPIO del ESP8266 sí son tolerantes a 5V cuando funcionan como entrada digital..
La corriente máxima que pueden proporcionar o absorber los pines digitales es de 12mA. En comparación, la mayoría de modelos de Arduino pueden suministrar 20-40mA.
No disponible por Hardware
Respecto al conversor analógico digital (ADC) la tensión máxima que pueden registrar es de 0-1V. Suministrar más de 1V al ADC lo dañará. No obstante, algunas placas tienen de desarrollo incluyen divisores para ampliar el rango de 0-3.3V. Tendréis que comprobar en cada placa el rango de medición del ADC.
El pin CHIP_EN controla el encendido o apagado del SoC, estando encendido cuando está en HIGH. El pin EXT_RSTB controla el Reset del ESP8266, activándose cuando está en LOW.
El ESP12E es el módulo con SoC ESP8266 más empleado en placas de desarrollo.
Es una tarjeta portadora/shield para el modulo ESP12E
Algunas de las principales características:
Pin | ESP-8266 Pin | Función | |
---|---|---|---|
TX | TXD | TXD | |
RX | RXD | RXD | |
A0 | A0 | Analog input (max 3.2V) | |
D0 | GPIO16 | IO | |
D1 | GPIO5 | IO, PWM, Interrupt, I2C, SCL | |
D2 | GPIO4 | IO, PWM, Interrupt, I2C, SDA | |
D3 | GPIO0 | IO 10k Pull-up, PWM, Interrupt, I2C | |
D4 | GPIO2 | IO 10k Pull-up, PWM, Interrupt, I2C, BUILTIN_LED | |
D5 | GPIO14 | IO, PWM, Interrupt, I2C, SCK | |
D6 | GPIO12 | IO, PWM, Interrupt, I2C,, MISO | |
D7 | GPIO13 | IO, PWM, Interrupt, I2C,, MOSI | |
D8 | GPIO15 | IO 10k Pull-down, PWM, Interrupt, I2C,, SS | |
G | GND | Ground | |
5V | - | 5V | |
3V3 | 3.3V | 3.3V | |
RST | RST | Reset |
Pin | GPIO | Input | Output | Comentarios |
---|---|---|---|---|
D0 | GPIO16 | No interrupciones | No PWM No I2C | HIGH durante boot Resistencia Pull-Down Conectar a RST para Wake-Up |
D1 | GPIO5 | OK | OK | SCL (I2C) (frecuentemente) |
D2 | GPIO4 | OK | OK | SDA (I2c) (frecuentemente) |
D3 | GPIO0 | Pulled Up | OK | Boot falla si pulled LOW Conectado a botón FLASH |
D4 | GPIO2 | Pulled Up | OK | HIGH durante boot Boot falla si pulled LOW Built-in LED TX1 |
D5 | GPIO14 | OK | OK | SLCK (SPI) |
D6 | GPIO12 | OK | OK | MISO (SPI) |
D7 | GPIO13 | OK | OK | MOSI (SPI) |
D8 | GPIO15 | Pulled to GND | OK | CS (SPI) LOW durante boot Boot falla si pulled HIGH No tiene Pull-Up |
RX | GPIO3 | OK | RX | HIGH durante boot No usable si se usa UART |
TX | GPIO1 | TX | OK | HIGH durante boot Boot falla si pulled LOW Debug output en boot No usable si se usa UART |
A0 | ADC0 | Analog Input | NO | |
- | GPIO6-11 | NO | NO | Usados por la memoria FLASH |
Tutorial
A Beginner's Guide to the ESP8266
https://aprendiendoarduino.wordpress.com/2017/09/12/que-es-esp8266/
Wemos webserver example