Slide 1

Slide 1 text

͘͘͢͢ʂࢠҭͯΤϯδχΞ Meetup #2 ࢠҭͯΛ͸͡Ίͯ2.5೥ͷৼΓฦΓ ~ ςΫϊϩδʔͱ૑ҙ޻෉ͰՈఉͱࢠҭͯΛϋοΫ͍ͨ͠ ~ @tknzk

Slide 2

Slide 2 text

Me & Family • @tknzk (Takumi Kanzaki) • SmartHR ͰόοΫΤϯυΑΓͷιϑτ΢ΣΞΤϯδχΞ • ࠺ • σδλϧίϯςϯπͷϓϩσϡʔαʔ / WebσΟϨΫλʔ • ່ • ver 2.5.x / อҭԂ3೥໨

Slide 3

Slide 3 text

ϒϩά • ՈఉΛࢧ͑Δٕज़ • 2014 ~ 2017 • ࢠҭͯΤϯδχΞɾΫϦΤΠλʔ • 2016 ~ 2017

Slide 4

Slide 4 text

ࢠҭͯ։࢝ 2015೥ळ

Slide 5

Slide 5 text

ࢠҭͯʹؔ͢Δ෉්ؒͷڞ௨ೝࣝ લఏ • ࢲͷ࣮Ո • छࢠౡ ! • ࠺ͷ࣮Ո • ࣄۀΛӦΜͰ͓Γݱ໾όϦόϦ..!

Slide 6

Slide 6 text

ࢠҭͯʹؔ͢Δ෉්ؒͷڞ௨ೝࣝ લఏ • ෉්Ͱ΍͍͔ͬͯ͘͠ͳ͍ʂ

Slide 7

Slide 7 text

ࢠҭͯʹؔ͢Δ෉්ؒͷڞ௨ೝࣝ ํ਑ • ͪΐͬͱͨ͠ετϨε͸ ػցͱ Ͱղܾ

Slide 8

Slide 8 text

ࢠҭͯʹؔ͢Δ෉්ؒͷڞ௨ೝࣝ • ϋʔυ: ৯ચػ, ϧϯό, ચ୕ס૩ػ • ιϑτ: GoogleCalendar, Slack, Github • ৘ใΛΦʔϓϯʹ͠ඞཁͳͱ͖ʹඞཁͳ৘ใʹͦΕͧΕΞΫη εͰ͖ΔΑ͏͓ͯ͘͠

Slide 9

Slide 9 text

ଞʹಋೖͨ͠΋ͷ • ιʔγϟϧωʔϜ • ່ͷຊ໊ΛSNSʹ࿐ग़ͨ͘͠ͳ͍.. • ༑ਓͨͪ΋ؾܰʹSNSʹ౤ߘͰ͖ͯศར

Slide 10

Slide 10 text

ՈఉͱࢠҭͯΛϋοΫ ίϯηϓτ • ϋοΫΛ໨తʹ͠ͳ͍Α͏ʹ • ੡඼Խ͞Εͨ΋ͷΛ૊Έ߹Θͤͯ • ͪΐͬͱͨ͠ετϨεΛͳ͘͢

Slide 11

Slide 11 text

ՈఉͱࢠҭͯΛϋοΫ • ۩ମྫ • GoogleHome (w/ NatureRemo, SwitchBot) • ϊϯετοϓө૾ίϯςϯπମ੍

Slide 12

Slide 12 text

GoogleHome • VUIศར • ࢠڙͷ૬खΛ͍ͯͯ྆͠ख͕࠹͕͍ͬͯΔͱ͖ • ৸͔͚ͭ͠தͰಈ͘ͱ΍͹͍ͱ͖

Slide 13

Slide 13 text

GoogleHome • ςϨϏΛ͚ͭͨΓ (w/ NatureRemo) • র໌Λফͨ͠Γ (w/ NatureRemo) • চஆΛ͚ͭͨΓ (w/ SwitchBot) • ͓෩࿊Λڅ౬ͨ͠Γ (w/ SwitchBot) • ఱؾ༧ใΛฉ͍ͨΓ • ϥδΦΛฉ͍ͨΓ

Slide 14

Slide 14 text

GoogleHome • ࠺΋هࣄΛॻ͍ͯ·͢(Yahoo!͓ՈϚΨδϯ) • ࢠҭ͕ͯϥΫʹͳΔ!?Google HomeΛ࢖ͬͯΈͨ • https:/ /realestate.yahoo.co.jp/magazine/fuufumanzai/ 20171108-00009795

Slide 15

Slide 15 text

GoogleHome ͷ࿈ܞ • جຊతʹ IFTTT Λܦ༝ • ෳ਺ͷॲཧΛҰ౓ʹ͍ͨ͠৔߹ • Google Cloud Function ܦ༝ͯ͠ IFTTT Λୟ͘

Slide 16

Slide 16 text

ࠓճͷൃදͰΤϯδχΞతͳ ཁૉ͚ͩ͜͜Ͱ͢

Slide 17

Slide 17 text

GoogleHome ෳ਺࿈ܞͷ࢓૊Έ 1. GoogleAssistantͷϑϨʔζͰIFTTTͷWebhookΛىಈ 2. WebhookΛ GCF Λࢦఆ 3. GCF ͕ IFTTT Maker Webhook Λෳ਺ୟ͘ 4. IFTTT ͕ͦΕͧΕΛॲཧ

