SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
MicroPython y ESP32
Programación simple
de Internet de las cosas
Víctor R. Ruiz <rvr@linotipo.es>
25 de noviembre de 2017
Índice
● Internet de las cosas.
● Introducción al ESP8266/ESP32.
● MicroPython en el ESP32.
● Ejemplos de programación.
● Hola mundo.
● Conectividad.
● Control de LEDs.
● Matriz de LEDs WS2812B.
● Sensor de temperatura DTH22.
● Servidor web con picoweb.
¿Qué es Internet
de las cosas?
Internet
Cómo accedemos
¿Quién produce el contenido?
¿Quién consume el contenido?
Internet de las casas
cosas
Cacharros “inteligentes”
Cacharros “inteligentes”
“Inteligencia” = Procesador + Internet
Internet de las cosas
https://www.flickr.com/photos/wilgengebroed/8249565455/
Ordenadores
vs
microcontroladores
¿Dónde usas Python?
Ordenador
PC vs Microcontrolador
● Muy bajo consumo.
● Monotarea.
● Acceso a dispositivos
eléc[tricos|trónicos].
● Barato.
● Potente.
● Sistema operativo
multitarea.
● Orientado al usuario.
● Costoso.
ESP32
El microcontrolador de moda
ESP8266 ESP32→
● Microcontrolador.
● Derivado del
ESP8266.
● Hasta 240 MHz.
● Hasta 520 KB RAM.
● Hasta 16 MB flash.
● Barato: 4€-10€.
Conectividad ESP32
● Wifi
– Punto de acceso.
– Cliente.
● Bluetooth.
● Ethernet [!]
● Conexiones TCP/IP.
● Cliente web.
● Servidor web.
● Serie, I2C, SPI...
Pines del ESP32
https://playelek.com/doit-esp32-devkit-v1/
ESP8266 ESP32
Microcontrolador Xtensa · 1 núcleo · 32 bits Xtensa · 2 núcleos · 32 bits
Frecuencia 80 MHz 160 MHz
RAM 160 KB 520 KB
Memoria flash 4 MB 16 MB
WiFi 802.11
WEP, WPA
b/g/n b/g/n/e/i
Bluetooth No V4.2 BR/EDR, BLE
GPIO 17 36
A/D 10 bit 12 bit
Voltaje 3.3V 3.3V
Consumo en
hibernación
20 μA 2.5 μA
MicroPython
MicroPython, la placa
● ARM Cortex M4.
● 168 MHz.
● 1M ROM/192 KB RAM.
● Reloj tiempo real.
● 24 pines GPIO.
MicroPython, el sistema
● Python 3 para
microcontroladores.
– Firmware.
– Intérprete.
– Librerías.
● Interpretado.
● Fácil aprendizaje.
● Orientado a objetos.
● Multiplataforma.
● Libre.
● Gran comunidad.
● Muy popular.
● De serie: Linux/Mac.
● Basado en Python 3.
● Microcontroladores.
● Optimizado: poca
memoria.
● Diferencias con
CPython.
● Subconjunto
librerías.
MicroPython en el ESP32
MicroPython en el ESP32
● Descargar la imagen para el ESP32.
– http://micropython.org/
● Instalar esptool.py en el ordenador.
● Instalar la imagen en la placa ESP32.
● Acceso a MicroPython por el puerto serie.
Descarga de MicroPython
Instalar la imagen en el ESP32
Terminal serie PC MicroPython→
MicroPython por terminal serie
MicroPython por web (ESP8266)
uPyCraft
Entorno de desarrollo para MicroPython
https://github.com/DFRobot/uPyCraft
Programación en
MicroPython
“Hola mundo”
Sistema de ficheros
Ficheros especiales
● boot.py
– Se ejecuta al iniciar o reiniciar el ESP32.
● main.py
– Se ejecuta después de boot.py.
Red: Interfaces
>>> import network
>>> sta = network.WLAN(network.STA_IF)
>>> ap = network.WLAN(network.AP_IF)
>>> sta.active()
False
>>> ap.active()
True
Red: Interfaz de estación (STA)
>>> import network
>>> sta = network.WLAN(network.STA_IF)
>>> sta.active(True) # Activar interfaz
>>> sta.isconnected() # ¿Estoy conectado?
True
>>> sta.connect('essid', 'clave') # Conectar
Red: Interfaz punto de acceso (AP)
>>> import network
>>> ap = network.WLAN(network.AP_IF)
>>> ap.active(True) # Activar interfaz
>>> ap.config(essid='esp-molon') # Cambiar ESSID
>>> ap.config(password='molar') # Cambiar clave
Otras librerías
Máquina: Encender/apagar
Máquina: Intermitente
DHT22: Temperatura y humedad
Neopíxeles
upip: Librerías externas
Servidor web
Web: Encender/apagar LED
Conclusiones
ESP32 + MicroPython es...
● Barato.
● Es interactivo.
● Es accesible.
● Es simple.
● Es divertido.
https://docs.micropython.org/en/latest/esp8266/esp8266/quickref.html
rvr@linotipo.es
http://github.com/vrruiz
Creative Commons - Atribución 4.0

