Show de luces controlado con un celular

Esta es una solución para hacer un control de show de luces con 8 salidas de potencia de corriente alterna, con algunas características para hacer que todo el sistema sea más fácil de usar para que cualquier persona pueda utilizarlo y comandarlo desde un celular. El control del usuario se realiza mediante la aplicación Blynk en dispositivos inteligentes. La música se transmitirá a través del transmisor FM al sistema de música de la casa o el automóvil. También puede usar un altavoz directo en lugar de un transmisor FM.

Para hacer el proyecto se necesitan:

  • Raspberry Pi (Modelo B)
  • 8GB SD/MicroSD card (dependiendo de que modelo Pi este utilizando)
  • Wifi Dongle (No es necesario si utilize una Raspberry Pi 3)
  • 8 Reles de estado sólido
  • 8 tomas eléctricos
  • Caja
  • Cables

Preparación de la Raspberry Pi

Se supone que el lector tiene algunos conocimientos básicos sobre la configuración de una Raspberry Pi. Para los novatos, hay muchos recursos en línea. Algunas cosas a tener en cuenta para este proyecto son:

  • Obtenga la dirección IP estática de su Raspberry Pi.
  • Asegúrese de que Internet esté accesible al Raspberry Pi, ya que necesita estar en línea para que Blynk funcione.
  • Configure la transferencia FTP a través de File Zilla
  • Si está utilizando la primera generación de Pi Model A o B, se sugiere que lo overclockee, ya que puede experimentar problemas de retraso de audio al ejecutar lightshowpi.

Descargue esta última Raspbian Jessie aquí. Grabe la imagen en su tarjeta SD / microSD.

Este proyecto se construyó con Raspbian Wheezy. Puede bajar una copia de la imagen aquí que puedes usar. La IP predeterminada para el Pi para esta imagen es 192.168.1.107

Instalación de Lightshowpi

Hay mucha información sobre esto en internet puedes googlear y leer. Consulta su sitio web aquí para ver los pasos de instalación.

Script para las secuencias default.

Aquí se encuentra un código simple de Python que ejecuta las luces en un patrón predeterminado en el arranque. Por supuesto, puedes modificar el patrón como desees.

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

GPIO.setwarnings(False)

GPIO.setup(7,GPIO.OUT)

GPIO.setup(11,GPIO.OUT)

GPIO.setup(13,GPIO.OUT)

GPIO.setup(15,GPIO.OUT)

GPIO.setup(12,GPIO.OUT)

GPIO.setup(16,GPIO.OUT)

GPIO.setup(18,GPIO.OUT)

GPIO.setup(22,GPIO.OUT)

while True:

GPIO.output(7,GPIO.HIGH)

GPIO.output(11,GPIO.LOW)

GPIO.output(13,GPIO.LOW)

GPIO.output(15,GPIO.HIGH)

GPIO.output(12,GPIO.HIGH)

GPIO.output(16,GPIO.HIGH)

GPIO.output(18,GPIO.HIGH)

GPIO.output(22,GPIO.LOW)

time.sleep(1)

GPIO.output(7,GPIO.LOW)

GPIO.output(11,GPIO.HIGH)

GPIO.output(13,GPIO.HIGH)

GPIO.output(15,GPIO.LOW)

GPIO.output(12,GPIO.LOW)

GPIO.output(16,GPIO.LOW)

GPIO.output(18,GPIO.LOW)

GPIO.output(22,GPIO.HIGH)

time.sleep(1)

GPIO.output(7,GPIO.HIGH)

GPIO.output(11,GPIO.LOW)

GPIO.output(13,GPIO.LOW)

GPIO.output(15,GPIO.LOW)

GPIO.output(12,GPIO.HIGH)

GPIO.output(16,GPIO.LOW)

GPIO.output(18,GPIO.HIGH)

GPIO.output(22,GPIO.LOW)

time.sleep(1)

GPIO.output(7,GPIO.HIGH)

GPIO.output(11,GPIO.HIGH)

GPIO.output(13,GPIO.HIGH)

GPIO.output(15,GPIO.HIGH)

GPIO.output(12,GPIO.HIGH)

GPIO.output(16,GPIO.HIGH)

GPIO.output(18,GPIO.HIGH)

GPIO.output(22,GPIO.HIGH)
time.sleep(5)

Puede bajar el código aquí.

Instalación de Blink en el Raspberry Pi.

Para bajar Blynk en Pi, primero debes asegurarte de que wiringPi esté instalado.

Para instalar wiringPi, ejecute el siguiente comando en la Terminal:

git clone git://git.drogon.net/wiringPi

Cambie al directorio wiringPi resultante y ejecute el script de compilación:

cd wiringPi

./build

Para asegurarse de que la biblioteca se haya instalado, ejecute el comando gpio -v, que debería devolver la información de la versión. Para compilar la biblioteca Blynk, use los siguientes comandos:

git clone https://github.com/blynkkk/blynk-library.git

cd blynk-library/linux

make clean all target=raspberry

Configuración de Blynk en el cellular.

  • Descargar la aplicación Blynk para iOS o Android
  • Crea una nueva cuenta.
  • Crea un nuevo proyecto y agregua los componentes como se muestra en las fotos.

