Tabla de contenido:
- Paso 1: Suministros
- Paso 2: Esquema de Fritzing
- Paso 3: prepara la Raspberry Pi
- Paso 4: Modelo de base de datos - MySQL
- Paso 5: Frontend: Configuración del servidor web
- Paso 6: backend
- Paso 7: Colocación de la tira de LED
- Paso 8: Colocación de los tubos
- Paso 9: Colocación de la pantalla LCD
- Paso 10: Colocación de los sensores y conexión de la tira de LED
- Paso 11: Cableado del Pi
- Paso 12: hacer un recipiente para agua
- Paso 13: Resultado final
Video: Maceta automatizada - Pequeño jardín: 13 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Soy un estudiante de Tecnología de la Comunicación y Multimedia en Howest Kortrijk. Para nuestra asignación final, tuvimos que desarrollar un proyecto de IoT de nuestra propia elección.
Buscando ideas, decidí hacer algo útil para mi madre, a quien le encanta cultivar plantas, y comencé a trabajar en una maceta automática.
Las principales tareas de esta maceta automática, Little Garden, son:
- Medir la
- Temperatura
- Intensidad de luz
- Humedad
- La humedad del suelo
Guarde las medidas en una base de datos
Mejorar las condiciones para el crecimiento de las plantas si un determinado valor es demasiado bajo
Permita que el dispositivo sea monitoreado y administrado a través de un sitio web
No es necesario seguir todos los pasos hasta el final. Mucho de lo que sucede puede ser su preferencia personal o mejorarse. Esta construcción se hizo de manera que las partes pudieran recuperarse después, por lo que es posible que desee abordar su iteración de manera diferente para que sea más permanente
Paso 1: Suministros
La mayoría de los suministros para este proyecto no son muy difíciles de adquirir, aunque en mi caso trabajé con muchos materiales reciclados. También tuve que asegurarme de poder recuperar algunos materiales después.
Componentes principales:
- Raspberry Pi 4 modelo B
- Fuente de alimentación Raspberry Pi
- Zapatero en forma de T de frambuesa Pi
- Tarjeta micro SD de 16GB
- Fuente de alimentación de tablero con 3.3V y 5V
- Tablero de circuitos
- Fuente de alimentación 12V
Sensores:
- DHT11: Sensor de temperatura y humedad
- BH1750: sensor de intensidad de luz
- Sensor de humedad del suelo
- MCP3008
Componentes del actuador:
- Bomba de agua 220V
- Tira de LED 12V
- Módulo de relés Velleman
- SUGERENCIA 50: transistor NPN
- Pantalla de módulo LCD 16X2
- PCF8574a
Resistencias:
- 3 resistencias de 330 ohmios
- 1 x resistencia de 5 k ohmios
- 2 resistencias de 10k Ohm
- Resistencia de 1 x 1k Ohm
- 1 x resistencia Potentio de 10k
Materiales:
- Invernadero / maceta prefabricados
- Caja de conexiones
- Botella de agua de plástico
- Gira
- Cables de puente + cable regular
- Skrews
- Estaño para soldar + tubería termorretráctil
- Cinta de pato de doble cara
- Pintura
Herramientas:
- Pistola de pegamento
- Taladro
- Hoja de sierra
- Soldador
- Cortador de cajas
- Cepillo de pintura
Lo bueno de este proyecto es que se puede expandir o simplificar agregando / quitando componentes y modificando ligeramente el código. Por ejemplo, al reemplazar la bomba de 220 V con una bomba de 12 V, puede quitar un adaptador de corriente del dispositivo.
Paso 2: Esquema de Fritzing
La placa de pruebas y los esquemas eléctricos del dispositivo se muestran arriba. Aquí puede ver cómo todos los componentes están conectados entre sí.
Una explicación general de cómo funcionan los componentes:
- El DHT11 mide la humedad del aire en% y la temperatura en ° C. La comunicación con él es manejada por un bu I2C.
- El BH1750 mide la intensidad de la luz en lux. La comunicación es manejada por un bus I2C
- El sensor de humedad del suelo crea una señal digital que el MCP3008 convierte en una señal digital legible para Raspberry Pi
- El módulo LCD de 16x2 muestra las direcciones IP del Pi, una tras otra. Está conectado a un PCF8574a que recibe una señal de la Raspberry Pi que la convertirá en una serie de señales para los pines de bits de la pantalla. Los pines E y RS de la pantalla LCD están conectados directamente al Pi. La resistencia de potencia determina el brillo de la pantalla.
- La bomba de agua está conectada a un relé que se encuentra entre ella y su fuente de alimentación / toma de 220V. La Raspberry Pi puede enviar una señal al relé para cerrar el circuito eléctrico y encender la bomba.
- La tira de LED está conectada a la fuente de alimentación de 12V y al TIP 50 (transistor NPN) que alterna la corriente eléctrica. La resistencia de 1k Ohm se usa para limitar la potencia extraída de la Raspberry Pi, de lo contrario, se fríe más crujiente.
Paso 3: prepara la Raspberry Pi
Si aún no tiene una, deberá colocar una de las imágenes del sistema operativo Raspberry Pi en la tarjeta SD. No recomiendo usar Lite, ya que esto me causó problemas al principio. Luego, deberá asegurarse de que su Pi esté actualizado mediante el uso de los siguientes comandos mientras el Pi está conectado a Internet:
- sudo apt-get update
- sudo apt-get upgrade
Después de lo cual puede habilitar o instalar los paquetes para que el proyecto funcione, ya sea a través de raspi-config o comandos.
- SPI
- I2C
- MySQL: siguiente paso
- SocketIO: pip instalar flask-socketio
Después de la configuración, puede agregar los archivos necesarios que están escritos en html, CSS, Javascript y Python. Todo mi código se puede encontrar en mi repositorio de github.
Paso 4: Modelo de base de datos - MySQL
Arriba puede ver el diagrama ERD que está alojado a través de MariaDB. Recomiendo seguir esta guía de instalación de MariaDB, no solo para instalar MariaDB, sino también para asegurarse de que su Pi esté protegida.
Para las personas que deseen comprender, la base de datos funciona de la siguiente manera:
Las medidas y los conmutadores del actuador se almacenan como filas dentro de la tabla de Metingen.
- metingId = ID de la fila de medición / alternar
- deviceId = ID del dispositivo responsable de esta fila en la tabla
-
waarde = valor de la medida del sensor o palanca del actuador
- sensor: valor de la medida en las unidades correspondientes
- actuadores: 0 = OFF y 1 = ON
- commentaar = comentarios utilizados para agregar información adicional, como errores
- datum = la fecha y hora en que ocurrió la medición / alternancia
La configuración del dispositivo se almacena en Configuración.
- settingId = ID de esta fila y el valor de configuración
- deviceID = ID del dispositivo / sensor correspondiente
- waarde = valor de la configuración
- type = tipo del settin, ¿es máximo o mínimo?
Por último, pero no menos importante, la tabla Dispositivos contiene información sobre los sensores y actuadores.
- deviceId = ID del dispositivo en esta tabla
- naam = nombre del dispositivo / componente
- merk = marca
- prijs = precio del componente
- beschrijving = resumen del componente
- eenheid = unidad para los valores medidos
- typeDevice = especifica si el componente es un sensor o un actuador
Paso 5: Frontend: Configuración del servidor web
El Pi requerirá que instale el servidor web Apache para ejecutar el servidor web para este dispositivo. Esto se puede hacer con el siguiente comando:
sudo apt-get install apache2.
Una vez hecho esto, puede navegar a la carpeta: / var / www / html. Aquí deberá colocar todo el código de la interfaz. Posteriormente, puede acceder al sitio web navegando hasta la dirección IP.
Paso 6: backend
Para ejecutar el backend, deberá ejecutar el archivo app.py, ya sea manualmente o creando un servicio para él en la Pi para que se inicie automáticamente.
Como puede notar, hay bastantes archivos. Separé el código tanto como pude para tener una descripción y organización claras del código.
Una breve explicación:
app.py: el archivo principal donde se unen la base de datos, el código de hardware y el código de backend
config.py: el archivo de configuración para los repositorios de bases de datos
Repositorios: para acceder al repositorio de datos
-
Ayudante
- devices_id: clases para ayudar a identificar la información del dispositivo en la base de datos
- lcd: para ejecutar PCF y LCD
- Actuadores: clases para hacer funcionar los actuadores
- Sensores: clases para hacer funcionar los sensores
Paso 7: Colocación de la tira de LED
Corté un trozo de la tira de LED y lo pegué en la parte superior de la caja del invernadero. La tira que utilicé podría cortarse en varias posiciones y volver a conectarse, por lo que podría colocar varias tiras y volver a conectarlas después a través de cables, lo que permite iluminar más espacio.
Paso 8: Colocación de los tubos
Los tubos se pueden colocar de varias maneras, pero en mi caso los adjunté al costado de la parte inferior, manteniéndolos lo más lejos posible de los otros dispositivos electrónicos y dejando que el agua simplemente fluyera hacia la tierra.
Paso 9: Colocación de la pantalla LCD
Corté un todo en la tapa de la caja de conexiones con una hoja de sierra, creando una abertura lo suficientemente grande para que pasara la pantalla, pero lo suficientemente pequeña para que la PCB se quedara detrás. Posteriormente, se fijó a la tapa mediante sesgos.
La pantalla LCD muestra las direcciones IP de la Raspberry Pi, lo que permite saber qué dirección puede utilizar para navegar por el sitio web.
Paso 10: Colocación de los sensores y conexión de la tira de LED
Usando los esquemas de fritzing, soldé las conexiones entre los cables y coloqué las resistencias dentro de los cables, usando tubos termorretráctiles para aislarlos.
Se cortaron agujeros en los lados de la tapa y la parte inferior del invernadero para sujetar los pivotes, a través de los cuales pasé los cables para los sensores y la tira de LED.
Agrupé los cables por función. La tensión de los cables y los tubos retráctiles sostuvo los sensores. Solo tuve que usar pegamento en los cables para el DHT11 ya que esto se extendió aún más.
Paso 11: Cableado del Pi
Corté agujeros en el costado de la caja de conexiones para permitir que los cables pasen más tarde.
Después de eso, coloqué la placa de pruebas (con el zapatero en T, PCF8574a, MCP3008, resistencia ajustable y TIP50), el relé y la Raspberry Pi en la parte inferior de la caja de conexiones, que estaba cubierta con cinta adhesiva de doble cara. La fuente de alimentación no encajaba en la placa, por lo que tuve que ponerla a un lado y usé cables de puente para conectarla a la placa.
Finalmente, pasé los cables del adaptador, sensor y actuador a través de los orificios que conectaban los cables a la placa de pruebas, Raspberry Pi y otros componentes. El cable de la bomba se abrió para poder colocar los extremos dentro del relé para que pudiera usarse como interruptor.
Paso 12: hacer un recipiente para agua
Hice un recipiente de agua con una botella de agua de plástico de 1 litro cortando la parte superior con un cúter y pintándola para una mejor apariencia. Luego se colocó la bomba de agua en el interior. Debido a la regla de los vasos comunicantes, el agua podría fluir a través de las tuberías por sí sola, pero sostener el tubo hacia arriba soluciona el problema.
Paso 13: Resultado final
El momento que estabas esperando. Ahora puede colocar la tierra y las semillas dentro de la caja del invernadero y dejar que el dispositivo se haga cargo. Puede controlar el estado del dispositivo desde el sitio web y establecer los valores óptimos para las condiciones de iluminación y suelo.
Recomiendo regar la tierra primero manualmente, ya que un poco de tierra puede estar bastante seca al principio. Algunas bombas también parecen regar con bastante lentitud, pero debe tener mucho cuidado, ya que se llenará más rápido de lo esperado. Una saturación superior al 80% puede hacer que el suelo esté muy empapado. Y asegúrese de que el sensor de humedad del suelo sea lo suficientemente profundo.
Recomendado:
Termómetro luminoso - Luz de jardín vitaminada (eNANO De Jardin): 6 pasos
Termómetro luminoso - Luz de jardín vitaminada (eNANO De Jardin): Luz de jardín vitaminada con arduino NANO y un sensor de temperatura BMP180.Nuestra humilde luz de jardín tendrá un poder secreto: podrá indicar la temperatura exterior mediante un código de colores y parpadeando. Su funcionamiento es el siguiente: I
Construya una maceta de riego automático con WiFi: riega las plantas automáticamente y envía alertas cuando el nivel del agua es bajo: 19 pasos
Construya una maceta de riego automático de bricolaje con WiFi: riega las plantas automáticamente y envía alertas cuando el agua es baja: este tutorial le muestra cómo construir una maceta de riego automática conectada a WiFi personalizada utilizando una maceta de jardín vieja, un bote de basura, algo de adhesivo y un auto Kit de subensamblaje de regadera de Adosia
Maceta inteligente automática para plantas (bricolaje, impresa en 3D, Arduino, riego automático, proyecto): 23 pasos (con imágenes)
Maceta inteligente automática - (bricolaje, impresión en 3D, Arduino, riego automático, proyecto): Hola, a veces, cuando nos vamos de casa por unos días o estamos muy ocupados, las plantas de la casa (injustamente) sufren porque no se riegan cuando necesito. Esta es mi solución. Es una maceta inteligente que incluye: Depósito de agua incorporado. Un senso
FEDORA 1.0, una maceta inteligente: 8 pasos (con imágenes)
FEDORA 1.0, una maceta inteligente: FEDORA o Flower Environment Decorating Organic Result Analyzer es una maceta inteligente para jardinería interior. FEDORA no es solo una maceta, puede actuar como reloj despertador, reproductor de música inalámbrico y un pequeño robot amigo. La característica principal
Iluminación LED automatizada para acuarios plantados con RTC: 5 pasos (con imágenes)
Iluminación LED automatizada para acuarios plantados con RTC: hace un par de años decidí montar un acuario plantado. Estaba fascinado por la belleza de esos acuarios. Hice todo lo que se suponía que debía hacer mientras instalaba el acuario, pero descuidé una cosa más importante. Esa cosa estaba iluminada