Más contenido relacionado

La actualidad más candente

Monografia contador digital
Monografia contador digitalMonografia contador digital
Monografia contador digital
Juanito Edgar
 
Tecnicas de elaboracion de PCI - PCB
Tecnicas de elaboracion de PCI - PCBTecnicas de elaboracion de PCI - PCB
Tecnicas de elaboracion de PCI - PCB
Luis Vasquez
 

La actualidad más candente (20)

CUADERNO N#3 Aplicaciones Con Automatas Programables.pdf
CUADERNO N#3 Aplicaciones Con Automatas Programables.pdfCUADERNO N#3 Aplicaciones Con Automatas Programables.pdf
CUADERNO N#3 Aplicaciones Con Automatas Programables.pdf
 
NMX-J-136-ANCE-2007
NMX-J-136-ANCE-2007NMX-J-136-ANCE-2007
NMX-J-136-ANCE-2007
 
T5 Amplificador Operacional
T5 Amplificador OperacionalT5 Amplificador Operacional
T5 Amplificador Operacional
 
Monografia contador digital
Monografia contador digitalMonografia contador digital
Monografia contador digital
 
Qué es el temporizador 555
Qué es el temporizador 555Qué es el temporizador 555
Qué es el temporizador 555
 
FUENTE REGULABLE
FUENTE REGULABLE FUENTE REGULABLE
FUENTE REGULABLE
 
MOSFET uso aplicaciones definicion
MOSFET uso aplicaciones definicionMOSFET uso aplicaciones definicion
MOSFET uso aplicaciones definicion
 
Ejercicios resueltos con diodos
Ejercicios resueltos con diodosEjercicios resueltos con diodos
Ejercicios resueltos con diodos
 
008 Electroneumática y Neumática: Electroneumática con circuitos secuenciales...
008 Electroneumática y Neumática: Electroneumática con circuitos secuenciales...008 Electroneumática y Neumática: Electroneumática con circuitos secuenciales...
008 Electroneumática y Neumática: Electroneumática con circuitos secuenciales...
 
PROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALES
PROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALESPROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALES
PROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALES
 
Transistores BJT (versión amateurs)
Transistores BJT (versión amateurs)Transistores BJT (versión amateurs)
Transistores BJT (versión amateurs)
 
Modelación y Simulación de Sistemas de Potencia Empleando DIgSILENT PowerFact...
Modelación y Simulación de Sistemas de Potencia Empleando DIgSILENT PowerFact...Modelación y Simulación de Sistemas de Potencia Empleando DIgSILENT PowerFact...
Modelación y Simulación de Sistemas de Potencia Empleando DIgSILENT PowerFact...
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plc
 
Calculo De Transformadores
Calculo De TransformadoresCalculo De Transformadores
Calculo De Transformadores
 
Las fuentes de alimentación conmutadas (switching)
Las fuentes de alimentación conmutadas (switching)Las fuentes de alimentación conmutadas (switching)
Las fuentes de alimentación conmutadas (switching)
 
Control de-motores-electricos
Control de-motores-electricosControl de-motores-electricos
Control de-motores-electricos
 
Tecnicas de elaboracion de PCI - PCB
Tecnicas de elaboracion de PCI - PCBTecnicas de elaboracion de PCI - PCB
Tecnicas de elaboracion de PCI - PCB
 
Sensores capacitivos
Sensores capacitivosSensores capacitivos
Sensores capacitivos
 
Convertidores dc-dc (Colección apuntes UJA 96/97)
Convertidores dc-dc (Colección apuntes UJA 96/97)Convertidores dc-dc (Colección apuntes UJA 96/97)
Convertidores dc-dc (Colección apuntes UJA 96/97)
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 

Similar a MicroPython y ESP32

C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
ezequiel
 
Presentacion NXT
Presentacion NXTPresentacion NXT
Presentacion NXT
v1ct0or
 
Minibloq+ arduino
Minibloq+ arduinoMinibloq+ arduino
Minibloq+ arduino
ilusaud
 
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosMicrocontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
SANTIAGO PABLO ALBERTO
 

Similar a MicroPython y ESP32 (20)

MicroPython en el ESP8266
MicroPython en el ESP8266MicroPython en el ESP8266
MicroPython en el ESP8266
 
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
 
Curso MPLAB pic 1 1p
Curso MPLAB pic 1 1pCurso MPLAB pic 1 1p
Curso MPLAB pic 1 1p
 
Jupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosJupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datos
 
Anexo meteo pi (1)
Anexo meteo pi  (1)Anexo meteo pi  (1)
Anexo meteo pi (1)
 
Micro1
Micro1Micro1
Micro1
 
Presentacion NXT
Presentacion NXTPresentacion NXT
Presentacion NXT
 
2-CapaPercepción.pdf
2-CapaPercepción.pdf2-CapaPercepción.pdf
2-CapaPercepción.pdf
 
Minibloq+ arduino
Minibloq+ arduinoMinibloq+ arduino
Minibloq+ arduino
 
