Jak używać Siri, aby ustawić scenę na romans

  • Harry James
  • 0
  • 2651
  • 256
Reklama

Wczoraj pokazaliśmy Ci, jak stworzyć lampę Wi-Fi dla majsterkowiczów Jak zrobić lampkę Wi-Fi kontrolowaną przez Siri DIY Jak zrobić lampkę Wi-Fi kontrolowaną przez Siri DIY W tym przewodniku dowiesz się, jak tworzyć kontrolowane światło Wi-Fi i steruj nim za pomocą Siri. które można kontrolować za pomocą Siri; dzisiaj wykorzystamy tę wiedzę, aby Siri również współpracowała z systemem dźwiękowym Sonos, a następnie połączy to wszystko w romantyczną scenę.

Sprawdź wynik końcowy:

Powyższe wideo nie zostało sfałszowane ani zainscenizowane - wszystko jest możliwe przy użyciu Siri i poniższego przewodnika. Nie jest wymagane jailbreak, choć jest trochę programowania, dla którego dostarczyłem kod.

Rzeczy, których będziesz potrzebować:

  • Raspberry Pi
  • urządzenie z systemem iOS
  • Kolorowe oświetlenie kompatybilne z Siri, takie jak Philips Hue z hubem 2. generacji lub nasze oświetlenie Wi-Fi dla majsterkowiczów
  • Sonos (lub inne urządzenie odtwarzające z API HTTP)
  • (Opcjonalnie) NodeMCU / ESP8266, przekaźnik i gniazda zasilania; lub komercyjne akcesorium do gniazdka elektrycznego HomeKit

Dlaczego jest to tak skomplikowane?

HomeKit i sterowanie urządzeniami za pomocą sterowania głosowego jest naprawdę miłe. Niestety, zamkniętym ekosystemem, jakim jest Apple, HomeKit jest ograniczony do kilku urządzeń. Sonos nie jest jednym z nich. Jednak, nie wszystko stracone. Dzięki niektórym pracowitym hakerom protokół HomeKit został niedawno poddany inżynierii wstecznej i, jak pokazano w naszym ostatnim projekcie, możesz teraz tworzyć własne fałszywe urządzenia HomeKit. Wykorzystamy to.

Zacznij od wykonania naszego samouczka dotyczącego lampek Wi-Fi DIY Jak wykonać lampkę Wi-Fi DIY Siri Jak wykonać lampkę Wi-Fi DIY Siri W tym przewodniku dowiesz się, jak utworzyć Wi- Fi Fi kontrolowane światło i kontroluj je za pomocą Siri. , ponieważ będzie to stanowić podstawę wszystkiego innego. W rzeczywistości, jeśli nie masz jeszcze systemu oświetleniowego Philips Hue, możesz śmiało zbudować oświetlenie Wi-Fi opisane w tym samouczku.

Nawet jeśli masz system Hue, przejdź do samouczka, ponieważ musisz stworzyć fałszywe akcesoria HomeKit do wszystkiego innego (kod podany poniżej). Kontynuując ten przewodnik, założę, że masz już uruchomiony serwer HAP-NodeJS, z powodzeniem dodałeś fałszywe światło i przetestowałem serwer, nawet jeśli nie jest podłączony do rzeczywistego zestawu DIY sprzęt komputerowy.

Stwórz listę odtwarzania

Śmiało i utwórz nową listę odtwarzania Sonos o nazwie “Romantyk”. Nie musi to być dokładnie ta sama nazwa, ale będziesz musiał później dostosować skrypty akcesoriów, jeśli je zmienisz. Dodałem trochę utworów Marvina Gaye i Sade'a. Gładki.

Następnie na Raspberry Pi z systemem HAB-NodeJS (jeśli nie wiesz, o czym mówię, nie przeczytałeś samouczka dotyczącego światła Wi-Fi. Zrób to pierwszy), przejdź do katalogu domowego i wpisz następujące polecenie, aby zainstalować interfejs API HTTP dla Sonos. To da nam adres URL, który możemy pingować, aby wywołać określone działania na Sonos.

klon git https://github.com/jishi/node-sonos-http-api.git sonos cd sonos npm instalacja produkcja npm instalacja basic-auth sonos-discovery request-fu request-obiecanie węzeł-statyczny async npm start

