ESP32 + micropython

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Computación ET-344
Libro: ESP32 + micropython
Imprimido por: Invitado
Día: miércoles, 3 de julio de 2024, 06:40

1. Introducción

ESP32 es la denominación de una familia de chips SoC de bajo coste y consumo de energía, con tecnología Wi-Fi y Bluetooth de modo dual integrada.
El esp32 es el dispositivo por excelencia para proyectos IoT. Su amplio abanico de características y su costo accesible lo convierten en una elección muy tentadora para emprendimientos de este tipo. Se destaca sobre todo por contar con la pila TCP/IP que permite conectarse a internet. Siguiendo con las elecciones populares en el ámbito IoT, micropython es el lenguaje favorito de los desarrolladores debido a su simplicidad, gran cantidad de librerías y demás beneficios del hermano mayor Python.


../_images/nodemcu_esp32-full.jpg



Existen muchos fabricantes de estos módulos y la distribución de pines no es estándar.


¡IMPORTANTE! los ESP32 trabajan con una tensión de 3,3 V y las entradas/salidas NO tienen protección de sobre tensión.


Materiales Necesarios

  • ESP32
  • placa de pruebas (protoboard)
  • 2 x resistores de 10 kΩ
  • pulsador
  • DHT22
  • cables para placa de pruebas (protoboard)

1.1. ESP32 vs Arduino

Function ESP32 Arduino Mega2560
Microcontroller Xtensa Dual Core 32-bit LX6 microprocessor ATMega2560
Flash Memory 4MB 256 KB 
CLOCK Speed Upto 240 MHz 16 MHz
Operating Voltage 3.3V DC 5V DC
Input Voltage 3.3V DC 7-12V
DC Current per I/O Pin 40 mA 20 mA
DC Current For 3.3V Pin 50 mA 50 mA
Digital IO Pins 36 54
Analog Input Pins Up to 18 16
Wi-Fi Yes,802.11 b/g/n No
Bluetooth Yes, Bluetooth v4.2 BR/EDR and BLE specification No

2. LED + Pulsador

En este primer programa vamos a implementar un pulsador que al ser activado alterna el estado del led (onboard) Pin2.

 

https://github.com/GermanXander/ArgentinaPrograma.git

# branch basico1

https://wokwi.com/projects/364739178773309441

2.1. Contador

Para entender mejor lo que está pasando además de alternar el estado de un led también incrementamos un contador con cada pulsación.
#branch basico2

https://wokwi.com/projects/364735471237096449

2.2. rebote

https://embeddedthoughts.com/2016/06/10/attiny85-debounce-your-pushbuttons/

4. Main Compartido

  

# branch main_compartido

https://wokwi.com/projects/364739596827985921

5. Interrupción por Timer

# branch timer

https://wokwi.com/projects/364742319406345217

5.1. Heartbeat

Programa que implementa una señal de vida sin utilizar sleep, o sea que no bloque el proceso principal

# branch heartbeat

https://wokwi.com/projects/364732220355720193


6. Antirrebote

# branch antirrebote

https://wokwi.com/projects/364797418552828929

7. Telegram Bot

Introducción

Telegram es una aplicación de mensajería enfocada en la velocidad y seguridad, es súper rápida, simple y gratuita. Puedes usar Telegram en todos tus dispositivos al mismo tiempo. Tus mensajes se sincronizan a la perfección a través de cualquiera de tus teléfonos, tablets o computadoras. Telegram tiene más de 700 millones de usuarios activos mensuales y es una de las 10 apps más descargadas del mundo.

A diferencia de WhatsApp, Telegram es mensajería basada en la nube con sincronización constante. Como resultado, puedes acceder a tus mensajes desde diferentes dispositivos a la vez, incluyendo tablets y computadoras, y compartir un número ilimitado de fotos, videos y archivos (doc, zip, mp3, etc.) de hasta 2 GB cada uno.
Telegram necesita menos de 100 MB en tu dispositivo. Puedes mantener toda tu multimedia en la nube sin necesidad de eliminar cosas, simplemente borra la caché para liberar espacio.
Gracias a la infraestructura de múltiples centros de datos y al cifrado de Telegram, es más rápido y mucho más seguro. Además, la mensajería privada en Telegram es gratuita y seguirá siéndolo; sin publicidad, sin cuotas de suscripción, para siempre.
La API de Telegram y su código son abiertos, y son bienvenidos los desarrolladores que quieran crear sus propias aplicaciones de Telegram. También tenemos una API para bots, una plataforma para desarrolladores que permite a cualquiera crear herramientas especializadas para Telegram, integrar cualquier servicio, e incluso aceptar pagos de usuarios de todo el mundo.

Registrar un Bot

Los bots Telegrama son como usuarios con los que se interactúa a través de la API de Telegram. Se puede crear hasta 20 bots por cuenta de telegram.

Para crear un bot  comuníquese con @BotFather. Utilice el comando /newbot y siga las instrucciones hasta obtener el token correspondiente al bot.

4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc  (ejemplo)

El token es una secuencia de caracteres que se utiliza para autenticar el bot en la api bot de telegram. Es información sensible. No se debe compartir. Es como una contraseña.

https://api.telegram.org/bot4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc/getUpdates


# branch bot

https://wokwi.com/projects/364742992109802497

Se agrega boot.py donde se configura la conexión a WiFi