Sistemas Domoticos
Sistemas DomoticosSistemas Domoticos
Sistemas Domoticos
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosMicrocontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
 
Solid Day - Cloudino
Solid Day - CloudinoSolid Day - Cloudino
Solid Day - Cloudino
 
Diapos de pic
Diapos de picDiapos de pic
Diapos de pic
 
Clase - Arquitectura interna
Clase - Arquitectura internaClase - Arquitectura interna
Clase - Arquitectura interna
 
Mce pic18 preview
Mce pic18 previewMce pic18 preview
Mce pic18 preview
 
SBC semana01
SBC semana01SBC semana01
SBC semana01
 
Encender una cafetera con Micropython, MQTT y Android
Encender una cafetera con Micropython, MQTT y AndroidEncender una cafetera con Micropython, MQTT y Android
Encender una cafetera con Micropython, MQTT y Android
 
Wearables & Iot - Breve Intro
Wearables & Iot - Breve IntroWearables & Iot - Breve Intro
Wearables & Iot - Breve Intro
 
Python power 1
Python power 1Python power 1
Python power 1
 

Más de Víctor R. Ruiz

Introducción a Arduino - Parte I
Introducción a Arduino - Parte IIntroducción a Arduino - Parte I
Introducción a Arduino - Parte I
Víctor R. Ruiz
 
¿Quién vigila a los vigilantes? Privacidad en la Era de Internet
¿Quién vigila a los vigilantes? Privacidad en la Era de Internet¿Quién vigila a los vigilantes? Privacidad en la Era de Internet
¿Quién vigila a los vigilantes? Privacidad en la Era de Internet
Víctor R. Ruiz
 
Software libre como futuro profesional
Software libre como futuro profesionalSoftware libre como futuro profesional
Software libre como futuro profesional
Víctor R. Ruiz
 

Más de Víctor R. Ruiz (20)

Pseudociencia y desinformación
Pseudociencia y desinformaciónPseudociencia y desinformación
Pseudociencia y desinformación
 
Programación del ESP8266 con el IDE de Arduino
Programación del ESP8266 con el IDE de ArduinoProgramación del ESP8266 con el IDE de Arduino
Programación del ESP8266 con el IDE de Arduino
 
Raspberry Pi 2: Instalación y configuración
Raspberry Pi 2: Instalación y configuraciónRaspberry Pi 2: Instalación y configuración
Raspberry Pi 2: Instalación y configuración
 
Visión artificial con Processing y OpenCV
Visión artificial con Processing y OpenCVVisión artificial con Processing y OpenCV
Visión artificial con Processing y OpenCV
 
Vídeo en tiempo real con Processing
Vídeo en tiempo real con Processing Vídeo en tiempo real con Processing
Vídeo en tiempo real con Processing
 
Raspberry Pi + Arduino
Raspberry Pi + ArduinoRaspberry Pi + Arduino
Raspberry Pi + Arduino
 
Control remoto de Arduino con Firmata y Processing
Control remoto de Arduino con Firmata y ProcessingControl remoto de Arduino con Firmata y Processing
Control remoto de Arduino con Firmata y Processing
 
Cómo hacer librerías en Arduino
Cómo hacer librerías en ArduinoCómo hacer librerías en Arduino
Cómo hacer librerías en Arduino
 
Guía de Visualino
Guía de VisualinoGuía de Visualino
Guía de Visualino
 
Arduino y series de datos
Arduino y series de datosArduino y series de datos
Arduino y series de datos
 
Introducción a Fritzing
Introducción a FritzingIntroducción a Fritzing
Introducción a Fritzing
 
Introducción a los 'time-lapses' astronómicos
Introducción a los 'time-lapses' astronómicosIntroducción a los 'time-lapses' astronómicos
Introducción a los 'time-lapses' astronómicos
 
Introducción a Arduino (II)
Introducción a Arduino (II)Introducción a Arduino (II)
Introducción a Arduino (II)
 
Introducción a Arduino - Parte I
Introducción a Arduino - Parte IIntroducción a Arduino - Parte I
Introducción a Arduino - Parte I
 
¿Quién vigila a los vigilantes? Privacidad en la Era de Internet
¿Quién vigila a los vigilantes? Privacidad en la Era de Internet¿Quién vigila a los vigilantes? Privacidad en la Era de Internet
¿Quién vigila a los vigilantes? Privacidad en la Era de Internet
 
La isla de Pascua y la estructura del Universo
La isla de Pascua y la estructura del UniversoLa isla de Pascua y la estructura del Universo
La isla de Pascua y la estructura del Universo
 
Fin: Apocalipsis celestes
Fin: Apocalipsis celestesFin: Apocalipsis celestes
Fin: Apocalipsis celestes
 
Software libre como futuro profesional
Software libre como futuro profesionalSoftware libre como futuro profesional
Software libre como futuro profesional
 
APIs de medios sociales
APIs de medios socialesAPIs de medios sociales
APIs de medios sociales
 
Google Plus
Google PlusGoogle Plus
Google Plus
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

MicroPython y ESP32