Comment utiliser Siri pour mettre en scène la romance

Hier, nous vous avons montré comment créer une lumière Wi-Fi; Aujourd'hui, nous allons nous appuyer sur ces connaissances pour que Siri puisse travailler avec Sonos, puis le mettre ensemble dans une scène romantique.

Hier, nous vous avons montré comment créer une lumière Wi-Fi;  Aujourd'hui, nous allons nous appuyer sur ces connaissances pour que Siri puisse travailler avec Sonos, puis le mettre ensemble dans une scène romantique.
Publicité

Hier, nous vous avons montré comment créer une lumière Wi-Fi DIY Comment faire une lumière Wi-Fi Siri-contrôlée BRICOLAGE Comment faire une lumière Wi-Fi Siri-contrôlée BRICOLAGE Dans ce guide, vous allez apprendre à créer une lumière contrôlable par Wi-Fi et contrôlez-la avec Siri. Lire plus qui pourrait être contrôlé avec Siri; Aujourd'hui, nous allons nous baser sur ces connaissances pour faire fonctionner Siri avec un système audio Sonos, puis le mettre ensemble dans une scène romantique.

Découvrez le résultat final:

La vidéo ci-dessus n'a pas été falsifiée, ou mise en scène - tout est possible en utilisant Siri, et le guide ci-dessous. Aucun jailbreak n'est requis, bien qu'il y ait de la programmation, pour laquelle j'ai fourni le code.

Choses dont vous aurez besoin:

  • Tarte aux framboises
  • appareil iOS
  • Éclairage coloré compatible avec Siri, tel que Philips Hue avec un concentrateur de 2e génération ou notre éclairage Wi-Fi DIY
  • Sonos (ou autre périphérique de lecture avec une API HTTP)
  • (Optionnel) NodeMCU / ESP8266, relais et prises de courant; ou un accessoire de prise de courant HomeKit commercial

Pourquoi est-ce si compliqué?

HomeKit, et le contrôle de vos appareils par le contrôle de la voix est vraiment soigné. Malheureusement, l'écosystème fermé qu'Apple est, HomeKit est limité à une poignée d'appareils. Sonos n'est pas l'un d'entre eux. Cependant, tout n'est pas perdu. Grâce à des pirates informatiques laborieux, le protocole HomeKit a récemment été modifié, et comme nous l'avons démontré dans notre dernier projet, vous pouvez maintenant créer vos propres faux appareils HomeKit. Nous allons profiter de cela.

Commencez par suivre notre tutoriel de lumière DIY Wi-Fi Comment faire une lumière Wi-Fi Siri-contrôlée DIY Comment faire une lumière Wi-Fi Siri-contrôlée DIY Dans ce guide, vous allez apprendre à créer un Wi-Fi La lumière contrôlable par Fi, et la commande avec Siri. Lire la suite, parce que cela va former la base de tout le reste. En fait, si vous n'avez pas déjà un système d'éclairage Philips Hue, vous pouvez aller de l'avant et construire la lumière Wi-Fi décrite dans ce tutoriel.

Même si vous avez un système Hue, allez-y et suivez le tutoriel car vous aurez besoin de créer de faux accessoires HomeKit pour tout le reste (code fourni ci-dessous). En continuant avec ce guide, je vais supposer que vous avez déjà le serveur HAP-NodeJS en marche, et que vous avez réussi à ajouter une fausse lumière et testé le serveur, même s'il n'est pas connecté à un brin de bricolage Matériel.

Faire une liste de lecture

Allez-y et créez une nouvelle liste de lecture Sonos nommée "Romantique". Il n'a pas besoin d'être exactement le même nom, mais vous devrez ajuster les scripts accessoires plus tard si vous le changez. J'ai ajouté quelques pistes de Marvin Gaye et de Sade au mien. Lisse

Ensuite, sur le Raspberry Pi qui exécute HAB-NodeJS (si vous ne savez pas de quoi je parle, vous n'avez pas lu le tutoriel de la lumière Wi-Fi. Faites-le d'abord), accédez à votre répertoire personnel et tapez ce qui suit pour installer l'API HTTP pour Sonos. Cela va nous donner une URL web que nous pouvons ping pour déclencher certaines actions sur le Sonos.

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