Jeśli zobaczysz komunikat o braku takiego modułu, po prostu zrób inny instalacja npm i nazwę modułu, a następnie spróbuj npm start jeszcze raz. Możliwe, że miałem już kilka modułów zainstalowanych globalnie z innych projektów i być może będziesz musiał zainstalować więcej. Mam nadzieję, że zobaczysz coś takiego:

Gratulacje, teraz masz prosty interfejs HTTP API, którego możesz użyć do uruchomienia Sonos. Przeczytaj dokumentację zawierającą pełną listę poleceń, ale format, który najbardziej nas interesuje, to:

http: // [SERWER IP]: 5005 / [NAZWA POKOJU] / [DZIAŁANIE]

lub jako konkretny przykład:

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

Sprawa nie wydaje się mieć znaczenia. % 20 to kodowanie znaków spacji w adresie URL, ale powinieneś być w stanie wpisać również rzeczywistą spację, a Twoja przeglądarka automatycznie ją skonwertuje. Powyższe polecenie po prostu uruchamia romantyczną listę odtwarzania na urządzeniu Master Bedroom. Użyj pauza polecenie zatrzymania:

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

Poza tym API daje nam także funkcję, która przyda się naprawdę w innych projektach: możliwość wypowiedzenia określonej instrukcji, np. Powiadomienia, a następnie kontynuowania odtwarzania bieżącej kolejki. Próbować:

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

Gdy to zrobisz po raz pierwszy, otrzymasz wiadomość o konieczności rejestracji na klucz API na VoiceRSS.org [No Longer Available] (nawet 350 żądań dziennie jest bezpłatnych). Po zakończeniu wpisz:

nano settings.json

i wklej swój klucz do następującego przykładu:

„voicerss”: „YOURAPIKEY”

Uruchom ponownie serwer i ponownie pinguj adres URL. Po kilku sekundach powinieneś usłyszeć wspaniały angielski głos. Możesz zmienić koniec adresu URL na en-us jeśli wolisz głos amerykański. Schludny! Zupełnie nieistotny dla tego projektu, ale i tak porządny!

Na koniec, uruchommy ponownie serwer po zrestartowaniu Pi:

sudo nano /etc/rc.local

Dodaj linię przed wyjście 0:

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

CTRL-X, Y, aby zapisać. Możesz zobaczyć, że działam razem z OpenHAB, wykrywaczem obecności DIY Bluetooth i serwerem HomeKit HAP-NodeJS - powinieneś już mieć to uruchomione, jeśli już postępowałeś zgodnie z wymaganym samouczkiem dotyczącym światła Wi-Fi.

Tworzenie urządzenia HomeKit dla Sonos

Istotą tego projektu jest to, że Sonos nie może być kontrolowany przez Siri, jednak możemy dodać pewien stopień kontroli, tworząc fałszywe urządzenie HomeKit, które aktywuje określoną listę odtwarzania po jej włączeniu - fałszywe światło jest najłatwiejszym sposobem, aby to zrobić.

Przejdź do swojego HAP-NodeJS / najpierw katalogu i zainstaluj “żądanie” moduł.

żądanie instalacji sudo npm

Następnie zeskocz do Akcesoria/ i pobierz moje wstępnie przygotowane urządzenie za pomocą następującego prostego polecenia:

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

W razie potrzeby wprowadź zmiany - jest to ustawione na domyślny Sonos “Główna sypialnia” lokalizację, więc zmień ciąg master% 20bedroom w kierunku początku kodu, jeśli chcesz, aby został skierowany do innego pokoju. Ponieważ sfałszowaliśmy, że jesteśmy światłem, wysłanie polecenia jasności właściwie nic nie da, chociaż w pewnym momencie zaktualizuję to, aby poradzić sobie z głośnością. To jest blok kodu, który wykonuje magię:

