MicroPython y ESP32
-
Upload
victor-r-ruiz -
Category
Technology
-
view
731 -
download
20
Transcript of MicroPython y ESP32
![Page 1: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/1.jpg)
MicroPython y ESP32Programación simple
de Internet de las cosas
Víctor R. Ruiz <[email protected]>25 de noviembre de 2017
![Page 2: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/2.jpg)
Í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.
![Page 3: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/3.jpg)
¿Qué es Internetde las cosas?
![Page 4: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/4.jpg)
Internet
![Page 5: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/5.jpg)
Cómo accedemos
![Page 6: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/6.jpg)
¿Quién produce el contenido?
![Page 7: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/7.jpg)
¿Quién consume el contenido?
![Page 8: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/8.jpg)
Internet de las casas cosas
![Page 9: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/9.jpg)
Cacharros “inteligentes”
![Page 10: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/10.jpg)
Cacharros “inteligentes”
![Page 11: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/11.jpg)
“Inteligencia” = Procesador + Internet
![Page 12: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/12.jpg)
Internet de las cosas
https://www.flickr.com/photos/wilgengebroed/8249565455/
![Page 13: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/13.jpg)
Ordenadoresvs
microcontroladores
![Page 14: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/14.jpg)
¿Dónde usas Python?
![Page 15: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/15.jpg)
Ordenador
![Page 16: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/16.jpg)
PC vs Microcontrolador
● Muy bajo consumo.
● Monotarea.
● Acceso a dispositivos eléc[tricos|trónicos].
● Barato.
● Potente.
● Sistema operativo multitarea.
● Orientado al usuario.
● Costoso.
![Page 17: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/17.jpg)
ESP32El microcontrolador de moda
![Page 18: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/18.jpg)
ESP8266 ESP32→
● Microcontrolador.● Derivado del ESP8266.
● Hasta 240 MHz.● Hasta 520 KB RAM.● Hasta 16 MB flash.● Barato: 4€-10€.
![Page 19: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/19.jpg)
Conectividad ESP32
● Wifi– Punto de acceso.
– Cliente.
● Bluetooth.● Ethernet [!]● Conexiones TCP/IP.● Cliente web.● Servidor web.● Serie, I2C, SPI...
![Page 20: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/20.jpg)
Pines del ESP32
https://playelek.com/doit-esp32-devkit-v1/
![Page 21: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/21.jpg)
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
![Page 22: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/22.jpg)
MicroPython
![Page 23: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/23.jpg)
MicroPython, la placa
● ARM Cortex M4.● 168 MHz.● 1M ROM/192 KB RAM.● Reloj tiempo real.● 24 pines GPIO.
![Page 24: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/24.jpg)
MicroPython, el sistema
● Python 3 para microcontroladores.– Firmware.
– Intérprete.
– Librerías.
![Page 25: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/25.jpg)
● 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.
![Page 26: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/26.jpg)
MicroPython en el ESP32
![Page 27: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/27.jpg)
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.
![Page 28: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/28.jpg)
Descarga de MicroPython
![Page 30: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/30.jpg)
Instalar la imagen en el ESP32
![Page 31: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/31.jpg)
Terminal serie PC MicroPython→
![Page 32: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/32.jpg)
MicroPython por terminal serie
![Page 33: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/33.jpg)
MicroPython por web (ESP8266)
![Page 34: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/34.jpg)
uPyCraftEntorno de desarrollo para MicroPython
https://github.com/DFRobot/uPyCraft
![Page 35: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/35.jpg)
Programación en MicroPython
![Page 36: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/36.jpg)
“Hola mundo”
![Page 37: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/37.jpg)
Sistema de ficheros
![Page 38: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/38.jpg)
Ficheros especiales
● boot.py– Se ejecuta al iniciar o reiniciar el ESP32.
● main.py– Se ejecuta después de boot.py.
![Page 39: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/39.jpg)
Red: Interfaces
>>> import network>>> sta = network.WLAN(network.STA_IF)>>> ap = network.WLAN(network.AP_IF)>>> sta.active()False>>> ap.active()True
![Page 40: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/40.jpg)
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
![Page 41: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/41.jpg)
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
![Page 42: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/42.jpg)
Otras librerías
![Page 43: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/43.jpg)
Máquina: Encender/apagar
![Page 44: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/44.jpg)
Máquina: Intermitente
![Page 45: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/45.jpg)
DHT22: Temperatura y humedad
![Page 46: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/46.jpg)
Neopíxeles
![Page 47: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/47.jpg)
upip: Librerías externas
![Page 48: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/48.jpg)
Servidor web
![Page 49: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/49.jpg)
Web: Encender/apagar LED
![Page 50: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/50.jpg)
Conclusiones
![Page 51: MicroPython y ESP32](https://reader031.fdocuments.ec/reader031/viewer/2022012306/5a6d04917f8b9aff418b4a09/html5/thumbnails/51.jpg)
ESP32 + MicroPython es...
● Barato.● Es interactivo.● Es accesible.● Es simple.● Es divertido.
https://docs.micropython.org/en/latest/esp8266/esp8266/quickref.html