Mostrando entradas con la etiqueta Esp32. Mostrar todas las entradas
Mostrando entradas con la etiqueta Esp32. Mostrar todas las entradas

ESP32 - Hora + Temp + NTPClient + HTTPClient

Este código es un programa para un dispositivo que utiliza una pantalla TFT para mostrar la hora actual y la temperatura en Omaha, NE, obtenida de la API de OpenWeatherMap. Aquí hay una explicación en 10 líneas:

1. Se incluyen las bibliotecas necesarias para la pantalla TFT, SPI, WiFi, NTPClient y HTTPClient.

2. Se crea una instancia de la clase TFT_eSPI para controlar la pantalla TFT.

3. Se establecen las credenciales de la red WiFi y se configura el cliente NTP para obtener la hora actual.

4. Se inicializa la pantalla TFT y se conecta a la red WiFi.

5. En el bucle principal, se actualiza la hora cada 10 segundos utilizando el cliente NTP.

6. Se obtiene la temperatura actual de Omaha a través de la API de OpenWeatherMap.

7. La respuesta JSON se procesa para extraer la temperatura en grados Celsius.

8. La temperatura se muestra en la pantalla TFT junto con la hora actual.

9. El bucle principal espera 10 segundos antes de volver a actualizar la hora y la temperatura.

10. Se manejan posibles errores en la obtención de la temperatura, y se imprime información de depuración en el puerto serie.


ELEMENTOS:

- Pantalla lcd spi 3.5 ili9488 ( aliexpress )

- esp32 wroom Teyleten Robot 38pin ( amazon )

  (el esp32 es distinto al que aparece en la imagen pero puedes usar los mismos numeros de pines)


Conexiones:


Codigo INO:


ESP32S3 + DHT11 + JSON

El codigo que va en en ESP32-S3 realiza lo siguiente:

Inicializa la conexión WiFi y el sensor DHT11.
Espera a que se establezca una conexión WiFi.
En el bucle principal, lee los valores de temperatura y humedad del sensor DHT11.
Realiza una solicitud HTTP GET a un servidor web, incluyendo los valores de temperatura y humedad como parámetros en la URL de la solicitud.
Si la solicitud HTTP GET se completa con éxito, muestra la respuesta del servidor en el monitor serie.
Si la solicitud HTTP GET falla, muestra un mensaje de error en el monitor serie. En resumen, el código lee los valores de temperatura y humedad de un sensor y los envía a un servidor web a través de una solicitud HTTP GET. La pagina web que muestra los datos(climalive.html) se aloja en la misma carpeta que 'actualizar.php' y 'datos.json', esta seria la ubicacion de los archivos en mi caso C:\xampp\htdocs\servidoriot2

El archivo PHP es responsable de recibir los datos de temperatura y humedad enviados por la placa ESP32-S3 y actualizar los valores correspondientes en un archivo JSON llamado "datos.json". Primero, el archivo PHP crea un array asociativo llamado "datos" con valores iniciales de temperatura y humedad establecidos en cero. Luego, utiliza las variables $_GET para obtener los valores de temperatura y humedad enviados por la placa ESP32-S3 a través de la URL. A continuación, actualiza los valores de temperatura y humedad en el array "datos" con los valores recién obtenidos. Finalmente, utiliza la función file_put_contents para escribir el array "datos" en el archivo JSON "datos.json", sobrescribiendo cualquier valor anterior. En resumen, este archivo PHP se encarga de actualizar los valores de temperatura y humedad en un archivo JSON a medida que se reciben los nuevos datos enviados por la placa ESP32-S3, para que puedan ser utilizados posteriormente en un proyecto de IoT.

En este caso, el archivo datos.json contiene un objeto JSON con dos pares clave-valor: "temperature" y "humidity". Cada clave (temperature y humidity) representa una propiedad del objeto y su valor correspondiente es un número que representa la temperatura y la humedad, respectivamente, que se registraron en el momento de la última actualización. En resumen, el archivo datos.json se utiliza para almacenar los últimos valores de temperatura y humedad registrados por el ESP32-S3 y enviados al servidor web a través de la solicitud HTTP GET. Estos valores pueden ser utilizados por otras aplicaciones o páginas web para mostrar información actualizada sobre las condiciones climáticas en tiempo real.

Conexiones:
Código INO:

Notas:

Los archivos php y json los puedes encontrar en el siguiente link
https://github.com/pichonpage1/esp32-s3/tree/main/01_ESP32S3_DHT11_JSON

Programar ESP32 S3 con Micropytho




Para programar un ESP32 S3 con Micropython, necesitarás los siguientes elementos:

  1. Un ESP32 S3: Este es el microcontrolador que estás programando. Puedes adquirirlo en tiendas especializadas o en línea.
  2. Un cable USB: Este es necesario para conectar el ESP32 S3 a tu computadora y cargar el programa.
  3. Micropython Firmware: Es necesario descargar la versión de Micropython que corresponda con el ESP32 S3. La página oficial de Micropython ofrece una versión específica para el ESP32 S3. También es posible que desees descargar el software adicional necesario para cargar el firmware en el ESP32 S3.
  4. Un IDE o editor de texto: Para escribir y cargar el programa, necesitarás un editor de texto o un entorno de desarrollo integrado (IDE) que admita Micropython. Algunas opciones populares incluyen Thonny, Visual Studio Code con la extensión Pymakr, y Mu.


Una vez que tengas todo lo que necesitas, puedes seguir los siguientes pasos:

  1. Conecta el ESP32 S3 a tu computadora utilizando el cable USB.
  2. Descarga y extrae el firmware de Micropython que corresponda con el ESP32 S3.
  3. Abre el IDE o editor de texto que hayas elegido y comienza a escribir tu programa en Micropython.
  4. Cuando hayas terminado de escribir el programa, guarda el archivo con la extensión .py.
  5. Abre la consola en el IDE o editor de texto y escribe los comandos necesarios para cargar el programa en el ESP32 S3. Los comandos pueden variar según el IDE que utilices, pero generalmente deberás especificar el puerto serie correcto y la velocidad de baudios.


Con estos pasos, deberías estar listo para comenzar a programar tu ESP32 S3 con Micropython.