Configuración de Blynk en el RaspberryPi.

1.Descargue este archivo. Edite el archivo reemplazando el token con el token generado por el proyecto que creó en su aplicación Blynk como se muestra a continuación. Subelo a la carpeta / home / pi.

/home/pi//Blynk/Blynk/linux/./blynk –token = <Tu token aquí>

2.En la Terminal, escriba «sudo nano /etc/rc.local» y agregue «/home/pi/autostartblynk.sh» antes de la línea «exit 0».

3.En Terminal, escriba «cd / home / pi», presione ENTER y luego escriba «chmod + x autostartblynk.sh» y presione ENTER nuevamente.

4.Reinicie Pi. Blynk se iniciará automáticamente en el arranque.

Sube tus mp3 y el archivo de la lista de reproducción aquí a la carpeta /home/pi/lightshowpi/music. He creado el archivo de la lista de reproducción para 15 canciones mp3. Todo lo que tiene que hacer es cambiar el nombre de su MP3 de 1.mp3 a 15.mp3 y cambiar el nombre del archivo de la lista de reproducción a «.playlist».

Pasar la música

El comando «start_music_and_lights» para ejecutar todas las canciones en la lista de reproducción en secuencia según el sitio web oficial de lightshowpi (enlace) no funcionó. Así que se escribió otro script de Python para reproducir continuamente canciones de mi lista de reproducción de la siguiente manera:

import time

import os

while True:

os.system(«sudo python /home/pi/lightshowpi/py/synchronized_lights.py –playlist=/home/pi/lightshowpi/music/.playlist»)

time.sleep(1)

os.system(«sudo python /home/pi/lightshowpi/py/synchronized_lights.py –playlist=/home/pi/lightshowpi/music/.playlist»)

time.sleep(1)

Suba el código. musicloop.py in /home/pi folder.

Script de control de Blynk.

He preparado un script de Python que, cuando se ejecuta, puede iniciar/detener el modo predeterminado/música y también apagar y reiniciar el pi a través de la aplicación Blynk. También puede usar botones físicos para los pines GPIO respectivos con este código para controlar el sistema.

import RPi.GPIO as GPIO
import time 
import os

GPIO.setmode(GPIO.BCM)

GPIO.setup(7, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

GPIO.setup(8, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

GPIO.setup(9, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

GPIO.setup(10, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

GPIO.setup(11, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

GPIO.setup(15, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

def DefaultSequence(channel):

os.system(«sudo python DefaultSequence.py»)

def StopDefaultSequence(channel):

os.system(«»»sudo ps aux | grep «python All_Lights.py» | grep -v grep | awk ‘{print $2}’ | xargs sudo kill -9″»»)

def MusicON(channel):

os.system(«sudo python musicloop.py»)

def MusicOFF(channel):

os.system(«»»sudo ps aux | grep «python /home/pi/lightshowpi/py/synchronized_lights.py» | grep -v grep | awk ‘{print $2}’ | xargs sudo kill -9 && sudo ps aux | grep «python musicloop.py» | grep -v grep | awk ‘{print $2}’ | xargs sudo kill -9 «»»)

def Reboot(channel):

os.system(«sudo reboot»)

def Shutdown(channel):

os.system(«sudo shutdown now»)

GPIO.add_event_detect(7, GPIO.FALLING, callback = MusicOFF, bouncetime = 2000) GPIO.add_event_detect(8, GPIO.FALLING, callback = Shutdown, bouncetime = 2000) GPIO.add_event_detect(9, GPIO.FALLING, callback = Reboot, bouncetime = 2000)

GPIO.add_event_detect(10, GPIO.FALLING, callback = DefaultSequence, bouncetime = 2000) GPIO.add_event_detect(11, GPIO.FALLING, callback = MusicON, bouncetime = 2000) GPIO.add_event_detect(15, GPIO.FALLING, callback = StopDefaultSequence, bouncetime = 2000)

while 1:

time.sleep(1)

Suba este código en al carpeta home/pi

Autoejecución de todos los scripts en el arranque

Cargue estos archivos en la carpeta /home/pi/.config/autostart y reinicie Pi. Todos los scripts de Python comenzarán en el reinicio posterior al arranque.

Pongámoslo a funcionar

En el arranque, el sistema ejecutará la secuencia predeterminada. Para cambiar al modo de música, toque DETENER SECUENCIA POR DEFECTO y luego toque PLAY MUSIC. Para volver al modo predeterminado, toque DETENER MÚSICA y toque SECUENCIA POR DEFECTO.

Toque APAGAR para apagar el pi cada vez antes de apagarlo.


Fuentes:

Esta nota fue publicada gracias a la autorización de Blynk inc.

 

TECNOLOGIA HUMANIZADA
Acerca de TECNOLOGIA HUMANIZADA 22 Artículos
TECNOLOGIA HUMANIZADA tu editorial de Tecnología desde un contexto Crítico y Humanista.

Sé el primero en comentar

Dejá un Comentario

Tu dirección de correo no será publicada.


*