最高の「いってきます」体験を支える技術 / Technology behind best "see you later" experience

462233d5aedf66a793dcd95f814f8811?s=47 mallowlabs
October 10, 2019

最高の「いってきます」体験を支える技術 / Technology behind best "see you later" experience

スマートスピーカー活用してますか?
私の家では「アレクサ、いってきます」と Amazon Echo に呼びかけると、家中のライトが消え、サーキュレーターとエアコンがオフになり、ルンバが掃除を開始し、雨が降りそうなら Slack に通知がきます。
今回はこの仕組みの裏側(Alexa / IRKit / Node-RED / IFTTT / Google Apps Script 等) についてお話します。

462233d5aedf66a793dcd95f814f8811?s=128

mallowlabs

October 10, 2019
Tweet

Transcript

  1. ࠷ߴͷ
 ʮ͍͖ͬͯ·͢ମݧʯ
 Λࢧ͑Δٕज़ @mallowlabs 2019-10-10 Misoca ΋͘ςΫ ळͷLTେձ

  2. ͜ͷൃදͷ໨త • εϚʔτεϐʔΧʔΛങͬͨ͸͍͍͚ͲɺλΠϚʔ ͘Β͍ʹ͔͠࢖͍ͬͯͳ͍ͱ͍͏࿩ΛΑ͘ฉ͖·͢ • զ͕ՈͰ͸ʮ͍͖ͬͯ·͢ʯͱݴ͏ͱɺ͞·͟·ͳ ࢓ֻ͚͕ಈ͘Α͏ʹઃఆ͍ͯ͠ΔͷͰɺͦͷ঺հͱ ཪଆͷઆ໌Λ͠·͢ • গ͠Ͱ΋εϚʔτεϐʔΧʔ׆༻ͷώϯτʹͳΕ͹

    خ͍͠Ͱ͢
  3. ࣗݾ঺հ • @mallowlabs Ͱ͢ɻࣾ಺Ͱ͸ʮ·ΖͿʯͱݺ͹Ε͍ͯ·͢ɻ • ౎಺ʹॅΜͰΔ Misoca ࣾһͰ͢ • Misoca

    ͸ϦϞʔτϫʔΫ͕Ͱ͖Δ͜ͱͰ༗໊ͳձࣾͰ͢ ͕౦ژͷ໻ੜΦϑΟεͰಇ͘͜ͱ΋Ͱ͖·͢ • ݁ߏͳׂ߹Ͱ౦ژͷ໻ੜΦϑΟεʹग़͍ࣾͯ͠·͢ • ※ Misoca ͸ΦϑΟεͰಇ͖͍ͨΤϯδχΞ΋ืू͍ͯ͠ ·͢
  4. ࠷ߴͷʮ͍͖ͬͯ·͢ʯମݧͱ͸ • Amazon Echo ʹʮ͍͖ͬͯ·͢ʯͱݴ͏ͱ… 1. αʔΩϡϨʔλʔ͕ΦϑʹͳΔ 2. ϦϏϯάɾμΠχϯάͷγʔϦϯάϥΠτ΍
 ΤΞίϯ͕ΦϑʹͳΔ

    3. ϧϯό͕૟আΛ։࢝͢Δ 4. ݱࡏ·ͨ͸༦ํ͕Ӎͷ༧ใͳΒ Slack ʹ௨஌͕དྷΔ
  5. ఆܕΞΫγϣϯΛར༻ جຊతʹ͸ఆܕΞΫγϣϯʹ֤"Ոి"ͷૢ࡞Λొ࿥͍ͯ͠Δ

  6. 1. αʔΩϡϨʔλʔ͕
 ΦϑʹͳΔ

  7. αʔΩϡϨʔλʔ͕ΦϑʹͳΔ • TP-Link ͷεϚʔτϓϥά(HS105) • ίϯηϯτʹ͚ͭΔͱ
 Ոి͕εϚʔτՈిʹ
 มΘΔ੡඼ • આ໌ෆཁ

  8. 2. ϦϏϯάɾμΠχϯάͷ γʔϦϯάϥΠτ΍ΤΞίϯ͕ ΦϑʹͳΔ

  9. ϦϏϯάɾμΠχϯάͷγʔϦϯά ϥΠτ΍ΤΞίϯ͕ΦϑʹͳΔ (1) • IRKit (Nature Remo ͷલ਎) • ͍ΘΏΔ੺֎ઢͷֶशϦϞίϯ

    • Amazon Echo ʹ͸ඇରԠ • Internet API ͕͋Δ • Node-RED + Node-RED Alexa Home Skill Bridge Λ࢖͏ͱεϚʔτՈిʹͰ͖ͦ͏
  10. Node-RED IoT ޲͚ϏδϡΞϧϓϩάϥϛϯά༻ͷϑϩʔϕʔεͷ։ൃπʔ ϧɻϊʔυΛ૊Έ߹ΘͤͯॲཧΛ࡞Δ͜ͱ͕Ͱ͖Δ

  11. ϦϏϯάɾμΠχϯάͷγʔϦϯά ϥΠτ΍ΤΞίϯ͕ΦϑʹͳΔ (2) • Node-RED Alexa Home Skill Bridge ϊʔυΛ࢖ͬ

    ͯɺεϚʔτՈిͱͯ͠ೝࣝͤ͞Δ • Φϯ/ΦϑͰ෼ذͯ͠ɺ IRKit ͷ Internet API ʹ౤͛ Δ JSON Λ࡞ͬͯɺΤϯυϙΠϯτʹ POST ͢Δ
  12. 3. ϧϯό͕૟আΛ։࢝͢Δ

  13. ϧϯό͕૟আΛ։࢝͢Δ (1) • ϧϯό891(WiFi ରԠϞσϧ) • Amazon Echo ରԠ͕ͩʮϧϯόΛΦϯʯͰىಈͰ͖ͳ͍ •

    ʮϧϯόΛ࢖ͬͯ૟আͯ͠ʯͱ͍͏ಠࣗϑϨʔζͰىಈ͢Δ • ͦͷͨΊɺఆܕΞΫγϣϯʹ૊ΈࠐΊͳ͍ • IFTTT ʹରԠ͍ͯ͠Δ • IFTTT ͱ Node-RED Λ૊Έ߹ΘͤΕ͹ɺఆܕΞΫγϣϯͰى ಈͰ͖Δ
  14. ϧϯό͕૟আΛ։࢝͢Δ (2) • IFTTT Λઃఆ͢Δ • IF: Receive a web

    request • THEN: Start robot • Node-RED Ͱड͚ͯ IFTTT ͷΤϯυϙΠϯτΛୟ͘
 
 

  15. 4. ݱࡏ·ͨ͸༦ํ͕
 Ӎͷ༧ใͳΒ
 Slack ʹ௨஌͕དྷΔ

  16. ݱࡏ·ͨ͸༦ํ͕Ӎͷ༧ใͳΒ
 Slack ʹ௨஌͕དྷΔ • ՈΛग़ΔॠؒʹʮࡿΛ͍࣋ͬͯ͘΂͖͔ʯΛڭ͑ͯཉ͍͠ • ࣮ࡍʹՈి͡Όͳͯ͘΋ʮ͍͖ͬͯ·͢ʯͷϧʔνϯʹ૊ΈࠐΊΔ ͷͰ͸ʁͱࢥͬͯ࡞ͬͨ΋ͷ • OpenWetherMap

    API Λୟ͍ͯɺӍ͕߱Γͦ͏ͳΒ Slack ʹ௨஌͢ Δ Web ΞϓϦέʔγϣϯΛ Google Apps Script Ͱಈ͔͢(70ߦ) • Node-RED ͱ૊Έ߹ΘͤͯԾ૝తͳεϚʔτՈిʹ͢Δ
 
 

  17. 10/7 (݄) ͷேͷ༷ࢠ ؼ୐༧ఆ࣌ؒʹӍ͕߱Δ͜ͱΛʮ͍͖ͬͯ·͢ʯͷ
 λΠϛϯάͰ஌Δ͜ͱ͕Ͱ͖ͨ

  18. ·ͱΊ • ࠷ߴͷʮ͍͖ͬͯ·͢ʯମݧΛ࣮ݱ͢ΔͨΊʹ
 Node-RED Λۦ࢖ͯ͠ϗʔϜΦʔτϝʔγϣϯͯ͠·͢ • Node-RED ͱ Node-RED Alexa

    Home Skill Bridge Λ࢖͑͹ԿͰ΋ Amazon Echo ରԠՈిʹͳͬͯศརͰ͢ • Ծ૝తͳՈిΛ࡞Δ͜ͱ΋Ͱ͖ΔͷͰՄೳੑ͕޿͕Γ·͢ • ϗʔϜΦʔτϝʔγϣϯͱͬͯ΋໘ന͍ͷͰɺͥͻ΍ͬͯΈ͍ͯͩ͘͞ • ※ʮ͍͖ͬͯ·͢ʯΛͯ͠ɺ໻ੜ౦ژΦϑΟεʹग़͍ࣾͨ͠
 Misoca ࣾһΛืू͍ͯ͠·͢ʂ