Come usare Siri per impostare la scena per Romance

Ieri ti abbiamo mostrato come creare una luce Wi-Fi; oggi svilupperemo questa conoscenza per far funzionare Siri con Sonos, quindi metterlo insieme in una scena romantica.

Ieri ti abbiamo mostrato come creare una luce Wi-Fi;  oggi svilupperemo questa conoscenza per far funzionare Siri con Sonos, quindi metterlo insieme in una scena romantica.
Annuncio pubblicitario

Ieri ti abbiamo mostrato come creare una luce Wi-Fi fai-da-te Come fare una luce Wi-Fi controllata da Siri fai-da-te Come fare una luce Wi-Fi con controllo Siri fai-da-te In questa guida, imparerai come creare una luce controllabile Wi-Fi e controlla con Siri. Leggi altro che potrebbe essere controllato con Siri; oggi svilupperemo questa conoscenza per far sì che Siri lavori anche con un sistema sonoro Sonos, quindi metti tutto insieme in una scena romantica.

Controlla il risultato finale:

Il video qui sopra non è stato simulato o messo in scena: tutto è possibile usando Siri e la guida qui sotto. Non è richiesto alcun jailbreak, anche se c'è un po 'di programmazione, per cui ho fornito il codice.

Cose che ti serviranno:

  • Raspberry Pi
  • dispositivo iOS
  • Illuminazione colorata compatibile con Siri, come Philips Hue con un mozzo di seconda generazione, o la nostra luce Wi-Fi fai-da-te
  • Sonos (o altro dispositivo di riproduzione con un'API HTTP)
  • (Opzionale) NodeMCU / ESP8266, relè e prese di corrente; o un accessorio commerciale per prese di corrente HomeKit

Perché è così complicato?

HomeKit e controllare i tuoi dispositivi tramite il controllo vocale è davvero accurato. Sfortunatamente, l'ecosistema chiuso di Apple, HomeKit è limitato a una manciata di dispositivi. Sonos non è uno di loro. Tuttavia, non tutto è perduto. Grazie ad alcuni hacker laboriosi, il protocollo HomeKit è stato recentemente reingegnerizzato e, come dimostrato nel nostro ultimo progetto, ora puoi creare i tuoi falsi dispositivi HomeKit. Ne approfitteremo.

Inizia seguendo il nostro tutorial sulla luce Wi-Fi fai-da-te. Come realizzare una luce Wi-Fi controllata da Siri fai-da-te Come creare una luce Wi-Fi controllata da Siri fai-da-te. In questa guida imparerai come creare un Wi-Fi Luce controllabile e controllabile con Siri. Per saperne di più, perché questo costituirà la base di tutto il resto. Infatti, se non disponi già di un sistema di illuminazione Philips Hue, puoi procedere e costruire effettivamente la luce Wi-Fi descritta in questo tutorial.

Anche se disponi di un sistema Hue, continua e segui il tutorial perché dovrai creare accessori HomeKit falsi per tutto il resto (codice fornito di seguito). Continuando con questa guida, presumo che tu abbia già il server HAP-NodeJS già in esecuzione, e abbia aggiunto con successo una luce falsa e testato il server, anche se non è collegato a un vero pezzo di DIY hardware.

Crea una playlist

Vai avanti e crea una nuova Playlist Sonos chiamata "Romantica". Non ha bisogno di essere esattamente lo stesso nome, ma dovrai modificare gli script accessori in seguito se lo cambierai. Ho aggiunto alcuni brani di Marvin Gaye e Sade ai miei. Liscio

Quindi, sul Raspberry Pi che esegue HAB-NodeJS (se non sai di cosa sto parlando, non hai letto il tutorial sulla luce Wi-Fi.) Per prima cosa, vai alla tua home directory e digita il seguente per installare l'API HTTP per Sonos. Questo ci fornirà un URL Web che possiamo eseguire il ping per attivare determinate azioni su 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 

Se viene visualizzato un messaggio relativo a tale modulo non trovato, è sufficiente eseguire un'altra installazione di npm e il nome del modulo, quindi provare nuovamente npm . È possibile che alcuni moduli siano già stati installati a livello globale da altri progetti e potrebbe essere necessario installarne altri. Spero che vedrai qualcosa di simile a questo:

sonos-http-api funzionante

Congratulazioni, ora hai una semplice API HTTP che puoi utilizzare per attivare Sonos. Leggi sulla documentazione per l'elenco completo dei comandi, ma il formato che ci interessa di più è:

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

o come esempio specifico:

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

Il caso non sembra avere importanza. Il% 20 è una codifica URL di un carattere spazio, ma dovresti essere in grado di digitare anche uno spazio reale e il tuo browser lo convertirà automaticamente. Il comando sopra fa semplicemente scattare la playlist Romantica sul dispositivo della camera da letto principale. Usa il comando pause per fermarlo:

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

A parte questo, l'API ci fornisce anche una funzione che sarà davvero utile per altri progetti: la possibilità di pronunciare una dichiarazione specifica, come una notifica, quindi continuare a riprodurre la coda corrente. Provare:

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

La prima volta che lo fai, riceverai un messaggio su come registrarti a una chiave API su VoiceRSS.org (fino a 350 richieste al giorno gratuite). Quando hai finito, digita:

 nano settings.json 

e incolla la tua chiave nell'esempio seguente:

 { "voicerss":"YOURAPIKEY" } 

Riavvia il server e esegui nuovamente il ping dell'URL. Dopo pochi secondi, dovresti sentire una deliziosa voce inglese. Puoi cambiare la fine dell'URL in en-us se preferisci una voce americana. Neat! Totalmente irrilevante per questo progetto, ma comunque pulito!

Infine, facciamo riavviare il server quando viene riavviato il Pi:

 sudo nano /etc/rc.local 

Aggiungi una linea prima dell'uscita 0 :

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

CTRL-X, Y per salvare. Potete vedere che lo sto eseguendo insieme a OpenHAB, un rilevatore di presenza Bluetooth fai-da-te e al server HomeKit HAP-NodeJS - dovreste anche averlo già in esecuzione se avete già seguito il tutorial sulla luce Wi-Fi dei prerequisiti.

aggiungi a rc-local Creare un dispositivo HomeKit per Sonos

Il punto cruciale di questo progetto è che Sonos non può essere controllato da Siri, tuttavia possiamo aggiungere un certo grado di controllo creando un falso dispositivo HomeKit che attiva una particolare playlist quando la accendiamo - una luce fasulla è il modo più semplice per farlo.

Passare prima alla directory HAP-NodeJS / e installare il modulo "request".

 sudo npm install request 

Poi salta alla directory accessori / e prendi il mio dispositivo premade con il seguente semplice comando:

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

Apportare alcune modifiche se necessario - questo è impostato per la posizione predefinita di Sonos "Camera da letto principale", quindi modificare il master della stringa % 20bedroom verso l'inizio del codice se si desidera che venga indirizzato a una stanza diversa. Dato che abbiamo simulato una luce, l'invio del comando di luminosità in realtà non farà nulla, anche se a un certo punto lo aggiornerò per gestire il volume. Questo è il blocco di codice che fa la magia:

 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"); }) } },  

Puoi vedere che è sorprendentemente semplice: quando la luce riceve un comando setPowerOn da HomeKit, controlla se il valore è 1 (o vero), e in quale punto esegue il ping dell'URL dell'API di Sonos HTTP per riprodurre quella playlist. Se è qualcos'altro (cioè 0, falso), invia il comando di pausa. Riavvia il tuo server HAP-NodeJS, quindi vai su un dispositivo iOS e segui la stessa procedura di prima per aggiungere la tua falsa luce "Romantic Playlist" (avrai bisogno del codice di abbinamento 031-45-154) .

Verifica che il nuovo dispositivo funzioni, quindi prosegui. Se hai voglia di programmare un po ', prova a mappare le variazioni di luminosità al volume (e condividi il tuo codice nei commenti, per favore!).

(Opzionale) Luci natalizie e altri dispositivi CA.

Potrebbe sorprendervi sapere che non ci sono fari ufficiali di HomeKit, né potrei trovare alcuna presa di corrente generica di HomeKit che mi è piaciuta l'aspetto / prezzo - così ho messo insieme una unità fai-da-te utilizzando una scheda di sviluppo NodeMCU / ESP8266 the Arduino Killer: ESP8266 Incontra l'Arduino Killer: ESP8266 E se ti dicessi che c'è una scheda di sviluppo compatibile con Arduino con Wi-Fi integrato a meno di $ 10? Bene, c'è. Ulteriori informazioni, un relè e una presa di corrente standard a due gang. Non dettaglio l'hardware troppo perché non dovresti inserire le cose nelle prese se non sei totalmente sicuro di quel genere di cose, ma ti fornirò il mio codice per il lato NodeMCU delle cose (connetti il relè trigger per pin D2 / GPIO4), e l'accessorio per andare con esso.

relè nodemcu

Come la luce Wi-Fi, questo comunica i comandi su un canale MQTT ("bedroomplug"), quindi dovrai modificare il codice con l'indirizzo del tuo broker MQTT (consulta la parte 2 della nostra guida OpenHAB su come impostare un MQTT broker OpenHAB Guida per principianti Parte 2: ZWave, MQTT, Regole e grafici OpenHAB Guida per principianti Parte 2: ZWave, MQTT, Regole e grafici OpenHAB, il software di domotica open source, supera di gran lunga le capacità di altri sistemi di automazione domestica sul mercato - ma non è facile da installare, anzi può essere addirittura frustrante Leggi di più), cambia i nomi dei canali se lo desideri, e naturalmente inserisci i tuoi dettagli Wi-Fi.

Mettere tutto insieme

Infine, creeremo alcune "scene" utilizzando l'app Elgato Eve o il tuo gestore HomeKit preferito. Nel linguaggio di HomeKit, una scena può consistere in un numero qualsiasi di accessori e comandi per quegli accessori.

Puoi nominare una scena come preferisci, e Siri sarà in grado di eguagliarla anche senza dire "set scene" . Così ho realizzato due scene: una chiamata "i bambini sono a letto" e un'altra "diventiamo seri adesso".

Il primo spegne una delle luci della tonalità, trasforma l'altra in rosa, quindi accende l'accessorio della playlist romantica e le luci delle fate. Quest'ultimo rende nuovamente bianche le luci e mette in pausa il Sonos (ovvero, spegne l'accessorio della playlist romantica). Semplici!

creazione scena di homekit

Spero che questo tutorial ti sia piaciuto e puoi davvero vedere come estendere il controllo di Siri a qualsiasi cosa senza troppi problemi, grazie alla potenza di HAP-NodeJS. C'è qualcosa per cui vorresti vedere alcune azioni speciali di Siri? Fateci sapere nei commenti e dicci come hai usato Siri per controllare la tua casa.

In this article