Cómo usar Siri para preparar la escena del romance

  • William Charles
  • 0
  • 3368
  • 187
Anuncio

Ayer te mostramos cómo crear una luz de Wi-Fi DIY Cómo hacer una luz de Wi-Fi controlada por Siri DIY Cómo hacer una luz de Wi-Fi controlada por Siri DIY En esta guía, aprenderás cómo crear una luz controlable por Wi-Fi y contrólala con Siri. eso podría controlarse con Siri; hoy vamos a aprovechar ese conocimiento para hacer que Siri trabaje también con un sistema de sonido Sonos, y luego armar todo en una escena romántica.

Mira el resultado final:

El video de arriba no fue falsificado ni organizado: todo es posible usando Siri y la guía a continuación. No se requiere jailbreak, aunque hay algo de programación, para lo cual he proporcionado el código.

Cosas que necesitará:

  • Raspberry Pi
  • dispositivo iOS
  • Iluminación de color compatible con Siri, como Philips Hue con un concentrador de segunda generación o nuestra luz DIY Wi-Fi
  • Sonos (u otro dispositivo de reproducción con una API HTTP)
  • (Opcional) NodeMCU / ESP8266, relé y tomas de corriente; o un accesorio de toma de corriente comercial HomeKit

Por qué es ésto tan complicado?

HomeKit, y controlar sus dispositivos a través del control por voz es realmente genial. Desafortunadamente, el ecosistema cerrado que es Apple, HomeKit está restringido a un puñado de dispositivos. Sonos no es uno de ellos. Sin embargo, no todo está perdido. Gracias a algunos hackers que trabajan duro, el protocolo HomeKit fue recientemente modificado y, como se demostró en nuestro último proyecto, ahora puede crear sus propios dispositivos falsos HomeKit. Estaremos aprovechando eso.

Comience siguiendo nuestro tutorial de bricolaje con luz Wi-Fi Cómo hacer una luz de bricolaje con Wi-Fi controlado por Wi-Fi Cómo hacer una luz de bricolaje con Wi-Fi controlado por Wi-Fi En esta guía, aprenderá cómo crear una Wi- Fi luz controlable, y controlarlo con Siri. , porque eso formará la base de todo lo demás. De hecho, si aún no tiene un sistema de iluminación Philips Hue, puede continuar y construir la luz Wi-Fi descrita en ese tutorial.

Incluso si tiene un sistema Hue, continúe y siga el tutorial porque necesitará crear accesorios falsos de HomeKit para todo lo demás (el código se proporciona a continuación). Al continuar con esta guía, voy a suponer que ya tiene el servidor HAP-NodeJS ejecutándose y que ha agregado con éxito una luz falsa y probado el servidor, incluso si no está conectado a un poco de bricolaje real hardware.

Hacer una lista de reproducción

Continúa y crea una nueva lista de reproducción de Sonos llamada “Romántico”. No es necesario que sea exactamente el mismo nombre, pero tendrá que ajustar los scripts accesorios más adelante si lo cambia. He agregado algunas pistas de Marvin Gaye y Sade a las mías. Suave.

A continuación, en el Raspberry Pi que ejecuta HAB-NodeJS (si no sabes de lo que estoy hablando, no leíste el tutorial de la luz Wi-Fi. Hazlo primero), navegue a su directorio de inicio y escriba lo siguiente para instalar la API HTTP para Sonos. Esto nos dará una URL web que podemos hacer ping para activar ciertas acciones en Sonos.

git clone https://github.com/jishi/node-sonos-http-api.git sonos cd sonos npm instalar producción npm instalar basic-auth sonos-discovery require-fu request-promise node-static async npm start

Si ve un mensaje sobre tal y tal módulo no encontrado, simplemente haga otro npm install y el nombre del módulo, luego intente npm start otra vez. Es posible que ya tenga algunos módulos instalados globalmente de otros proyectos, y es posible que necesite instalar más. Esperemos que veas algo como esto:

Felicitaciones, ahora tiene una API HTTP simple que puede usar para activar su Sonos. Lea la documentación para obtener la lista completa de comandos, pero el formato que más nos interesa es:

http: // [IP DEL SERVIDOR]: 5005 / [NOMBRE DE LA HABITACIÓN] / [ACCIÓN]

o como un ejemplo específico:

http://192.168.1.99:5005/master%20bedroom/playlist/romantic

El caso no parece importar. El% 20 es una codificación URL de un carácter de espacio, pero también debería poder escribir un espacio real, y su navegador lo convertirá automáticamente. El comando anterior simplemente activa la lista de reproducción Romántica en el dispositivo del dormitorio principal. Utilizar el pausa comando para detenerlo:

http://192.168.1.99:5005/master%20bedroom/pause

Además, la API también nos brinda una función que será muy útil para otros proyectos: la capacidad de decir una declaración específica, como una notificación, y luego continuar jugando la cola actual. Tratar:

http://192.168.1.99:5005/master%20bedroom/say/make%20use%20of%20is%20awesome/en-gb

La primera vez que haga esto, recibirá un mensaje acerca de tener que registrarse en una clave API en VoiceRSS.org [Ya no está disponible] (hasta 350 solicitudes por día son gratuitas). Cuando hayas terminado con eso, escribe:

nano settings.json

y pegue su clave para el siguiente ejemplo:

"voicerss": "YOURAPIKEY"

Reinicie el servidor y haga ping a la URL nuevamente. Después de unos segundos, debería escuchar una encantadora voz en inglés. Puede cambiar el final de la URL a en-us si prefieres una voz americana ¡Ordenado! Totalmente irrelevante para este proyecto, pero ordenado de todos modos!

Finalmente, hagamos que este servidor se inicie nuevamente cuando se reinicie Pi:

sudo nano /etc/rc.local

Agregue una línea antes del salida 0:

sudo node /home/pi/sonos/server.js < /dev/null &

CTRL-X, Y para guardar. Puedes ver que estoy ejecutando esto junto con OpenHAB, un detector de presencia Bluetooth DIY y el servidor HAP-NodeJS HomeKit: también deberías tenerlo funcionando si seguiste el prerrequisito tutorial de luz Wi-Fi.

Hacer un dispositivo HomeKit para Sonos

El quid de este proyecto es que Siros no puede ser controlado por Siri, sin embargo, podemos agregar cierto grado de control creando un dispositivo HomeKit falso que active una lista de reproducción particular cuando lo encendemos; una luz falsa es la forma más fácil de hacerlo..

Navega a tu HAP-NodeJS / directorio primero e instale el “solicitud” módulo.

solicitud de instalación de sudo npm

Luego salta a la accesorios/ directorio y tome mi dispositivo prefabricado con el siguiente comando simple:

wget https://gist.githubusercontent.com/jamesabruce/72bd250fbcf054acaa25/raw/8272d4b9a4ef76db752cab2ddd9bdc47d09a65f1/Romantic_accessory.js

Realice algunos cambios si es necesario; esto está configurado para los Sonos predeterminados “Recamara principal” ubicación, así que cambia la cadena master% 20bedroom hacia el inicio del código si desea que se dirija a una habitación diferente. Como hemos fingido ser una luz, enviar el comando de brillo en realidad no hará nada, aunque en algún momento lo actualizaré para lidiar con el volumen. Este es el bloque de código que hace la magia:

setPowerOn: function (on) console.log ("Encendiendo la luz% s!", on? "on": "off"); FAKELIGHT.powerOn = on; console.log (activado); if (on) request ('http: // localhost: 5005 / master% 20bedroom / playlist / romantic', function (error, response, body) console.log ("Solicitud de reproducción enviada");) else  request ('http: // localhost: 5005 / master% 20bedroom / pause', function (error, respuesta, cuerpo) console.log ("Solicitud de pausa enviada");), 

Puede ver que es sorprendentemente simple: cuando la luz recibe un comando setPowerOn de HomeKit, comprueba si el valor es 1 (o verdadero), y en qué punto hace sonar la URL de la API HTTP de Sonos para reproducir esa lista de reproducción. Si se trata de algo más (es decir, 0, falso), envía el comando de pausa. Reinicie su servidor HAP-NodeJS, luego diríjase a un dispositivo iOS y siga el mismo procedimiento que antes para agregar su falso “Lista de reproducción romántica” ligero (necesitará el código de emparejamiento 031-45-154).

Verifique que su nuevo dispositivo esté funcionando, luego continúe. Si tiene ganas de programar un poco, intente asignar los cambios de brillo al volumen (y comparta su código en los comentarios, ¡por favor!).

(Opcional) Luces de hadas y otros dispositivos de CA

Puede sorprenderle saber que no hay luces de hadas oficiales de HomeKit, ni pude encontrar ninguna toma de corriente genérica de HomeKit que me haya gustado la apariencia / precio, así que armé una de bricolaje con una placa de desarrollo NodeMCU / ESP8266. the Arduino Killer: ESP8266 Conoce al Arduino Killer: ESP8266 ¿Qué pasa si te digo que hay una placa de desarrollo compatible con Arduino con Wi-Fi incorporado por menos de $ 10? Pues lo hay. , un relé y una toma de corriente estándar de dos pandillas. No detallaré demasiado el hardware, ya que no debería poner cosas dentro de los enchufes si no está totalmente seguro de ese tipo de cosas, pero le proporcionaré mi código para el lado de las cosas NodeMCU (conecte el relé disparador a pin D2 / GPIO4), y el accesorio para ir con él.

Al igual que la luz de Wi-Fi, esto comunica comandos en un canal MQTT (“enchufe de dormitorio”), por lo que deberá modificar el código con la dirección de su agente MQTT (consulte la parte 2 de nuestra guía de OpenHAB sobre cómo configurar un agente MQTT. Guía para principiantes de OpenHAB Parte 2: ZWave, MQTT, Reglas y gráficos Parte de la Guía para principiantes de OpenHAB 2: ZWave, MQTT, Reglas y gráficos OpenHAB, el software de automatización del hogar de código abierto, supera con creces las capacidades de otros sistemas de automatización del hogar en el mercado, pero no es fácil de configurar. De hecho, puede ser francamente frustrante). , cambie los nombres de los canales si lo desea y, por supuesto, ingrese sus propios detalles de Wi-Fi.

Poniendolo todo junto

Finalmente, haremos algunos “escenas” usando la aplicación Elgato Eve o tu administrador de HomeKit preferido. En el lenguaje HomeKit, una escena puede consistir en cualquier cantidad de accesorios y comandos para esos accesorios..

Puedes nombrar una escena como quieras, y Siri podrá igualarla incluso sin decir “establecer escena”. Así que hice dos escenas: una llamada “los niños estan en la cama”, y otro “pongámonos serios ahora”.

La primera apaga una de las luces Hue, la otra se vuelve rosa, luego enciende el accesorio de la lista de reproducción romántica y las luces de hadas. Este último vuelve a encender las luces blancas y detiene el Sonos (es decir, apaga el accesorio de la lista de reproducción romántica). Simples!

Espero que hayas disfrutado este tutorial y realmente puedas ver cómo podemos extender el control de Siri a cualquier cosa sin demasiados problemas, gracias al poder de HAP-NodeJS. ¿Hay algo para lo que te gustaría ver algunas acciones especiales de Siri? Háganos saber en los comentarios y cuéntenos cómo ha estado usando Siri para controlar su hogar..




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.