Ubidots

Riega tus plantas con un aspersor inteligente casero usando PiFace y Ubidots

Daniel Da Silva
· 4 minutos de lectura
Enviar por correo electrónico

Una de las razones por las que tengo casi todos los cactus en casa es porque a menudo olvido regarlas. Por eso creé este proyecto para controlar una electroválvula a distancia y regar mis plantas desde cualquier lugar, simplemente usando mi teléfono.

Al final de este tutorial, deberías poder hacer algo como esto:

Materiales

  • Raspberry Pi modelo B:frambuesa_pi-1
  • Piface digital

piface-digital

  • Válvula de agua de plástico – 3/4″ – 12 V nominal

válvula

  • Cable flexible para 1A

bobinas de alambre

  • conector de barril de CC

conector dc

  • Adaptador de corriente conmutada regulada de 12 V CC y 1000 mA

Cargador de 12 V

  • Acoplamiento roscado de PVC de 3/4”

enganche

  • cinta de teflón

teflón

  • Manguera

manguera

  • Aspersor

aspersor

Conexiones

Las conexiones eléctricas son bastante sencillas:

  • En primer lugar, conecte su Piface a la Raspberry Pi sin enchufar ningún adaptador de corriente.
  • Siga el diagrama a continuación. El cable blanco es GND y está conectado al terminal común en el relé, el rojo está conectado al NO (normalmente abierto).

escuela

En cuanto a las conexiones hidráulicas, asegúrese de utilizar cinta de teflón en cada unión para evitar fugas de agua.

Configura tu cuenta Ubidots , variables y widgets

Si eres nuevo en Ubidots , crea una cuenta aquí .

  • Vaya a la pestaña “Fuentes” y agregue una nueva fuente.

Paso 1 fuente

  • Seleccione Raspberry Pi como su nueva fuente de datos y complete el formulario.

Paso a fuente

  • Ahora haga clic en la nueva fuente “Mi Raspberry Pi”

Paso 1Variable

  • Agregue dos nuevas variables llamadas “valve” y “relay_state” y no olvide completar los campos nombre y unidad.

Variable de paso 2

  • Tome nota del id de su variable:

Variable del paso 3

  • Toma nota de tu clave API que se encuentra en “ Mi perfil -> Clave API ”.
  • Ahora, creemos un nuevo widget para controlar la válvula de forma remota:

Indicador del paso 1

  • Selecciona el widget "Interruptor" y asócialo a la variable "válvula". Este widget escribirá "1" o "0" en la variable "válvula", que sondearemos más adelante desde nuestra Raspberry Pi.

Interruptor Step1

  • Agregue otro widget llamado “indicador” y elija la variable Valve_State:

Indicador de paso 2

  • Así es como se ve tu dashboard ahora:

dashboard

Codificación

Antes de empezar a programar, ya deberías haber configurado tu Raspberry Pi con internet. Si no es así, consulta esta entrada del blog sobre cómo configurar el wifi . Ahora podemos continuar: inicia sesión en tu Raspberry Pi a través de una terminal y configura el módulo SPI para que se comunique con PiFace Digital:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Agregue un carácter "#" antes de la línea spi-bcm2708, luego presione Ctrl+X, presione Y y Enter. Esto habilita SPI desde el arranque. Ahora, instalemos y configuremos la biblioteca digital PiFace:

sudo apt-get update sudo apt-get install python3-pifacedigitalio python-pifacedigitalio

Reinicia tu Pi:

sudo reboot

¡Genial! Estamos listos para empezar a codificar nuestro proyecto. Crea un nuevo archivo llamado "valve.py" y pega el siguiente código:

sudo nano valvula.py

import pifacedigitalio #Biblioteca para pifacedigitalio #Biblioteca para retrasos desde ubidots import ApiClient #Biblioteca para Ubidots pifacedigital = pifacedigitalio.PiFaceDigital() #Declarar objeto piface ##Conectarse a Ubidots try: api = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") #No olvides poner tu propia Apikey valve = api.get_variable('53cd4cb07625425b70f5c21e') #Pon aquí el ID de tu válvula valveState = api.get_variable("53ce95547625420403d81468") #Pon aquí el ID de tu estado real except: print("cant connect") #Comprueba tu Apikey, el ID de la variable y la conexión a internet while(True): lastValue = valve.get_values(1) #Obtener el último valor de la válvula de Ubidots rele = pifacedigital.relays[0].value #Guardar el estado del relé valveState.save_value({'value':rele}) #Enviar el estado del relé a Ubidots for a in lastValue: print a['value'] if(a['value']): #Activar o desactivar el relé pifacedigital.output_pins[0].turn_on() else: pifacedigital.output_pins[0].turn_off()

Ejecute su programa:

$ sudo python valve.py

Concluyendo

En este ejemplo, pudimos controlar una electroválvula con Piface Digital. Activamos y desactivamos un actuador desde el dashboardUbidots , lo que debería permitir controlar prácticamente cualquier proceso físico, siempre que pueda controlarse mediante un relé.

También puedes usar Ubidots para medir datos de series temporales, como niveles de señal, generar alertas y controlar otros dispositivos. Te recomendamos consultar estos otros ejemplos:


¿Tienes más ideas para proyectos? Crea una cuenta Ubidots y hazlas realidad.