Introduction: Relé Controlado Con Spark Core + Panel De Control Web

Picture of Relé Controlado Con Spark Core + Panel De Control Web

¿De qué sirve el internet de las cosas (IoT) si no es para controlar aparatos domésticos desde internet? ;)

English version of this Instructable here.

Este proyecto surgió de una de las primeras cosas que se nos viene a la mente con IoT: prender la cafetera cuando estamos yendo al trabajo para que nos espere con café hecho. Lo que hice fue pensar en si podría controlar de forma independiente los 4 enchufes de una zapatilla usando un Spark Core y una simple web app (programada en HTML y un poquito de PHP). Este es el primer prototipo, funcional :)

Para la próxima versión me gustaría diseñarle un lindo PCB para el Spark (y no usar la protoboard, ¡puaj!).

En este tutorial presuponemos que sabes:

  1. Configurar el WiFi de tu Spark Core
  2. Cargar un programa en tu Spark Core
  3. Subir archivos via FTP a un servidor
  4. Averiguar tu access_token y el device_id de tu Spark Core

Materiales:

  • Un Spark Core de spark.io
  • Una zapatilla (regleta o múltiple de 4 enchufes, idealmente cableada por dentro)
  • Estaño
  • Cable de 4 a 6 mm (50 cm de largo, máximo) color marrón
  • Cables de protoboard (6 ~ 10 cables cortos)
  • Caja para el relé y el Spark Core.
  • Servidor Apache (para alojar nuestro panel web)

Herramientas:

  • Soldador
  • Pinza
  • Destornilladores de todos los tamaños
  • Tijera
  • Cuchillo (para el case de plástico)

Referencias:

Este tutorial fue desarrollado durante Chorispark, la Build Night con Spark IO organizada por Wazzabi en Buenos Aires, Argentina.

Step 1: Desarmar La Zapatilla

Picture of Desarmar La Zapatilla

En el caso de la zapatilla que encontré (una muy barata, no recomendable) el cable que unía todos los enchufes tenía varios puntos de soldadura. Lo que hice fue soltarlos para poder darle corriente a cada enchufe por separado. El cable neutro (en este caso, color violeta) lo dejé como estaba.

NOTA IMPORTANTE: en esta zapatilla está cableado con color CELESTE el cable que corresponde a la fase. Esto es incorrecto y peligroso: el celeste siempre representa el neutro. En mi cableado ignoré el color y usé el celeste para el fase.

Step 2: Cablear El Relé

Picture of Cablear El Relé

En este paso podemos tomar el cable que resultó de desarmar la zapatilla (como fue mi caso) o podemos tomar un cable y abrirle segmentos para luego doblarlo y conectarlo en el relay como se muestra.

Lo importante es que en el primer canal del relé llegue la corriente y luego esté conectada en paralelo con los otros tres canales.

Step 3: Cablear Los Enchufes Al Relé

Picture of Cablear Los Enchufes Al Relé

En este paso lo que haremos será conectar cada enchufe de la zapatilla a su correspondiente interruptor en el relé.

Luego conectaremos esos cables al relé.

BONUS: Podemos hacerle muescas al plástico de la zapatilla para que pasen los cables más cómodos ;)

Step 4: Conectar La Zapatilla Y El Relé a La Corriente

Picture of Conectar La Zapatilla Y El Relé a La Corriente

Ahora simplemente conectamos la corriente a la zapatilla que armamos. Es importante verificar el código de colores (como advertí al principio). En mi caso tuve que ignorar el color de los cables de la zapatilla en pos de respetar los colores para fase, neutro y tierra.

Step 5: Conectar El Relé Al Spark Core

Picture of Conectar El Relé Al Spark Core

Conectar el relé al Spark Core es sencillísimo, simplemente debemos conectar:

  • GND (Relé) -> GND (Spark Core)
  • IN1 (Relé) -> D0 (Spark Core)
  • IN2 (Relé) -> D1 (Spark Core)
  • IN3 (Relé) -> D2 (Spark Core)
  • IN4 (Relé) -> D3 (Spark Core)
  • VCC (Relé) -> VIN (Spark Core)

Para conectar el relé al Spark Core usé cable de motherboard (el que sirve para conectar el panel frontal al motherboard) pero puede hacerse con cualquier tira de cables.

Step 6: ¡Programar Nuestro Spark Core!

Desde nuestro panel de Spark simplemente copiamos el código de este repositorio en GitHub y ya nuestro Spark sabrá cómo prender el relay.

Básicamente, lo que hace es darle digitalWrite(D0, HIGH) a los pines que indiquemos (D0 a D3), prendiendo en cada caso un canal distinto del relé.

Por si las dudas adjunto aquí el código pero ten en cuenta que en GitHub estará siempre el código actualizado.

Step 7: Configurar Nuestro Panel Web

Ahora sólo debemos configurar nuestro panel web, para darle las indicaciones a nuestro Spark Core.

Vamos a necesitar sólo dos archivos en nuestro servidor: proxy.php e index.php

proxy.php va a proteger nuestras credenciales, así el usuario que active el relé sólo podrá averiguar nuestro Device ID (que no le sirve para nada) pero no nuestro access_token. En este archivo debemos indicar el access token que nos da el sitio web de Spark.

index.php va a tener los seis botones que operan nuestro relé: uno por cada canal, uno para prender todo y uno para apagar todo. En este archivo debemos modificar para indicar nuestro device ID.

Step 8: ¡Prender Y Apagar Cosas Desde Internet!

Picture of ¡Prender Y Apagar Cosas Desde Internet!

Una vez cargados nuestros archivos en algún servidor propio (por ej, http.//example.com/spark) simplemente hacemos clic en el botón que corresponda para que nuestro Spark Core active el relé como corresponde.

En poco tiempo subiré una versión mejorada del panel HTML (para operar desde el celular) pero por ahora esto sirve como prueba de concepto :)

Cualquier pregunta pueden dejarla en los comentarios!

Gracias a Instructables y Spark IO por las muestras de productos que hicieron posible este tutorial <3

Comments

avizuetmx (author)2015-01-14

hola amigo me interesa tu proyecto pero no se como subir el proxy?? no me podrias decir como gracias...

valenzine (author)avizuetmx2015-01-15

¿Tienes algo de conocimiento en programación web?

Con subirlo a algún servidor apache del que dispongas, via FTP, ya está :)

avizuetmx (author)valenzine2015-01-15

hola amigo la verdad que no pero estoy viendo videos y articulos para empaparme en esto como unos spark y estoy aprendiendo puro hobbie

ojala si tienes otra ayuda que me des me dejas el camino mas facil gracias saludos desde mexico.

seamster (author)2015-01-05

Very nicely done! Gracias por compatir este proyecto!

valenzine (author)seamster2015-01-05

Hey! Thanks! It's still a work in progress ;)

You can check out this Instructable in English here: https://www.instructables.com/id/Spark-Core-control...

About This Instructable

2,197views

12favorites

License:

More by valenzine:Relé controlado con Spark Core + panel de control web
Add instructable to: