Kedves Olvasó!
Ennek a cikknek megírására azért szántam rá magam, mert az előző cikkben megemlítettem, hogy készíteni fogok egy egyszerű IFTTT alkalmazást azért, hogy bemutassam, hogyan is működik ez a szolgáltatás a Google Home minivel. Az IFTTT szolgálgatással és a Google Home minivel, a PC bekacsolása a cél.
Az IFTTT alkalmazás bemutatásához, azért ezt a példát választottam, mert számomra már minden bemeneti feltétel adott volt, a gyors beállításhoz. Sajnos mostanában elég sok kötelező jellegű programom volt, aminek következtében elég kevés időm jutott a hobbira. (Vár még a fiókban egy Ublox Neo-6 és egy SIM800L). Nem szaporítva a szót lássuk, hogy mivel kell rendelkezni ahhoz, hogy ezt a projektet sikeresen abszolváljuk.
- Bármilyen Google Assistant kompatibilis eszközzel (Ha nem szeretnénk vásárolni vagy babrálni a telefonunkkal, akkor a nyílt forrású változat telepítéséhez itt találunk leírást.)
- Egy Wake On LAN kompatibilis hálókártyával. (Pár beállítási javaslat itt elérhető.)
- Egy NAT-olt otthoni webszerverrel. (Nálam ez Bananpi + Csoda T-Home + Csoda Sagemcom router + No-IP)
- És végül de nem utolsó sorban egy IFTTT fiókra lesz szükségünk.
Abban esetben ha valakinek dual OS-el van telepítve a PC-je, akkor nem árt a Grub-ban előre tolni a Windows-t ha azt használja sűrűbben. Ennek egyszerű oka van. A hangvezérlésnek, csak akkor van értelme, ha nem kell még a bekapcsolás után a nyilakkal OS-t választani. Nálam a Steam OS elhibázott Linuxos változata miatt a WIN7 van elől.
Első lépésben nézzük meg a webszerver oldali részt. Ez semmi más csak egy egyszerű PHP fájl.
<?php $mymac = "20:cf:30:8e:ac:51"; wol("255.255.255.255", $mymac); function wol($broadcast, $mac){ $mac_array = preg_split('#:#', $mac); $hwaddr = ''; foreach($mac_array AS $octet){ $hwaddr .= chr(hexdec($octet)); } //Magic Packet $packet = ''; for ($i = 1; $i <= 6; $i++){ $packet .= chr(255); } for ($i = 1; $i <= 16; $i++){ $packet .= $hwaddr; } //set up socket $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($sock){ $options = socket_set_option($sock, 1, 6, true); if ($options >=0){ $e = socket_sendto($sock, $packet, strlen($packet), 0, $broadcast, 7); socket_close($sock); } } } ?>
A $mymac változóba beillesztjük a saját MAC címünket, és mentés után mehet is fel a webszerverre a php fájl.
Ezután, már nincs más dolgunk, mint az IFTTT-n összehozni az Assistant-ot egy Webhook-kal.
A My Applets menüpont alatt kattintsunk a New Applet gombra, és menjünk végig az alábbi lépéseken.
1. Kattintsunk a kék „+this” szövegre.
2. A kereséssel válasszuk ki a Google Assistant szolgáltatást.
3. Válasszuk ki a Say a simple phrase lehetőséget.
4. Adjuk meg értelemszerűen, azt hogy mit mondunk az Assistantnak, és hogy ő mit válaszoljon erre, majd nyomjuk meg a „Create a trigger” gombot.
5. Kattintsunk a „+that” szövegre.
6. A szolgáltatások közül válasszuk ki a Webhook-ot.
7. Válasszuk ki az egyetlen lehetőséget.
8. Adjuk meg a PHP fájl URL-jét, és kattintsunk a „Create Action” gombra. (Semmi egyebet nem kell megadni)
Ha minden egyéb beállítás jó a rendszerben a következőt kell hogy lássuk:
A videó minőségéért, így utólag is elnézést kérek, nem vagyok az az átlag streamer, akinek többszázezres eszközei vannak. Ellenben, a videón jól hallható az is, hogy ha betűmozaik szavakat szeretnénk használni, azt elég erőteljesen tagoltan kell kiejteni, mert különben elsőre simán visszautasítja a kérést a Google Assistant. Szerencsére minden elhangzott kérés után tanul az Assistant, ezért már nyugodt szívvel tudom neki mondani egyben is a „PC” kifejezést.
Szerencsére az IFTTT applet létrehozásánál több szöveget is megadhatunk egyazon feladat végrehajtásához.
Remélem, annak aki hasonlóan hangvezéreltté szeretné tenni az életterét annak ez a leírás segítség volt. Ha valakinek valamilyen kérdése merülnek fel, az keressen bátran.