setPowerOn: function (on) console.log ("Włączanie światła% s!", on? "on": "off"); FAKELIGHT.powerOn = wł .; console.log (on); if (on) request ('http: // localhost: 5005 / master% 20bedroom / playlist / romantic', funkcja (błąd, odpowiedź, treść) console.log („Wysłane żądanie odtwarzania”);) else  request („http: // localhost: 5005 / master% 20bedroom / pause”, funkcja (błąd, odpowiedź, treść) console.log („Wysłano żądanie wstrzymania”);), 

Widzisz, jest to zaskakująco proste: gdy światło otrzymuje polecenie setPowerOn z HomeKit, sprawdza, czy wartość wynosi 1 (lub prawda), i który punkt pinguje adres URL Sonos HTTP API, aby odtworzyć tę listę odtwarzania. Jeśli jest coś jeszcze (np. 0, fałsz), wysyła polecenie pauzy. Uruchom ponownie serwer HAP-NodeJS, a następnie przejdź do urządzenia z systemem iOS i postępuj zgodnie z tą samą procedurą, jak poprzednio, aby dodać fałszywy “Romantyczna lista odtwarzania” światło (potrzebny będzie kod parowania 031-45-154).

Sprawdź, czy nowe urządzenie działa, a następnie przejdź dalej. Jeśli masz ochotę na małe programowanie, spróbuj zmapować zmiany jasności do głośności (i udostępnij swój kod w komentarzach!).

(Opcjonalnie) Oświetlenie bajki i inne urządzenia prądu przemiennego

Może cię to zaskoczyć, gdy dowiesz się, że nie ma żadnych oficjalnych lampek wróżek HomeKit, ani nie mogę znaleźć żadnych ogólnych gniazdek HomeKit, które podobałyby mi się wyglądem / ceną - więc złączyłem DIY z wykorzystaniem płyty deweloperskiej NodeMCU / ESP8266 Poznaj the Arduino Killer: ESP8266 Poznaj Arduino Killer: ESP8266 Co jeśli powiem ci, że jest płyta deweloperska kompatybilna z Arduino z wbudowanym Wi-Fi za mniej niż 10 $? Cóż, jest. , przekaźnik i standardowe podwójne gniazdo zasilania. Nie będę szczegółowo opisywał sprzętu, ponieważ nie powinieneś wkładać rzeczy do gniazd wtyczki, jeśli nie jesteś do końca tego pewien, ale dam ci mój kod po stronie NodeMCU (podłącz przekaźnik wyzwalający na pin D2 / GPIO4), a akcesorium do niego dołączone.

Podobnie jak lampka Wi-Fi, przekazuje polecenia na kanale MQTT (“bedroomplug”), więc musisz zmodyfikować kod za pomocą adresu brokera MQTT (sprawdź część 2 naszego przewodnika OpenHAB na temat konfigurowania brokera MQTT Przewodnik dla początkujących OpenHAB Część 2: ZWave, MQTT, zasady i wykresy Przewodnik dla początkujących OpenHAB Część 2: ZWave, MQTT, reguły i wykresy OpenHAB, oprogramowanie do automatyki domowej o otwartym kodzie źródłowym, znacznie przewyższa możliwości innych systemów automatyki domowej na rynku - ale konfiguracja nie jest łatwa. W rzeczywistości może być wręcz frustrująca). , jeśli chcesz, zmień nazwy kanałów i oczywiście wprowadź własne dane dotyczące Wi-Fi.

Kładąc wszystko razem

Wreszcie, zrobimy trochę “sceny” za pomocą aplikacji Elgato Eve lub preferowanego menedżera HomeKit. W języku HomeKit scena może składać się z dowolnej liczby akcesoriów i poleceń do tych akcesoriów.

Możesz nazwać scenę, co chcesz, a Siri będzie w stanie ją dopasować nawet bez słowa “dekoracje”. Zrobiłem więc dwie sceny: jedna o nazwie “dzieci są w łóżku”, i kolejny “mówmy teraz poważnie”.

Ten pierwszy wyłącza jedno ze świateł Hue, drugie zmienia kolor na różowy, a następnie włącza akcesoria romantycznej listy odtwarzania i światła bajki. Ten ostatni sprawia, że ​​światła znów stają się białe, i zatrzymuje Sonos (tj. Wyłącza romantyczne akcesorium z listy odtwarzania). Simples!

Mam nadzieję, że podobał ci się ten samouczek i naprawdę widzisz, jak możemy rozszerzyć kontrolę Siri na wszystko bez większych problemów, dzięki mocy HAP-NodeJS. Czy jest coś, dla czego chciałbyś zobaczyć jakieś specjalne działania Siri? Daj nam znać w komentarzach i powiedz nam, jak używasz Siri do kontrolowania swojego domu.




Jeszcze bez komentarzy