Tabla de contenido:
- Suministros
- Paso 1: preparación del hardware
- Paso 2: Instalación de Cloud4RPi
- Paso 3: Conexión del sensor
- Paso 4: Envío de lecturas de sensores a la nube
- Paso 5: Gráficos y alarmas
Video: Humedad en la nube: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Se acerca el verano, y quienes no tengan aire acondicionado deben estar preparados para controlar manualmente la atmósfera en el interior. En esta publicación, estoy describiendo la forma moderna de medir los parámetros más importantes para el confort humano: temperatura y humedad. Estos datos recopilados se envían a la nube y se procesan allí.
Suministros
Estoy usando una placa Raspberry Pi y el sensor DHT22. Puede hacer lo mismo en cualquier computadora que tenga Internet, GPIO y Python. El sensor DHT11 más económico también funciona bien.
Paso 1: preparación del hardware
Comencemos desde el principio, ya que no usé mi Raspberry Pi durante bastante tiempo.
Necesitaremos:
- Placa Raspberry Pi (u otra plataforma orientada a IoT).
- Tarjeta SD o microSD (según plataforma).
- 5V / 1A mediante cable micro-USB. LAN, que proporciona la conexión a Internet.
- Pantalla HDMI, pantalla RCA o puerto UART (para habilitar SSH).
El primer paso es descargar Raspbian. Elegí la versión Lite, ya que usaré SSH en lugar de la pantalla.
Las cosas han cambiado desde la última vez que lo hice: ahora hay un gran software de grabación llamado Etcher, que funciona perfectamente y tiene un diseño impresionante.
Después de que se completó la grabación de la imagen, inserté la tarjeta SD en mi Pi, enchufé los cables de alimentación y LAN, y después de un tiempo, mi enrutador registró el nuevo dispositivo.
¡Excelente! Sigamos y SSH en él.
La seguridad está bien, me gusta, pero esto dificulta un poco las cosas. Usaré el adaptador UART-USB para acceder al shell y habilitar SSH …
Usar una pantalla en lugar de UART lo hace mucho más fácil.
Después de reiniciar, finalmente estoy dentro.
Lo primero es lo primero, vamos a actualizar:
sudo apt update && sudo apt upgrade -y
Ahora conectemos este nuevo dispositivo a la nube.
Paso 2: Instalación de Cloud4RPi
Decidí probar la plataforma en la nube llamada Cloud4RPi, que está diseñada para IoT.
De acuerdo con los documentos, necesitamos los siguientes paquetes para que se ejecute:
sudo apt install git python3 python3-pip -y
La biblioteca cliente se puede instalar con un solo comando:
sudo pip3 instalar cloud4rpi
Ahora necesitamos un código de muestra.
clon de git https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
El script ejecutable es control.py.
Necesitamos un token que permita a Cloud4RPi vincular los dispositivos con las cuentas. Para obtener uno, cree una cuenta en cloud4rpi.io y presione el botón Nuevo dispositivo en esta página. Reemplaza la cadena _YOUR_DEVICE_TOKEN_ en el archivo control.py con el token de tu dispositivo y guarda el archivo. Ahora estamos listos para el primer lanzamiento.
sudo python3 control.py
Abra la página del dispositivo y verifique que los datos estén allí.
Pasemos ahora a los datos del mundo real.
Paso 3: Conexión del sensor
Necesitaremos:
- Sensor de humedad DHT22 o DHT11
- Resistencia pull-up (5-10 KΩ)
- Alambres
El sensor DHT22 mide la temperatura y la humedad simultáneamente. El protocolo de comunicación no está estandarizado, por lo que no es necesario habilitarlo en raspi-config; un simple pin GPIO es más que suficiente.
Para adquirir los datos, usaré la gran biblioteca de Adafruit para sensores DHT, pero es posible que no funcione como está. Una vez encontré un extraño retraso constante en el código, que no funcionó para mi hardware, y después de dos años mi solicitud de extracción aún está pendiente. También cambié las constantes de detección de la placa porque mi Raspberry Pi 1 con BCM2835 fue sorprendentemente detectada como Raspberry Pi 3. Desearía que fuera cierto… Por lo tanto, recomiendo usar mi fork. Si tiene algún problema con él, pruebe el repositorio original, tal vez funcione para alguien, pero yo no soy uno de ellos.
clon de git https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Como la biblioteca está escrita en C, requiere compilación, por lo que necesita los paquetes build-essential y python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Mientras se instalan los paquetes, conecte el DHT22 como se muestra en la imagen.
Y pruébalo:
cd ~ python -c "importar Adafruit_DHT como d; imprimir d.read_retry (d. DHT22, 4)"
Si ve algo como (39.20000076293945, 22.600000381469727), debe saber que esta es la humedad en porcentajes y la temperatura en grados Celsius.
¡Ahora, montemos todo junto!
Paso 4: Envío de lecturas de sensores a la nube
Usaré control.py como base y agregaré la interacción DHT22 en él.
cp cloud4rpi-raspberrypi-python / control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python / rpi.py./rpi.pyvi cloud_dht22.py
Elimine el código de muestra como en la imagen de arriba.
Como DHT22 devuelve tanto la temperatura como la humedad en una sola llamada, los almacenaré globalmente y los actualizaré solo una vez en una solicitud, asumiendo que la demora entre ellos es de más de 10 segundos. Considere el siguiente código, que adquiere los datos DHT22:
importar Adafruit_DHT
temp, hum = Ninguno, Ninguno
last_update = time.time () - 20
def update_data ():
global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time ()
def get_t ():
update_data () return round (temp, 2) si temp no es Ninguno más Ninguno def get_h (): update_data () return round (hum, 2) si hum no es Ninguno más Ninguno
Inserte este código después de las importaciones existentes y edite la sección de variables para que use las nuevas funciones:
variables = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}
Si encuentra que las manipulaciones son confusas, tome la versión final de este archivo y presione el botón rojo para iniciar la transferencia de datos:
Entonces puedes consultar la página del dispositivo.
python3 cloud_dht22.py
Entonces puedes consultar la página del dispositivo.
Puedes dejarlo como está, pero prefiero tener un servicio para todo. Esto asegura que el script siempre se esté ejecutando. Creando un servicio con el script completamente automatizado que ya tiene en el directorio cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Iniciar el servicio:
sudo service cloud4rpi start
Y comprobándolo:
pi @ raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service - Demonio Cloud4RPi Cargado: cargado (/lib/systemd/system/cloud4rpi.service; habilitado) Activo: activo (en ejecución) desde el miércoles 17-05-2017 20: 22: 48 UTC; Hace 1 minuto PID principal: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560 / usr / bin / python /home/pi/cloud_dht22.py
17 de mayo 20:22:51 raspberrypi python [560]: Publicando iot-hub / messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]}
17 de mayo 20:22:53 raspberrypi python [560]: Publicando iot-hub / messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 de mayo 20: 22:53 raspberrypi python [560]: Publicando iot-hub / messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Si todo funciona como se esperaba, podemos continuar y usar las capacidades de la plataforma Cloud4RPi para manipular los datos.
Paso 5: Gráficos y alarmas
En primer lugar, grafiquemos las variables para ver cómo cambian. Esto se puede hacer agregando un nuevo Panel de control y colocando los gráficos requeridos en él.
Otra cosa que podemos hacer aquí es configurar una alerta. Esta función le permite configurar el rango seguro para una variable. Tan pronto como se sobrepasa el rango, envía una notificación por correo electrónico. En la página de edición del Panel de control, puede cambiar a Alertas y configurar una.
Inmediatamente después de eso, la humedad en mi habitación comenzó a disminuir rápidamente sin ninguna razón aparente, y la alarma pronto siguió.
Puedes usar Cloud4RPi gratis con cualquier hardware que sea capaz de ejecutar Python. En cuanto a mí, ahora siempre sé cuándo encender el humidificador de aire, e incluso puedo conectarlo a un relé para control remoto a través de Cloud4RPi. ¡Estoy preparado para el calor! ¡Bienvenido Verano!
Con Cloud4RPi, puede controlar su Raspberry Pi y otros dispositivos IoT de forma remota en tiempo real. Visite nuestro sitio y conecte un número ilimitado de dispositivos de forma gratuita.
Recomendado:
Nube de color controlada por aplicación: 7 pasos (con imágenes)
App Controlled Color Cloud: Hola, en este instructivo te muestro cómo construir la iluminación de una habitación a partir de una cuadrícula de camino de grava. Todo se puede controlar a través de WLAN con una aplicación. Https://youtu.be/NQPSnQKSuoU Hubo algunos problemas con el proyecto. Pero al final puedes hacerlo con ingenio
¡Automatizando un invernadero con LoRa! (Parte 1) -- Sensores (temperatura, humedad, humedad del suelo): 5 pasos
¡Automatizando un invernadero con LoRa! (Parte 1) || Sensores (temperatura, humedad, humedad del suelo): en este proyecto les mostraré cómo automaticé un invernadero. Eso significa que les mostraré cómo construí el invernadero y cómo conecté la electrónica de potencia y automatización. También te mostraré cómo programar una placa Arduino que usa L
Registro de temperatura y humedad de Raspberry PI, estación meteorológica en la nube, wifi y estadísticas móviles: 6 pasos
Registro de temperatura y humedad de Raspberry PI, estación meteorológica en la nube, wifi y estadísticas móviles: con el dispositivo Raspberry PI puede registrar datos de temperatura y humedad en el exterior, en la habitación, el invernadero, el laboratorio, la sala de refrigeración o en cualquier otro lugar de forma totalmente gratuita. Este ejemplo lo usaremos para registrar la temperatura y la humedad. El dispositivo se conectará a Internet v
Monitor de humedad inalámbrico (ESP8266 + Sensor de humedad): 5 pasos
Monitor de humedad inalámbrico (ESP8266 + Sensor de humedad): compro perejil en maceta y la mayor parte del día la tierra estaba seca. Así que decido hacer este proyecto, sobre la detección de la humedad del suelo en una maceta con perejil, para comprobar cuándo necesito verter el suelo con agua. Creo que este sensor (sensor capacitivo de humedad v1.2) es bueno porque
YABC - Otro controlador Blynk más - Controlador de temperatura y humedad en la nube de IoT, ESP8266: 4 pasos
YABC - Otro controlador Blynk más - Controlador de temperatura y humedad de la nube de IoT, ESP8266: Hola fabricantes, recientemente comencé a cultivar hongos en casa, hongos ostra, pero ya tengo 3x de estos controladores en casa para el control de temperatura del fermentador para mi cerveza casera, esposa también está haciendo esto de Kombucha ahora, y como termostato para calor