Cum să utilizați Siri pentru a seta scenă pentru romantism
Ieri v-am arătat cum să creați o lumină DIY Wi-Fi Cum de a face o DIY Siri-controlate de Wi-Fi Lumina Cum sa faci o DIY Siri-controlate Wi-Fi lumina În acest ghid, veți învăța cum să creați o lumină controlabilă Wi-Fi și o controlează cu Siri. Citiți mai multe care ar putea fi controlate cu Siri; astăzi vom construi pe acea cunoaștere ca Siri să lucreze cu un sistem de sunet Sonos, apoi să le punem împreună într-o scenă romantică.
Verificați rezultatul final:
Videoclipul de mai sus nu a fost falsificat sau pus în scenă - totul este posibil folosind Siri și ghidul de mai jos. Nu este necesar jailbreak, deși există o programare, pentru care am furnizat codul.
Lucruri de care ai nevoie:
- Zmeura Pi
- dispozitivul iOS
- Iluminatul colorat compatibil cu sistemul de iluminare de la Siri, cum ar fi Philips Hue cu un hub din generația a doua sau lumina noastră Wi-Fi DIY
- Sonos (sau alt dispozitiv de redare cu un API HTTP)
- (Opțional) NodeMCU / ESP8266, relee și prize de alimentare; sau un accesoriu comercial HomeKit
De ce este așa de complicat?
HomeKit și controlarea dispozitivelor prin control vocal este foarte elegant. Din păcate, ecosistemul închis pe care Apple este, HomeKit este limitat la o mână de dispozitive. Sonos nu este unul dintre ei. Cu toate acestea, tot nu este pierdut. Datorită unor hackeri harnici, protocolul HomeKit a fost recent inversat și, după cum sa demonstrat în ultimul nostru proiect, vă puteți crea propriile dispozitive false HomeKit. Vom profita de asta.
Începeți prin a urmări modul nostru DIY Wi-Fi tutorial Cum să facem o DIY Siri-controlate de lumină Wi-Fi Cum de a face o DIY Siri-controlată Wi-Fi lumina În acest ghid, veți afla cum să creați un Wi- Fi controlabile de lumină și controlați-l cu Siri. Citește mai mult, pentru că asta va forma baza tuturor celorlalte. De fapt, dacă nu aveți deja un sistem de iluminare Philips Hue, puteți continua și de fapt să construiți lumina Wi-Fi descrisă în acest tutorial.
Chiar dacă aveți un sistem Hue, continuați și urmați tutorialul, deoarece va trebui să creați accesorii false HomeKit pentru orice altceva (codul de mai jos). Continuând cu acest ghid, am să presupun că ai deja serverul HAP-NodeJS și ai adăugat cu succes o lumină falsă și ai testat serverul, chiar dacă nu este conectat la un bit real de DIY hardware-.
Faceți o listă de redare
Continuați și creați un nou playlist Sonos numit “Romantic”. Nu trebuie să fie exact același nume, dar va trebui să ajustați scripturile accesoriu mai târziu dacă îl schimbați. Am adăugat niște piese Marvin Gaye și Sade la a mea. Neted.
Apoi, peste pe Raspberry Pi care rulează HAB-NodeJS (dacă nu știți despre ce vorbesc, nu ați citit tutorialul de lumină Wi-Fi. Faceți asta mai întâi), navigați la directorul de acasă și introduceți următoarele pentru a instala API-ul HTTP pentru Sonos. Aceasta ne va da o adresă URL pe web pe care o putem pinge pentru a declanșa anumite acțiuni pe Sonos.
git clone https://github.com/jishi/node-sonos-http-api.git sonos cd sonos npm instalare instalare npm instalare basic-auth sonos-descoperire requ-fu cerere-promisiune node-static async npm start
Dacă vedeți un mesaj despre un astfel de modul și nu a fost găsit, faceți altul npm install și numele modulului, apoi încercați npm start din nou. Este posibil să fi instalat deja unele module la nivel global din alte proiecte și este posibil să fie nevoie să instalați mai multe. Sperăm că veți vedea ceva de genul:
Felicitări, acum aveți un simplu API HTTP pe care îl puteți utiliza pentru a vă declanșa Sonos. Citiți documentația pentru lista completă a comenzilor, dar formatul cel mai interesat este:
http: // [IP SERVER]: 5005 / [NUME CAMERE] / [ACȚIUNE]
sau ca exemplu specific:
http://192.168.1.99:5005/master%20bedroom/playlist/romantic
Cazul nu pare să conteze. % 20 este o codificare URL a unui caracter spațiu, dar ar trebui să puteți introduce și un spațiu real, iar browserul dvs. va converti automat. Comanda de mai sus declanșează pur și simplu playlistul romantic pe dispozitivul Master Bedroom. Folosește pauză comanda pentru ao opri:
http://192.168.1.99:5005/master%20bedroom/pause
În afară de aceasta, API ne dă și o funcție care va fi foarte utilă pentru alte proiecte: abilitatea de a spune o afirmație specifică, cum ar fi o notificare, apoi continuați să jucați coada curentă. Încerca:
http://192.168.1.99:5005/master%20bedroom/say/make%20use%20of%20is%20awesome/en-gb
Prima dată când faceți acest lucru, veți primi un mesaj despre înregistrarea la o cheie API la VoiceRSS.org (până la 350 de solicitări pe zi sunt gratuite). Când ați terminat cu asta, tastați:
nano settings.json
și lipiți în cheia dvs. în următorul exemplu:
"voicerss": "YOURAPIKEY"
Reporniți serverul și reintroduceți din nou adresa URL. După câteva secunde, ar trebui să auziți o voce încântătoare engleză. Puteți schimba sfârșitul adresei URL en-ne dacă preferați o voce americană. Neat! Total lipsit de relevanță pentru acest proiect, dar oricum este îngrijit!
În cele din urmă, permiteți-i să pornească din nou serverul când se repornește Pi:
sudo nano /etc/rc.local
Adăugați o linie înainte de ieșire 0:
sudo nod /home/pi/sonos/server.js < /dev/null &
CTRL-X, Y pentru salvare. Puteți vedea că rulez acest lucru alături de OpenHAB, un detector de prezență Bluetooth DIY și serverul HAP-NodeJS HomeKit - ar trebui să aveți și el o alergare dacă ați urmat deja tutorialul de lumină Wi-Fi necesar.
Efectuarea unui dispozitiv HomeKit pentru Sonos
Crucea acestui proiect este că Sonos nu poate fi controlat de Siri, cu toate acestea putem adăuga un anumit grad de control prin crearea unui dispozitiv HomeKit fals care activează o anumită listă de redare atunci când o pornim - o lumină falsă este cel mai simplu mod de a face acest lucru.
Navigați la dvs. -NodeJS PAA / directorul în primul rând, și instalați “cerere” modul.
sudo npm cerere de instalare
Apoi săriți la accesorii/ directorul și apuca dispozitivul meu premade cu următoarea comandă simplă:
wget https://gist.githubusercontent.com/jamesabruce/72bd250fbcf054acaa25/raw/8272d4b9a4ef76db752cab2ddd9bdc47d09a65f1/Romantic_accessory.js
Efectuați câteva modificări dacă doriți - acest lucru este setat pentru Sonos implicit “Dormitor matrimonial” locație, deci schimbați șirul maestru% 20bedroom spre începutul codului dacă doriți să fie direcționat către o cameră diferită. Din moment ce am falsificat faptul că suntem o lumină, trimiterea comenzii luminozității nu va face nimic, deși într-un anumit moment o voi actualiza pentru a face față volumului. Acesta este blocul de cod care face magia:
setPowerOn: funcția (on) console.log ("Pornirea luminii% s!", on "on": "off"); FAKELIGHT.powerOn = on; console.log (pe); dacă (on) request ('http: // localhost: 5005 / master% 20bedroom / playlist / romantic', funcția (eroare, răspuns, organism) console.log solicitați ("http: // localhost: 5005 / master% 20space / pauză", funcția (eroare, răspuns, corp) console.log,
Puteți vedea că este surprinzător de simplu: când lumina primește o comandă setPowerOn de la HomeKit, verifică dacă valoarea este 1 (sau adevărată) și care indică faptul că pinge adresa URL Sonos HTTP API pentru a reda această playlist. Dacă este altceva (de exemplu, 0, false), el trimite comanda de pauză. Reporniți-vă serverul HAP-NodeJS, apoi continuați cu un dispozitiv iOS și urmați aceeași procedură ca înainte pentru a adăuga falsul “Playlist romantic” ușoară (veți avea nevoie de codul de asociere 031-45-154).
Verificați că noul dvs. dispozitiv funcționează, apoi treceți mai departe. Dacă vă simțiți la puțină programare, încercați să cartografiați modificările luminozității la volum (și partajați-vă codul în comentarii, vă rog!).
(Opțional) Lămpi de zăpadă și alte dispozitive de curent alternativ
S-ar putea să vă surprindă să aflați că nu există nici o lumină oficială HomeKit fairy și nici să găsesc prize de curent generice HomeKit care mi-au plăcut aspectul / prețul - așa că am bătut împreună un DIY folosind un disc NodeMCU / ESP8266 Dev Arduino Killer: ESP8266 Faceți cunoștință cu Killer-ul Arduino: ESP8266 Ce-ar fi dacă ți-aș spune că există o placă de disc compatibilă cu Arduino, cu Wi-Fi încorporat, pentru mai puțin de 10 $? Ei bine, există. Citiți mai multe, un releu și o priză standard de două baterii. Nu voi detalia hardware-ul prea mult pe măsură ce nu ar trebui să puneți lucrurile în prizele de conectare dacă nu sunteți total încrezători în acest gen de lucruri, dar vă voi furniza codul meu pentru partea NodeMCU a lucrurilor (conectați releu de declanșare la pin D2 / GPIO4), și accesoriu pentru a merge cu ea.
Ca și lumina Wi-Fi, aceasta comunică comenzi pe un canal MQTT (“bedroomplug”), astfel încât va trebui să modificați codul cu adresa brokerului dvs. MQTT (consultați partea 2 a ghidului nostru OpenHAB cu privire la modul de creare a unui broker MQTT OpenHAB Ghidul începătorului Partea 2: ZWave, MQTT, Reguli și cartografiere OpenHAB Ghidul începătorului 2: ZWave, MQTT, Reguli și Charting OpenHAB, software-ul pentru automatizarea casei open source, depășește cu mult capabilitățile altor sisteme de automatizare a locuințelor de pe piață - dar nu este ușor de configurat. Mai mult), schimbați numele canalelor dacă doriți și, bineînțeles, introduceți propriile detalii Wi-Fi.
Punând-o pe toți împreună
În sfârșit, o să facem ceva “scene” utilizând aplicația Elgato Eve sau managerul dvs. preferat HomeKit. În parlamentul HomeKit, o scenă poate consta din orice număr de accesorii și comenzi pentru aceste accesorii.
Poți numi o scenă cât vrei și Siri va fi capabil să se potrivească chiar fără să spună “setați scenă”. Așa că am făcut două scene: unul a sunat “copiii sunt în pat”, si altul “hai să devenim serioși acum”.
Primul dezactivează una dintre luminile Hue, transformă cealaltă în roz, apoi pornește accesoriul romantic de redare și lumina de zână. Ultimul face din nou lumina albă și o întrerupe pe Sonos (de ex. Oprește accesoriul de redare romantic). simples!
Sper că v-ați bucurat de acest tutorial și puteți vedea cu adevărat cum putem extinde controlul Siri asupra oricărui lucru fără probleme, datorită puterii HAP-NodeJS. Există ceva pentru care doriți să vedeți acțiuni speciale pentru Siri? Spuneți-ne în comentariile dvs. și spuneți-vă cum ați folosit Siri pentru a vă controla casa.
Explorați mai multe despre: Raspberry Pi, Siri, Sonos.