Sådan bruges Siri til at indstille scenen til romantik

  • William Charles
  • 0
  • 2176
  • 207
Reklame

I går viste vi dig, hvordan man opretter et DIY Wi-Fi-lys Sådan laves et DIY Siri-kontrolleret Wi-Fi-lys Sådan opretter du en DIY Siri-kontrolleret Wi-Fi-lys I denne guide skal du lære at oprette et Wi-Fi-kontrollerbart lys, og styr det med Siri. det kunne kontrolleres med Siri; i dag skal vi bygge videre på denne viden for at få Siri til at arbejde med et Sonos-lydsystem og derefter sætte det hele sammen i en romantisk scene.

Tjek slutresultatet:

Videoen ovenfor blev ikke forfalsket eller iscenesat - alt er muligt ved hjælp af Siri og guiden nedenfor. Ingen jailbreak er påkrævet, skønt der er noget programmering, som jeg har angivet koden til.

Ting, du har brug for:

  • Hindbær Pi
  • iOS-enhed
  • Siri-kompatibel farvet belysning, såsom Philips Hue med en 2. generations hub, eller vores DIY Wi-fi-lys
  • Sonos (eller anden afspilningsenhed med et HTTP API)
  • (Valgfrit) NodeMCU / ESP8266, relæ og stikkontakter; eller et kommercielt tilbehør til HomeKit-stikkontakt

Hvorfor er dette så kompliceret?

HomeKit, og kontrol af dine enheder gennem stemmestyring er virkelig pænt. Desværre er det lukkede økosystem, som Apple er, HomeKit begrænset til en håndfuld enheder. Sonos er ikke en af ​​dem. Alt går dog ikke tabt. Takket være nogle hårdtarbejdende hackere blev HomeKit-protokollen for nylig reverse engineering, og som demonstreret i vores sidste projekt kan du nu oprette dine egne falske HomeKit-enheder. Vi drager fordel af det.

Start med at følge vores DIY Wi-Fi-lysvejledning Sådan opretter du en DIY Siri-kontrolleret Wi-Fi-lys Sådan opretter du en DIY Siri-kontrolleret Wi-Fi-lys I denne vejledning lærer du, hvordan man opretter et Wi- Fi-kontrollerbart lys, og styr det med Siri. , fordi det vil danne grundlaget for alt andet. Faktisk, hvis du ikke allerede har et Philips Hue-belysningssystem, kan du gå videre og faktisk bygge det Wi-Fi-lys, der er beskrevet i denne tutorial.

Selvom du har et Hue-system, skal du fortsætte med at følge vejledningen, fordi du bliver nødt til at oprette falske HomeKit-tilbehør til alt andet (kode nedenfor). Ved at fortsætte med denne vejledning antager jeg, at du allerede har HAP-NodeJS-serveren kørt, og har med succes tilføjet et falsk lys og testet serveren, selvom den ikke er forbundet til en faktisk bit DIY hardware.

Lav en playliste

Gå videre og opret en ny Sonos-spilleliste med navnet “Romantisk”. Det behøver ikke at være nøjagtigt det samme navn, men du skal justere tilbehørsskriptene senere, hvis du ændrer det. Jeg har tilføjet nogle Marvin Gaye og Sade spor til mine. Glat.

Dernæst over på Raspberry Pi, der kører HAB-NodeJS (hvis du ikke ved, hvad jeg taler om, læste du ikke Wi-Fi-lysvejledningen. Gør det først), naviger til dit hjemmekatalog, og skriv følgende for at installere HTTP API for Sonos. Dette vil give os en web-URL, som vi kan pinge for at udløse visse handlinger på Sonos.

git klon https://github.com/jishi/node-sonos-http-api.git sonos cd sonos npm installere produktion npm installere basic-authent sonos-discovery kræve-fu anmodning-løfte node-statisk async npm start

Hvis du ser en meddelelse om et sådant modul ikke findes, skal du bare gøre en anden npm installation og modulnavnet, og prøv derefter npm start igen. Det er muligt, at jeg allerede har installeret nogle moduler globalt fra andre projekter, og du skal muligvis installere mere. Forhåbentlig vil du se noget lignende:

Tillykke, du har nu et simpelt HTTP API, du kan bruge til at udløse dine Sonos. Læs dokumentationen for den komplette liste over kommandoer, men det format, vi er mest interesseret i, er:

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

eller som et specifikt eksempel:

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

Det ser ud til, at sag ikke betyder noget. % 20 er en URL-kodning af et mellemrumstegn, men du skal også kunne indtaste en faktisk plads, og din browser konverterer det automatisk. Kommandoen ovenfor udløser ganske enkelt den romantiske afspilningsliste til Master Bedroom-enheden. Brug pause kommando til at stoppe det:

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

Bortset fra giver API'en os også en funktion, der kommer meget praktisk til andre projekter: muligheden for at sige en bestemt erklæring, som en anmeldelse, og derefter fortsætte med at spille den aktuelle kø. Prøve:

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

Første gang du gør dette, får du en besked om at skulle registrere dig til en API-nøgle på VoiceRSS.org [No Longer Available] (op til 350 anmodninger om dagen er gratis). Når du er færdig med det, skal du skrive:

nano-indstillinger.json

og indsæt din nøgle i følgende eksempel:

"voicerss": "YOURAPIKEY"

Genstart serveren, og vælg URL'en igen. Efter et par sekunder skulle du høre en dejlig engelsk stemme. Du kan ændre slutningen af ​​webadressen til en-os hvis du foretrækker en amerikansk stemme. Neat! Fuldstændigt irrelevant for dette projekt, men alligevel pænt!

Endelig, lad os få denne server til at starte igen, når Pi genstartes:

sudo nano /etc/rc.local

Tilføj en linje før Afslut 0:

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

