[ad_1]
Esta es una simple «Estación meteorológica con STM32 con ThingSpeak IoT» impulsada por STM32 ARM Cortex (Blue Pill). Este sistema detecta parámetros ambientales como la temperatura, la humedad y la humedad del suelo. DHT11 es un sensor de temperatura y humedad que, como su nombre indica, se utiliza para medir la temperatura y la humedad atmosférica en un entorno específico o en un espacio cerrado, y un sensor de humedad del suelo se utiliza para medir el nivel del suelo en la tierra.
Ahora, cómo conectar el popular sensor de temperatura y humedad DHT11 y el sensor de humedad del suelo al microcontrolador STM32 con Arduino IDE como se muestra en el diagrama de bloques a continuación. Para aquellos que son nuevos, la STM32, también conocida como placa de desarrollo Blue Pill, consta del microcontrolador STM32F103C8T6 de ST Microelectronics. Es un controlador ARM Cortex-M3 de 32 bits con una alta frecuencia de reloj adecuada para aplicaciones de alta velocidad y con restricciones de energía.
Construcción y principio funcional
Los principales elementos utilizados en este proyecto son
- STM32 (pastilla azul)
- sonda DHT11
- sensor de humedad del suelo
- Módulo Wi-Fi ESP8266
- Pantalla LCD 16X2
La descripción detallada de cada elemento se discute aquí como sigue.
Sonda DHT11:
El sensor DHT11 se utiliza para medir la temperatura y la humedad. El sensor viene con un NTC incorporado especial para medir la temperatura. Tiene un microcontrolador de 8 bits integrado para generar las lecturas de temperatura y humedad como datos en serie a través del protocolo de un solo cable. Esto significa que el sensor tiene solo un pin de datos, que se puede usar para leer los valores de temperatura y humedad, lo que ahorra pines en el lado del microcontrolador. El sensor también está calibrado de fábrica, lo que facilita la interfaz con otros microcontroladores.
Especificaciones DHT11:
- Voltaje de funcionamiento: 3,5 V a 5,5 V
- Corriente de funcionamiento: 0,3 mA (medida) 60 uA (en espera)
- Salida: datos en serie
- Rango de temperatura: 0°C a 50°C
- Rango de humedad: 20% a 90%
- Resolución: la temperatura y la humedad son ambas de 16 bits
- Precisión: ±1°C y ±1% como se muestra en la Figura 2 a continuación.
Sensor de humedad del suelo:
La humedad del suelo es básicamente el contenido de agua presente en el suelo. Esto se puede medir con un sensor de humedad del suelo, que consta de dos sondas conductoras que actúan como una sonda. Puede medir el contenido de humedad en el suelo en función del cambio de resistencia entre las dos placas conductoras. La resistencia entre las dos placas conductoras varía inversamente con la cantidad de humedad presente en el suelo, como se muestra en la Figura 3.
Módulo WiFi ESP8266:
El módulo WiFi ESP8266 es un transceptor inalámbrico independiente de bajo costo que se puede usar para desarrollos de IoT de punto final. El módulo WiFi ESP8266 permite la conexión a Internet a aplicaciones integradas. Utiliza el protocolo de comunicación TCP/UDP para conectarse al servidor/cliente. Para comunicarse con el módulo WiFi ESP8266, el microcontrolador debe usar una serie de comandos AT. El microcontrolador se comunica con el módulo WiFi ESP8266-01 mediante UART con una velocidad en baudios especificada (115200 por defecto) como se muestra en la Figura 4 a continuación.
STM32F103C8T6 (píldora azul):
Como se muestra en la Figura 5 a continuación, se muestra la vista real del controlador Blue Pill. Estas placas son extremadamente económicas en comparación con las placas Arduino oficiales y el hardware también es de código abierto. El microcontrolador de arriba es el STM32F103C8T6 de STMicroelectronics. Además del microcontrolador, la placa también contiene dos osciladores de cristal, uno es un cristal de 8 MHz y el otro es un cristal de 32 kHz que se puede utilizar para controlar el RTC (reloj en tiempo real) interno. Debido a esto, la MCU puede funcionar en modo de suspensión profunda, lo que la hace ideal para aplicaciones alimentadas por batería.
Especificaciones STM32F103C8T6:
El microcontrolador ARM Cortex M3 STM32F103C8 se utiliza en el Blue Pill Board. A diferencia del nombre «Blue Pill», el nombre del microcontrolador STM32F103C8T6 tiene un significado.
- STM » significa el nombre del fabricante STMicroelectronics
- 32 » significa arquitectura ARM de 32 bits
- F103 » significa arquitectura ARM Cortex M3
- C » 48 pines
- 8 » memoria flash de 64 KB
- T » el tipo de paquete es LQFP
- 6 » Temperatura de funcionamiento -40°C a +85°C
Ahora echemos un vistazo a las especificaciones de este microcontrolador Tabla 1.
Trabajar
El principio de funcionamiento del proyecto es medir continuamente los parámetros de monitoreo del clima y publicar todos los parámetros de monitoreo del clima, como la temperatura, la humedad y los valores de humedad del suelo en una pantalla LCD de 16X2 y cargarlos en una plataforma en la nube. Aquí utilizo la plataforma ThingSpeak IoT para almacenar los datos en un entorno en tiempo real. La implementación del esquema se muestra en la Figura 6 a continuación.
El requisito de energía del proyecto es de 5 V para STM32, también conocida como placa de desarrollo Blue Pill, 3,3 V ~ 3,6 V para el módulo Wi-Fi ESP8266. Aquí simplemente convertí 5 V a 3,6 V con un circuito divisor de potencial, los diodos D3, D4 y la resistencia de 1K ohm están conectados en serie, y cada diodo de silicio tiene un voltaje de corte de 0,7 V. Aquí uso dos diodos en serie 0,7 V + 0,7 V = 1,4 V, por lo que el voltaje total es de 5 V-1,4 V ~ = 3,6 V. El diagrama de circuito de RPS (Fuente de alimentación regulada) se muestra en la Figura 7.
Cómo cargar los datos en la plataforma ThingSpeak IoT y los pasos del proceso de registro de la siguiente manera
1. Primero, el usuario debe crear una cuenta en ThingSpeak.com, luego iniciar sesión y hacer clic en «Comenzar».
2. Ahora vaya al menú «Canales» y haga clic en la opción «Nuevo canal» para continuar con la operación en la misma página.
3. Ahora verá un formulario para crear el canal, ingrese el nombre y la descripción según su elección. Luego ingrese Temperatura, Humedad y Nivel de suelo en las etiquetas del Campo 1, Campo 2 y Campo 3, y marque las casillas de los tres campos. Además, marque la casilla de la opción Hacer público en la parte inferior del formulario y finalmente guarde el canal. Ahora tu nuevo canal ha sido creado.
4. Ahora haga clic en la pestaña «Claves API» y guarde las claves API de escritura y lectura, aquí solo usamos la clave de escritura. Debe copiar esta clave en char *api_key en el código.
5. Después de eso, en la opción de compartir, debe seleccionar «Compartir la vista del canal con todos» en la lista, lo que significa que el canal está configurado como modo público y se puede acceder a los datos de la estación meteorológica en cualquier parte del mundo, como se muestra a continuación.
Ahora, finalmente, los datos capturados del sensor de temperatura, humedad y humedad del suelo como se muestra en las imágenes a continuación.
Las imágenes anteriores son imágenes capturadas en el sistema (de escritorio o portátil) que podemos monitorear los datos en el sistema, así como imágenes móviles de Android con la ayuda de la aplicación de Android Thingview disponible en Google Play Store. Aquí proporciono el enlace de Google Play Store, especialmente para monitorear los datos de la estación meteorológica en el móvil cuando se encuentra en una estación al aire libre o viaja, como se muestra a continuación en las capturas de pantalla móviles.
Cómo programar STM32F103C8T6 STM32 Blue Pill Board
El STM32 es solo otro microcontrolador de la familia STMicroelectronics. Por lo tanto, todos los métodos existentes para programar un chip ARM también se pueden usar para la placa STM32. Un IDE muy conocido y de uso común es el Keil ARM MDK y aparte de eso también podemos usar IAR Workbench, Atollic TrueStudio, MicroC Pro ARM, Crossworks ARM, Ride 7, PlatformIO+STM32, etc.
Pero lo que ha hecho que esta placa sea muy popular es su capacidad para programarse utilizando el IDE de Arduino. Esto permite a los usuarios poner en marcha proyectos de construcción con STM32 en poco tiempo, ya que muchos estarán familiarizados con Arduino IDE y su lenguaje de programación fácil de usar y bibliotecas fácilmente disponibles. En este tutorial del IDE de Arduino STM32F103C8T6, utilizaremos el IDE de Arduino para comenzar con STM32.
Programación de SMT32 a través de placa micro USB
Ahora te estarás preguntando si usamos el conector micro USB para programar la placa. De hecho, la placa de desarrollo STM32 Blue Pill no viene con un cargador de arranque en el momento de la compra para que sea compatible con Arduino IDE. Sin embargo, este cargador de arranque se puede instalar en la placa STM32 y luego el conector micro USB se puede usar directamente para cargar los programas.
Aquí he proporcionado el enlace de Youtube
Cómo cargar el tutorial del cargador de arranque Basado en este tutorial, puede cargar fácilmente la programación del cargador de arranque. Una vez completado con éxito, use una placa micro USB integrada.
Preparando el IDE de Arduino para STM32 (Blue Pill)
Siga los pasos a continuación para descargar y preparar el IDE de Arduino para usarlo con la placa de desarrollo STM 32.
Paso 1: Si aún no tiene instalado el IDE de Arduino, descárguelo e instálelo desde este enlace. Asegúrese de seleccionar su sistema operativo correcto.
Paso 2: Después de instalar Arduino IDE, abra y descargue los paquetes necesarios para la placa STM32. Esto se puede hacer seleccionando Archivo -> Configuración.
Paso 3: Al hacer clic en Configuración, se abrirá el cuadro de diálogo que se muestra a continuación. En el administrador de tableros adicionales, pegue el enlace en el cuadro de texto de la URL y presione Aceptar. Como se muestra en la Figura A a continuación.
Paso 4: Ahora vaya a Herramienta -> Tableros -> Administrador de tableros. Esto abrirá el cuadro de diálogo Boards Manager, busque «STM32F1» e instale el paquete que se muestra.
Paso 5: Después del paquete, la instalación está completa. Vaya a Herramientas y desplácese hacia abajo para encontrar la serie genérica STM32F103C como se muestra a continuación. Luego, asegúrese de que la variante sea de tipo Flash de 64k, la velocidad de la CPU sea de 72 MHz y cambie el método de carga a Serial como se muestra en la Figura B a continuación.
Paso 6: Ahora conecte su placa micro USB a la computadora y use el administrador de dispositivos para verificar a qué puerto COM está conectada la placa STM32. Luego seleccione el mismo número de puerto en Herramientas->Puerto
Paso 7: Después de que se hayan realizado todos los cambios, verifique la esquina inferior derecha del IDE de Arduino y debería encontrar que se establece la siguiente configuración. Mi placa STM32 (Blue Pill) está conectada a COM9 pero la suya puede ser diferente. Ahora el IDE de Arduino está listo para programar las placas de desarrollo STM 32 Blue Pill. Finalmente, el prototipo del proyecto se muestra en la Figura C a continuación.
[ad_2]