Comment utiliser Siri pour mettre en scène la romance
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 par DIY Comment fabriquer une lumière Wi-Fi Siri contrôlée par DIY Dans ce guide, vous allez apprendre à créer une lumière contrôlable Wi-Fi, et le contrôler avec Siri. En savoir plus pouvant être contrôlé avec Siri; Aujourd'hui, nous allons nous appuyer sur ces connaissances pour faire en sorte que Siri fonctionne également avec un système audio Sonos, puis rassemblez tout cela dans une scène romantique..
Découvrez le résultat final:
La vidéo ci-dessus n'a pas été falsifiée ni mise en scène - tout est possible avec Siri et le guide ci-dessous. Aucun jailbreak n'est requis, bien qu'il y ait une programmation pour laquelle j'ai fourni le code.
Les choses dont vous aurez besoin:
- Tarte aux framboises
- appareil iOS
- Éclairages colorés compatibles Siri, tels que Philips Hue avec concentrateur de 2e génération ou notre DIY Wi-fi Light
- Sonos (ou autre périphérique de lecture avec une API HTTP)
- (Facultatif) NodeMCU / ESP8266, prises de relais et d'alimentation; ou un accessoire de prise de courant commercial HomeKit
Pourquoi est-ce si compliqué??
HomeKit, et contrôler vos appareils via la commande vocale est vraiment soigné. Malheureusement, l’écosystème fermé d’Apple, HomeKit se limite à une poignée d’appareils. Sonos n'en fait pas partie. Cependant, tout n'est pas perdu. Grâce à des pirates informatiques assidus, le protocole HomeKit a récemment été mis au point par reverse engineering et, comme démontré dans notre dernier projet, vous pouvez désormais créer vos propres faux appareils HomeKit. Nous allons en profiter.
Commencez par suivre notre tutoriel DIY Lumière Wi-Fi. Comment créer une lampe Wi-Fi Siri contrôlée par DIY Comment fabriquer une lampe Wi-Fi Siri contrôlée par DIY Dans ce guide, vous allez apprendre à créer une Fi contrôlable, et le contrôler avec Siri. Lisez plus, parce que cela va constituer la base de tout le reste. En fait, si vous ne possédez pas déjà de système d'éclairage Philips Hue, vous pouvez créer la lumière Wi-Fi décrite dans ce tutoriel..
Même si vous avez un système Hue, continuez et suivez le tutoriel, car vous devrez créer de faux accessoires HomeKit pour tout le reste (code fourni ci-dessous). En poursuivant ce guide, je suppose que le serveur HAP-NodeJS est déjà opérationnel et que vous avez correctement ajouté une fausse lumière et testé le serveur, même s'il n'est pas connecté à un élément de bricolage. Matériel.
Faire une playlist
Allez-y et créez une nouvelle liste de lecture Sonos nommée “Romantique”. Il n'est pas nécessaire que le nom soit identique, mais vous devrez ajuster les scripts accessoires ultérieurement si vous le modifiez. J'ai ajouté quelques pistes de Marvin Gaye et Sade à la mienne. 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 Wi-Fi Light. 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 cingler pour déclencher certaines actions sur le Sonos..
git clone https://github.com/jishi/node-sonos-http-api.git sonos cd sonos npm installer production npm installer basic-auth découverte-sonos require-fu demande-promesse demande-promesse node-static async npm start
Si vous voyez un message sur tel ou tel module introuvable, faites-en un autre npm installer et le nom du module, puis essayez npm start encore. Il est possible que certains modules aient déjà été installés globalement à partir d'autres projets et que vous deviez peut-être en installer davantage. J'espère que vous verrez quelque chose comme ceci:
Félicitations, vous disposez maintenant d’une API HTTP simple que vous pouvez utiliser pour déclencher votre Sonos. Consultez la documentation pour obtenir la liste complète des commandes, mais le format qui nous intéresse le plus est le suivant:
http: // [IP du serveur]: 5005 / [NOM DE LA PIÈCE] / [ACTION]
ou comme exemple spécifique:
http://192.168.1.99:5005/master%20bedroom/playlist/romantic
Le cas ne semble pas avoir d'importance. Le% 20 est un encodage d'URL d'un caractère d'espacement, mais vous devriez aussi pouvoir taper un espace réel, et votre navigateur le convertira automatiquement. La commande ci-dessus déclenche simplement la liste de lecture Romantique sur le dispositif Master Bedroom. Utilisez le pause commande pour l'arrêter:
http://192.168.1.99:5005/master%20bedroom/pause
En plus, 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 en cours. 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 recevrez un message vous demandant de vous enregistrer sur une clé d'API sur VoiceRSS.org (jusqu'à 350 demandes par jour sont gratuites). Quand vous avez fini avec ça, tapez:
nano settings.json
et collez votre clé dans l'exemple suivant:
"voicerss": "YOURAPIKEY"
Redémarrez le serveur et cinglez à nouveau l'URL. Après quelques secondes, vous devriez entendre une délicieuse voix anglaise. Vous pouvez changer la fin de l'URL en en-nous si vous préférez une voix américaine. Soigné! Totalement sans rapport avec ce projet, mais bien quand même!
Enfin, faisons redémarrer ce serveur au redémarrage du Pi:
sudo nano /etc/rc.local
Ajouter une ligne avant le sortie 0:
nœud sudo /home/pi/sonos/server.js < /dev/null &
CTRL-X, Y pour sauvegarder. Vous pouvez voir que je l’utilise avec OpenHAB, un détecteur de présence Bluetooth DIY et le serveur HAP-NodeJS HomeKit - vous devriez également le faire déjà si vous avez déjà suivi le didacticiel préalable Wi-Fi Light..
Créer un appareil HomeKit pour Sonos
Le cœur de ce projet est que Soni ne peut pas être contrôlé par Siri. Toutefois, nous pouvons ajouter un certain contrôle en créant un faux périphérique HomeKit qui active une liste de lecture particulière lorsque nous l'allumons - une fausse lumière est le moyen le plus simple de le faire.
Accédez à votre HAP-NodeJS / répertoire en premier et installez le “demande” module.
demande d'installation sudo npm
Sautez ensuite vers le accessoires/ répertoire et prenez mon appareil prédéfini avec la commande simple suivante:
wget https://gist.githubusercontent.com/jamesabruce/72bd250fbcf054acaa25/raw/8272d4b9a4ef76db752cab2ddd9bdc47d09a65f1/Romantic_accessory.js
Effectuez des modifications si nécessaire - cette option est définie pour le logiciel Sonos par défaut. “Chambre principale” emplacement, alors changez la chaîne maître% 20chambre vers le début du code si vous souhaitez qu’il soit dirigé vers une autre pièce. Comme nous avons simulé le fait d'être une lumière, l'envoi de la commande de luminosité ne fera rien, même si, à un moment donné, je le mettrai à jour pour gérer le volume. C'est le bloc de code qui fait la magie:
setPowerOn: function (on) console.log ("Allumer la lumière% s!", on? "on": "off"); FAKELIGHT.powerOn = on; console.log (sur); if (on) request ('http: // localhost: 5005 / master% 20bedroom / playlist / romantique'), fonction (erreur, réponse, corps) console.log ("Demande de lecture envoyée");) autre request ('http: // localhost: 5005 / master% 20bedroom / pause', fonction (erreur, réponse, corps) console.log ("demande de pause envoyée");),
Vous pouvez voir que c'est étonnamment simple: lorsque le projecteur reçoit une commande setPowerOn de HomeKit, il vérifie si la valeur est 1 (ou true) et à quel point il pince l'adresse URL de l'API HTTP Sonos pour lire cette liste de lecture. S'il s'agit de quelque chose d'autre (c'est-à-dire 0, faux), il envoie la commande pause. Redémarrez votre serveur HAP-NodeJS, puis passez à un périphérique iOS et suivez la même procédure que précédemment pour ajouter votre faux “Playlist romantique” lumière (vous aurez besoin du code d'appariement 031-45-154).
Vérifiez que votre nouvel appareil fonctionne, puis passez à autre chose. Si vous avez envie de programmer, essayez de mapper les changements de luminosité en volume (et partagez votre code dans les commentaires, s'il vous plaît!).
(Facultatif) Guirlandes lumineuses et autres appareils AC
Vous serez peut-être surpris d'apprendre qu'il n'y a pas de guirlande HomeKit officielle, ni de prise d'alimentation générique pour HomeKit dont le look / prix me plaisait. J'ai donc réussi à fabriquer un bricolage à l'aide d'un tableau de développement NodeMCU / ESP8266. le tueur Arduino: ESP8266 Rencontrez le tueur Arduino: ESP8266 Et si je vous disais qu'il existe un tableau 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 de courant standard à deux groupes. Je ne détaillerai pas trop le matériel, car vous ne devriez pas placer d'objets dans des connecteurs si vous n'êtes pas totalement à l'aise avec ce genre de choses, mais je vous fournirai mon code pour le côté NodeMCU (connectez le déclencheur à relais sur la broche D2 / GPIO4), et accessoire correspondant.
Comme la lumière Wi-Fi, elle communique des commandes sur un canal MQTT (“chambre à coucher”), vous devrez donc modifier le code avec votre adresse de courtier MQTT (consultez la partie 2 de notre guide OpenHAB pour savoir comment configurer un courtier MQTT. Guide du débutant OpenHAB - Partie 2: Partie ZWave, MQTT, Règles et affichage du guide du débutant OpenHAB 2: ZWave, MQTT, Rules and Charting OpenHAB, le logiciel de domotique open source, surpasse de loin les capacités des autres systèmes de domotique du marché, mais sa configuration n’est pas facile. En fait, il peut être totalement frustrant. Plus), changez le nom 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 “des scènes” à l'aide de l'application Elgato Eve ou de votre gestionnaire HomeKit préféré. Dans le jargon de HomeKit, une scène peut contenir un nombre quelconque d’accessoires et de commandes pour ces accessoires..
Vous pouvez nommer une scène comme bon vous semble, et Siri sera capable de la faire correspondre même sans dire “mettre en scène”. J'ai donc fait deux scènes: une appelée “les enfants sont au lit”, et un autre “passons au sérieux maintenant”.
Le premier éteint l’une des lumières de Hue, l’autre en rose, puis allume l’accessoire de la playlist romantique et les lumières des fées. Ce dernier rend les lumières blanches à nouveau et met le Sonos en pause (c.-à-d. Qu'il éteint l'accessoire de liste de lecture romantique). Simples!
J'espère que vous avez apprécié ce tutoriel et que vous pouvez vraiment voir comment nous pouvons étendre le contrôle de Siri à n'importe quoi sans trop de peine, grâce à la puissance de HAP-NodeJS.. Y a-t-il quelque chose pour laquelle vous aimeriez voir des actions spéciales de Siri? Faites-nous savoir dans les commentaires et dites-nous comment vous utilisez Siri pour contrôler votre maison..
En savoir plus sur: Raspberry Pi, Siri, Sonos.