Si vous voyez un message à propos de tel ou tel module non trouvé, faites juste une autre installation de npm et le nom du module, puis essayez à nouveau de démarrer npm . Il est possible que certains modules aient déjà été installés dans le monde à partir d'autres projets, et vous devrez peut-être en installer d'autres. J'espère que vous verrez quelque chose comme ceci:

sonos-http-api fonctionne

Félicitations, vous avez maintenant une API HTTP simple que vous pouvez utiliser pour déclencher votre Sonos. Lisez la documentation pour la liste complète des commandes, mais le format qui nous intéresse le plus est:

 http: // [IP SERVEUR]: 5005 / [ROOM NAME] / [ACTION] 

ou comme exemple spécifique:

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

L'affaire ne semble pas avoir d'importance. Le% 20 est un encodage d'URL d'un caractère espace, mais vous devriez être capable de taper un espace réel aussi, et votre navigateur le convertira automatiquement. La commande ci-dessus déclenche simplement la liste de lecture romantique dans le dispositif de la chambre principale. Utilisez la commande pause pour l'arrêter:

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

En outre, l'API nous donne également une fonction qui sera très utile pour d'autres projets: la possibilité de dire une déclaration spécifique, comme une notification, puis de continuer à lire la file d'attente actuelle. Essayer:

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

La première fois que vous faites cela, vous recevez un message vous demandant de vous inscrire à une clé API sur VoiceRSS.org (jusqu'à 350 demandes par jour sont gratuites). Lorsque vous avez terminé, tapez:

 nano settings.json 

et collez dans votre clé à l'exemple suivant:

 { "voicerss":"YOURAPIKEY" } 

Redémarrez le serveur et envoyez une nouvelle requête ping à l'URL. Après quelques secondes, vous devriez entendre une voix anglaise délicieuse. Vous pouvez changer la fin de l'URL en-nous si vous préférez une voix américaine. Soigné! Totalement hors de propos pour ce projet, mais soigné quand même!

Enfin, faisons redémarrer ce serveur lorsque le Pi est redémarré:

 sudo nano /etc/rc.local 

Ajouter une ligne avant la sortie 0 :

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

CTRL-X, Y pour enregistrer. Vous pouvez le voir aux côtés de OpenHAB, un détecteur de présence Bluetooth DIY, et du serveur HAP-NodeJS HomeKit - vous devriez déjà avoir déjà lancé ce tutoriel si vous avez déjà suivi le tutoriel sur la lumière Wi-Fi.

ajouter à rc-local Faire un périphérique HomeKit pour le Sonos

Le point crucial de ce projet est que Sonos ne peut pas être contrôlé par Siri, cependant nous pouvons ajouter un certain contrôle en créant un faux appareil HomeKit qui active une playlist particulière lorsque nous l'allumons - une fausse lumière est le moyen le plus simple de le faire.

Accédez d'abord au répertoire HAP-NodeJS / et installez le module "request".

 sudo npm install request 

Ensuite, sautez dans le répertoire accessories / et prenez mon appareil prématuré avec la commande simple suivante:

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

Apportez quelques modifications si nécessaire: cette option est définie pour l'emplacement par défaut de la «chambre principale» de Sonos. Par conséquent, changez la chaîne master% 20bedroom vers le début du code si vous souhaitez qu'elle soit dirigée vers une pièce différente. Puisque nous avons truqué la lumière, l'envoi de la commande de luminosité ne fera rien, mais à un moment donné je mettrai à jour cette commande pour gérer le volume. C'est le bloc de code qui fait la magie:

 setPowerOn: function(on) { console.log("Turning the light %s!", on ? "on" : "off"); FAKELIGHT.powerOn = on; console.log(on); if(on){ request('http://localhost:5005/master%20bedroom/playlist/romantic', function (error, response, body) { console.log("Sent play request"); }) } else{ request('http://localhost:5005/master%20bedroom/pause', function (error, response, body) { console.log("Sent pause request"); }) } },  

Vous pouvez voir que c'est étonnamment simple: quand la lumière reçoit une commande setPowerOn de HomeKit, elle vérifie si la valeur est 1 (ou true), et à quel point elle envoie un ping à l'URL de l'API HTTP Sonos pour lire cette playlist. Si c'est autre chose (c'est-à-dire 0, faux), il envoie la commande de pause. Redémarrez votre serveur HAP-NodeJS, puis dirigez-vous vers un appareil iOS et suivez la même procédure que précédemment pour ajouter votre fausse lumière "Romantic Playlist" (vous aurez besoin du code d'appariement 031-45-154) .

Vérifiez que votre nouvel appareil fonctionne, puis continuez. Si vous vous sentez à l'aise avec une petite programmation, essayez de mapper les changements de luminosité au volume (et partagez votre code dans les commentaires, s'il vous plaît!).