Slide 18

Slide 18 text

GCF 'use strict'; var request = require('request'); var config = require('config'); var iftttKey = config.IFTTT.key; var requestToken = config.IFTTT.request_token; exports.callIFTTTWebhook = (req, res) => { if (req.body.secret != requestToken) return; var triggers = req.body.triggers; for( var i in triggers) { var url = 'https://maker.ifttt.com/trigger/' + triggers[i] + '/with/key/' + iftttKey; var options = { url: url, method: 'POST', headers: { 'Content-Type':'application/json' } }; request(options, callback); } function callback(error, response, body) { if (error == true) { console.log(body); } } // send status res.status(200).send('ok'); };

Slide 19

Slide 19 text

࣮ࡍʹՔಇ͍ͤͯ͞Δ΋ͷ • র໌ͷશ఺౮/ফ౮ • Remo Ͱ؅ཧͯ͠Δී௨ͷর໌ • Hue

Slide 20

Slide 20 text

GoogleHome • ່͕ ʮ͓ʔ͚ʔ ͙Δ͙ΔʯΛ֮͑ͨʂ • ίϚϯυΛ࣮ߦ͢Δͷ΋ؒ΋ͳ͘..! • νϟϯωϧݖ૪͍͕..!

Slide 21

Slide 21 text

GoogleHome ࠓޙ • GoogleHomeΛ஻Β່ͤͯͷఆظ࣮ߦΛଅ͢࢓૊ΈΛೖΕ͍ͨ • ࣃຏ͖ͱ͔τΠϨͱ͔ • ேͷ਎ࢧ౓ͱ͔

Slide 22

Slide 22 text

ө૾ίϯςϯπϊϯετοϓମ੍ • ࣗ୐ͷࢸΔॴͰө૾ΛݟͤΒΕΔΑ͏ʹ੔උ

Slide 23

Slide 23 text

ө૾ίϯςϯπϊϯετοϓମ੍ • ϦϏϯά: ςϨϏ • ৸ࣨ: ϓϩδΣΫλ • ෩࿊: FireλϒϨοτ (δοϓϩοΫศརʂ)

Slide 24

Slide 24 text

ө૾ίϯςϯπϊϯετοϓମ੍

Slide 25

Slide 25 text

ө૾ίϯςϯπϊϯετοϓମ੍ • ͳͥ͜͜·Ͱ͔ͭͬͨ͘?

Slide 26

Slide 26 text

ө૾ίϯςϯπϊϯετοϓମ੍ • ΠϠΠϠظೖ່ͬͨ • ͓෩࿊ɺ৸ࣨʹߦ͔ͳ͘ͳͬͯ͠·ͬͨ.. • ່͕εΩͳಈըͰ௼ΓͭͭɺҠಈͤ͞Δ

Slide 27

Slide 27 text

ө૾ίϯςϯπϊϯετοϓମ੍ • ΋ͪΖΜɺө૾ίϯςϯπΛͲ͜·Ͱݟ͍͍ͤͯͷ͔೰Ή • ͋Δఔ౓ ਌ͷΤΰͰݟͤΔίϯςϯπ͸ߜΔ • δΣϯμʔతʹΈ͖͍ͯͭͷ΋͋ͬͨΓ͠·͢͠..

Slide 28

Slide 28 text

ө૾ίϯςϯπϊϯετοϓମ੍ • Super Simple Songs (YouTube) • ӳޠͷՎΛֶ͹ͤΔͱ͍͏ςΠ

Slide 29

Slide 29 text

ө૾ίϯςϯπϊϯετοϓମ੍ • ͙ʔͪΐ͖ͺʔͯ͌ʔ(Hulu) • ͏ͨͱμϯεΛֶ͹ͤΔͱ͍͏ςΠ

Slide 30

Slide 30 text

͜Ε͔Β

Slide 31

Slide 31 text

ୈೋࢠ • 4݄຤σϓϩΠ༧ఆ • ૣੜ·ΕΛ໔Εͨʂ • ͳΜͳΒ΋͏ੜ·Εͦ͏..!

Slide 32

Slide 32 text

ୈೋࢠ • 2ਓͷҭࣇ͸ผ࣍ݩͷ͖͕ͭ͋͞Γͦ͏ • ະ஌ͷྖҬ

Slide 33

Slide 33 text

σʔλ؅ཧ • ͓Ήͭ/ϛϧΫ ͷه࿥ • લճେձ(່ͷͱ͖) ͸खॻ͖ͰϩάΛͱ͍ͬͯͨ • ϛϧΫͷ࣌ؒΛݻఆͨ͠Γ • ӡ༻্ͷ޻෉

Slide 34

Slide 34 text

σʔλ؅ཧ • ΋ͬͱखܰʹσʔλΛͱΔ޻෉Λ͍ͨ͠ • GoogleHome ͰԻ੠ input • ͏Μ͜Ϙλϯ !

Slide 35

Slide 35 text

͓ΘΓ • ςΫϊϩδʔͱ૑ҙ޻෉ͰՈఉͱࢠҭͯΛϋοΫ͍͖ͯͨ͠ ͍ʂ • ෳ਺ͷࢠڙΛҭࣇ͍ͯ͠Δํͷ஌ݟ͕ཉ͍͠Ͱ͢ʂ

Slide 36

Slide 36 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