CTRL-X, Y for at gemme. Du kan se, at jeg kører dette sammen med OpenHAB, en DIY Bluetooth-tilstedeværelsesdetektor og HAP-NodeJS HomeKit-serveren - du skal også have den kørt allerede, hvis du allerede fulgte den forudsatte Wi-Fi-lysvejledning allerede.

Oprettelse af en HomeKit-enhed til Sonos

Kernen i dette projekt er, at Sonos ikke kan kontrolleres af Siri, men vi kan tilføje en vis grad af kontrol ved at oprette en falsk HomeKit-enhed, der aktiverer en bestemt playliste, når vi tænder den - et falskt lys er den nemmeste måde at gøre dette på.

Naviger til din HAP-NodeJS / katalog først, og installer “anmodning” modul.

sudo npm installeringsanmodning

Spring derefter ned til tilbehør/ katalog og gre min premade-fixture med følgende enkle kommando:

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

Foretag nogle ændringer, hvis du har brug for det - dette er indstillet til standard Sonos “Soveværelse” placering, så skift streng mester% 20bedroom mod starten af ​​koden, hvis du ønsker, at den skal ledes til et andet rum. Da vi har forfalsket at være et lys, vil det at sende lysstyrke-kommandoen faktisk ikke gøre noget, selvom jeg på et tidspunkt opdaterer det for at tackle volumen. Dette er kodeblokken, der udfører magien:

setPowerOn: function (on) console.log ("Tænder lyset% s!", tændt? "on": "off"); FAKELIGHT.powerOn = on; console.log (on); hvis (on) anmodning ('http: // localhost: 5005 / master% 20bedroom / playlist / romantisk', funktion (fejl, svar, krop) console.log ("Send play-anmodning");) andet  anmodning ('http: // localhost: 5005 / master% 20bedroom / pause', funktion (fejl, respons, krop) console.log ("Send pause-anmodning");), 

Du kan se, at det er overraskende enkelt: Når lyset modtager en setPowerOn-kommando fra HomeKit, kontrollerer det for at se, om værdien er 1 (eller sand), og hvilket punkt det peger Sonos HTTP API url for at afspille denne playliste. Hvis det er noget andet (dvs. 0, falsk), sender det pausekommandoen. Genstart din HAP-NodeJS-server, start derefter videre til en iOS-enhed og følg den samme procedure som før for at tilføje din falsk “Romantisk afspilningsliste” lys (du har brug for parringskoden 031-45-154).

Kontroller, at din nye enhed fungerer, og gå derefter videre. Hvis du føler dig op til en smule programmering, kan du prøve at kortlægge lysstyrkeændringerne til lydstyrken (og del din kode i kommentarerne, tak!).

(Valgfrit) Eventyrlygter og andre vekselstrømsanordninger

Det kan overraske dig at lære, at der ikke er nogen officielle HomeKit-fe-lys, og jeg kunne heller ikke finde nogen generelle HomeKit-stikkontakter, som jeg kunne lide udseendet / prisen på - så jeg bankede sammen en DIY ved hjælp af et NodeMCU / ESP8266 dev board Meet Arduino Killer: ESP8266 Mød Arduino Killer: ESP8266 Hvad hvis jeg fortalte dig, at der er et Arduino-kompatibelt dev-kort med indbygget Wi-Fi for mindre end $ 10? Det er der godt. , et relæ og en standard to-bends stikkontakt. Jeg vil ikke detaljere hardware for meget, da du ikke skulle lægge ting i stikkontakter, hvis du ikke er helt sikker på den slags ting, men jeg vil give dig min kode til NodeMCU-siden af ​​tingene (tilslut relæ-trigger til pin D2 / GPIO4), og tilbehøret, der følger med det.

Ligesom Wi-Fi-lyset kommunikerer dette kommandoer på en MQTT-kanal (“bedroomplug”), så du bliver nødt til at ændre koden med din MQTT-mægleradresse (se del 2 i vores OpenHAB-guide om, hvordan du opretter en MQTT-mægler OpenHAB Begyndersvejledning Del 2: ZWave, MQTT, regler og kortlægning af OpenHAB Beginners vejledningsdel 2: ZWave, MQTT, regler og kortlægning OpenHAB, open source-hjemmeautomatiseringssoftwaren, overstiger langt flere mulighederne for andre hjemmeautomatiseringssystemer på markedet - men det er ikke let at blive opsat. Det kan faktisk være direkte frustrerende.) , ændre kanalnavne, hvis du ønsker det, og indtast selvfølgelig dine egne Wi-Fi-oplysninger.

Samler det hele

Endelig skal vi lave nogle “scener” ved hjælp af appen Elgato Eve eller din foretrukne HomeKit-manager. I HomeKit-parlance kan en scene bestå af et hvilket som helst antal tilbehør og kommandoer til dette tilbehør.

Du kan navngive en scene, hvad du end vil, og Siri vil kunne matche den selv uden at sige “sæt scene”. Så jeg har lavet to scener: en kaldet “børnene er i sengen”, og en anden “lad os blive seriøse nu”.

Førstnævnte slukker det ene af lyset på lyset, skifter det andet til lyserødt og tænder derefter det romantiske playlisttilbehør og fe-lysene. Sidstnævnte gør lysene hvide igen og sætter Sonos på pause (dvs. slukker det romantiske playlisttilbehør). simples!

Jeg håber, at du har haft glæde af denne tutorial, og virkelig kan se, hvordan vi kan udvide Siri-kontrol til noget uden alt for mange problemer takket være kraften i HAP-NodeJS. Er der noget, du gerne vil se nogle specielle Siri-handlinger til? Fortæl os det i kommentarerne, og fortæl os, hvordan du har brugt Siri til at kontrollere dit hjem.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.