(Facultatif) Guirlandes et autres appareils AC

Il peut vous surprendre d'apprendre qu'il n'y a pas de fées officielles HomeKit, et que je n'ai pas trouvé de prise de courant générique HomeKit dont j'ai aimé le look / prix - alors j'ai fait un bricolage en utilisant une carte de développement NodeMCU / ESP8266. le tueur Arduino: ESP8266 Rencontrez le tueur Arduino: ESP8266 Et si je vous disais qu'il y a une carte de développement compatible Arduino avec Wi-Fi intégré pour moins de 10 $? Eh bien, il y a. En savoir plus, un relais et une prise d'alimentation standard à deux postes. Je ne vais pas trop détailler le matériel car vous ne devriez pas mettre des choses dans les prises si vous n'êtes pas totalement sûr de ce genre de choses, mais je vais vous fournir mon code pour le côté NodeMCU (connectez le relais de déclenchement à la broche D2 / GPIO4), et l'accessoire pour aller avec elle.

relais nodemcu

Comme la lumière Wi-Fi, cela communique des commandes sur un canal MQTT ("bedroomplug"), donc vous devrez modifier le code avec votre adresse de courtier MQTT (consultez la partie 2 de notre guide OpenHAB sur la façon de configurer un MQTT Guide du débutant OpenHAB Partie 2: ZWave, MQTT, Règles et Graphiques OpenHAB Guide du débutant Partie 2: ZWave, MQTT, Règles et Graphiques OpenHAB, le logiciel domotique open source, dépasse de loin les capacités des autres systèmes domotiques sur le marché - mais En fait, cela peut être carrément frustrant.), changez les noms des chaînes si vous le souhaitez, et bien sûr entrez vos propres détails Wi-Fi.

Mettre tous ensemble

Enfin, nous allons faire quelques "scènes" en utilisant l'application Elgato Eve ou votre gestionnaire HomeKit préféré. Dans le langage HomeKit, une scène peut se composer de n'importe quel nombre d'accessoires et de commandes à ces accessoires.

Vous pouvez nommer une scène comme vous voulez, et Siri sera capable de la faire correspondre même sans dire "set scene" . J'ai donc fait deux scènes: l'une intitulée «les enfants sont au lit» et l'autre «devenons sérieux maintenant».

Le premier éteint l'une des lumières Hue, l'autre devient rose, puis allume l'accessoire de playlist romantique et les guirlandes lumineuses. Ce dernier rend les lumières blanches et interrompt le Sonos (c.-à-d., Éteint l'accessoire de playlist romantique). Simples!

création de scène homekit

J'espère que vous avez apprécié ce tutoriel, et que vous pouvez vraiment voir comment nous pouvons étendre le contrôle Siri à n'importe quoi sans trop de problèmes, grâce à la puissance de HAP-NodeJS. Y at-il quelque chose que vous aimeriez voir des actions spéciales de Siri? Faites-nous savoir dans les commentaires, et dites-nous comment vous avez utilisé Siri pour contrôler votre maison.

In this article