Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「isaax」を使った PoCからプロダクションまでの開発

「isaax」を使った PoCからプロダクションまでの開発

2018.2.23 Fri isaax UG+さくらクラブ共催 IoT 勉強会 @ サイボウズ株式会社 大阪オフィス

Tomoyuki Sugita

February 23, 2018
Tweet

More Decks by Tomoyuki Sugita

Other Decks in Technology

Transcript

  1. ʮJTBBYʯΛ࢖ͬͨ
    1P$͔ΒϓϩμΫγϣϯ·Ͱͷ։ൃ
    2018.2.23 Fri
    JTBBY6(͘͞ΒΫϥϒڞ࠵*P5ษڧձ
    !αΠϘ΢ζגࣜձࣾେࡕΦϑΟε

    View Slide

  2. ࣗݾ঺հ
    w ਿా஌ࢸ!UPNPUPNPCJMF
    w גࣜձࣾ94)&--Ϗδωε։ൃϚωʔδϟʔ

    ˞ΤϯδχΞͰ͸͋Γ·ͤΜ
    w ஶॻʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖ໳ʯ
    w ࡢ೥݄ɺେࡕϚϥιϯ׬૸͠·ͨ͠
    w ࡢ೥݄ɺస৬Ͱେࡕ͔Β౦ژʹҾͬӽ͠·ͨ͠
    w ࠓ೔͸ϲ݄ͿΓͷେࡕͰ͢
    w ͓ञ͕େ޷͖Ͱ͢ɻओʹژڮɾఱຬΛҿΈา͍ͯ·ͨ͠

    View Slide

  3. 94)&--ʢΤΫγΣϧͱಡΈ·͢ʣ
    Կ΍ͬͯΔձࣾʁ
    *P5ͷडୗ։ൃ
    σόΠε։ൃ
    σόΠεΞϓϦέʔγϣϯ։ൃ
    *P5ษڧձ
    JTBBY6TFS(SPVQIUUQTDBNQJTBBYJP
    اۀ޲͚ɺֶߍ޲͚
    *P54BB4JTBBYͷ։ൃ
    ࠓ೔͓࿩͢Δ಺༰

    View Slide

  4. *P5ͷडୗ։ൃ

    View Slide

  5. *P5ʹΑΔόε҆શӡసࢧԉγεςϜ
    όεӡసखͷߴྸԽ໰୊Λղܾ͢΂͘ɺόεӡసखͷ݈߁ঢ়ଶΛԕִͰ೺Ѳɺ
    ؂ࢹ͢ΔγεςϜΛ։ൃɻ(I[ͷϚΠΫϩ೾ϨʔμʔΛ࠲੮ͷޙΖʹऔΓ෇
    ͚ͯɺΫϥ΢υ͔Βͷ݈߁ঢ়ଶ೺ѲΛ࣮ݱɻ
    Έͳͱ؍ޫόε͕ӡߦ͢Δ୆ͷ࿏ઢόεͰ࣮ূ૸ߦɻ
    ϓϨεϦϦʔε
    IUUQTXXXJTJEDPKQOFXTSFMFBTFIUNM

    View Slide

  6. γεςϜͷ֓ཁ
    ͜ͷ෦෼Λ୲౰

    View Slide

  7. 94)&--͕1P$Ͱ΍ͬͨ͜ͱ
    σόΠεΛ։ൃ
    ৺ഥɾݺٵηϯαʔͱं྆ηϯαʔ
    *P5ήʔτ΢ΣΠ
    *P5ήʔτ΢ΣΠͷԕִΞοϓσʔτ
    ౦ژͷ94)&--ΦϑΟεͰ։ൃͨ͠৽͍͠Ξϓ
    ϦέʔγϣϯΛɺਆށͷόε୆ʹҰ੪഑৴
    JTBBY ΞΠβοΫε
    Λ࢖ͬͨͷͰɺݱ஍ʹߦ͘
    ͜ͱͳ͘Ξοϓσʔτ͢Δ͜ͱ͕ग़དྷͨ

    ˞ৄ͘͠͸ޙ൒Ͱ

    View Slide

  8. *P5ษڧձ

    View Slide

  9. *P5ษڧձ͜Μͳ͜ͱͯ͠·͢
    ࣌ؒͰ(JUͰ؅ཧ͢Δ*P5ΧϝϥσόΠε։ൃΛମݧ
    ࢀՃऀͷײ૝
    w ͜Μͳʹ؆୯ʹͰ͖ΔͱࢥΘͳ͔ͬͨ ιϑτ
    ΢ΣΞΤϯδχΞ

    w (JUIVCʹ1VTI͢Δ͚ͩͰσόΠεΛߋ৽Ͱ͖
    Δͷ͸ศརͰ͢Ͷ ઐ໳ֶߍߨࢣ

    w ͲΜͳ͜ͱ͕ग़དྷΔͷ͔ͷΠϝʔδ͕͔ͭΊͨ
    ࣄۀ෦Ϛωʔδϟʔ

    View Slide

  10. ໌ޙ೔σδϋϦେࡕͰ΍Γ·͢
    IUUQTJTBBYVHDPOOQBTTDPNFWFOU
    ˞͝ΊΜͳ͍͞ɺΩϟϯηϧ଴ͪͰ͢

    View Slide

  11. IUUQTDBNQJTBBYJP
    Πϕϯτ৘ใ͸JTBBYDBNQ ΞΠβοΫɾεΩϟϯϓ
    Ͱ֬ೝ
    ͝ཁ๬͕͋Ε͹اۀ޲͚ʹ΋࣮ࢪ͠·͢

    View Slide

  12. ࠓ೔ͷຊ୊ɿJTBBY ΞΠβοΫε

    IUUQTJTBBYJP

    View Slide

  13. *P5ʹΑΔόε҆શӡసࢧԉγεςϜΛ࣮ݱ͢Δʹ͸
    ਆށࢢपลΛ૸Δ୆ͷόεʹઃஔ͞Εͨ*P5(8
    ͷԕִΞοϓσʔτ͕ඞཁɻ
    JTBBY͕͔͋ͬͨΒग़དྷ͚ͨͲɺɺɺ

    View Slide

  14. JTBBYແ͠Ͱ΍Ζ͏ͱ͢Δͱᶃ
    શσόΠεʹάϩʔόϧIPৼΓग़͢ͷʁશσόΠεͷ'JSFXBMMઃఆ͢Δͷʁ
    SSHϙʔτ։͚ͱ͘ͷʁ͍ͬͯ͏͔୆୆44)ͰϩάΠϯ͢Δͷʁ
    άϩʔόϧ*1
    άϩʔόϧ*1
    άϩʔόϧ*1
    44)
    44)
    44)

    View Slide

  15. JTBBYແ͠Ͱ΍Ζ͏ͱ͢Δͱᶄ
    ݁ہIPৼΓग़͢ͷʁ୭͕ωοτϫʔΫઃܭ͢Δͷʁ
    ͍ͬͯ͏͔1୆1୆SSHͰϩάΠϯ͢Δͷʁ
    άϩʔόϧ*1
    άϩʔόϧ*1
    άϩʔόϧ*1
    44)
    44)
    44)
    ดҬͰ҆৺

    View Slide

  16. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ։ൃ
    ίʔυΛ1VTI
    Ξοϓσʔτ
    OTAߋ৽ͷ࢓૊Έ͕ҰॠͰ׬੒ʂ

    View Slide

  17. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ΦϑΟε͔Β
    ೔ຊதͷσόΠεΛ
    Ξοϓσʔτʂ
    ։ൃ؀ڥͰ্ख͘
    ಈ͍ͨ΋ͷΛ1VTI

    View Slide

  18. JTBBYͷ୅දతͳػೳͭ
    σόΠεߋ৽
    ϞχλϦϯά
    ؀ڥม਺
    εΫϦϓταʔϏε

    View Slide

  19. 6TF$BTF
    ΞϓϦέʔγϣϯͷ
    ηΩϡϦςΟϗʔϧ͕ݟ͔ͭͬͨʂ
    ʢσόΠεߋ৽ʣ

    View Slide

  20. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ೔ຊதͷσόΠεΛ
    Ξοϓσʔτʂ
    ։ൃ؀ڥͰ௚ͨ͠
    ΞϓϦΛσϓϩΠ

    View Slide

  21. 6TF$BTF
    σόΠεͷΞϓϦέʔγϣϯ

    ͕๫૸ͨ͠ʂ
    ʢϞχλϦϯάʣ

    View Slide

  22. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ೔ຊதͷσόΠεΛ
    Ξοϓσʔτʂ
    JTBBYΫϥ΢υͰ
    ๫૸σόΠεΛ
    ൃݟ͠ఀࢭ

    View Slide

  23. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ೔ຊதͷσόΠεΛ
    Ξοϓσʔτʂ
    ։ൃ؀ڥͰमਖ਼ͯ͠
    ಈ͍ͨ΋ͷΛσϓϩΠ

    View Slide

  24. 6TF$BTF
    "1*ͷΤϯυϙΠϯτ͕
    มΘͬͨʂ
    ʢ؀ڥม਺ʣ

    View Slide

  25. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ೔ຊதͷσόΠεΛ
    Ξοϓσʔτʂ
    JTBBYΫϥ΢υͰ
    ؀ڥม਺Λมߋ

    View Slide

  26. 6TF$BTF
    ϛυϧ΢ΣΞͷ
    ηΩϡϦςΟϗʔϧ͕ݟ͔ͭͬͨʂ
    ʢεΫϦϓταʔϏεʣ

    View Slide

  27. JTBBYΛ࢖͏ͱσόΠε։ൃ͕؆୯
    ೔ຊதͷσόΠεΛ
    Ξοϓσʔτʂ
    JTBBYΫϥ΢υͰ
    Ξοϓσʔτ
    εΫϦϓτΛ࣮ߦ

    View Slide

  28. ਪ঑ಈ࡞؀ڥɾσόΠεར༻ྫ
    ରԠՄೳͳϓϥοτϑΥʔϜ04
    w EBSXJOYBNE
    w MJOVYYBNE
    w GSFFCTEYBNE
    w PQFOCTEYBNE

    ରԠՄೳͳΞʔΩςΫνϟ
    w Y
    w BSN
    w BSN
    w BSN
    w BSN
    'SJFOEMZ&MFD
    /BOP1J
    5PSBEFY
    $PMJCSJ*.9
    3BTQCFSSZࡒஂ
    3BTQCFSSZ1J
    5FYBT*OTUSVNFOUT*OD
    #FBHMF#POF
    "SSPX&MFDUSPOJDT

    %SBHPO#PBSE
    "464
    5JOLFS#PBSE

    View Slide

  29. ࣮ࡍͷ࢖͍ํͷ঺հ

    View Slide

  30. JTBBYͷ୅දతͳػೳͭͷ࢖͍ํ
    σόΠεߋ৽
    ϞχλϦϯά
    ؀ڥม਺
    εΫϦϓταʔϏε

    View Slide

  31. ͨͬͨͷεςοϓͰ׬੒
    (JUϓϩδΣΫτͱJTBBYϓϩδΣΫτΛඥ෇͚Δ
    σόΠεʹJTBBYΤʔδΣϯτΛΠϯετʔϧʢϫϯϥΠφʔʣ
    ։ൃͨ͠σόΠεΞϓϦέʔγϣϯΛ(JUʹ1VTI͢Δ͚ͩ
    (JU͔ΒσόΠε·Ͱ͸JTBBY͕ࣗಈͰ΍ͬͯ͘ΕΔ

    View Slide

  32. (JUϓϩδΣΫτͱ

    JTBBYϓϩδΣΫτΛඥ෇͚Δ

    View Slide

  33. (JUIVCͷϓϩδΣΫτΛ࡞੒
    ࢼ͍ͨ͠ํ͸ҎԼͷϓϩδΣΫτΛ'PSL͍ͯͩ͘͠͞
    IUUQTHJUIVCDPNZFOUTVOOPEFSFEXBUDI
    JTBBYKTPO͕ඞਢ

    View Slide

  34. JTBBYKTPOͷத਎
    ىಈεΫϦϓτ͕ఆٛ͞Ε͍ͯΔ͚ͩ
    αϯϓϧIUUQTHJUIVCDPNZFOUTVOOPEFSFEXBUDICMPCNBTUFSJTBBYKTPO

    View Slide

  35. ϓϩδΣΫτΛ৽ن࡞੒
    IUUQTJTBBYJPʹϩάΠϯˠμογϡϘʔυ

    ˠʴϘλϯΛΫϦοΫ

    View Slide

  36. (JUIVCͷϦϙδτϦΛબ୒
    ϦϙδτϦ͕දࣔ͞Εͳ͍৔߹͸ɺΠϯςάϨʔγϣϯ
    ը໘Ͱ(JUIVCͱͷ઀ଓͰ͖͍ͯΔ͔֬ೝ͍ͯͩ͘͠͞

    View Slide

  37. σόΠεʹ
    JTBBYΤʔδΣϯτΛΠϯετʔϧ
    ʢϫϯϥΠφʔʣ

    View Slide

  38. ΫϥελʔΛબ୒ͯ͠ʜ

    View Slide

  39. Raspberry Pi

    View Slide

  40. ։ൃͨ͠σόΠε
    ΞϓϦέʔγϣϯΛ
    (JUʹ1VTI͢Δ͚ͩ

    View Slide

  41. isaaxʹొ࿥ͨ͠σόΠε͕Ұ੪ʹΞοϓσʔτ
    ։ൃ
    ίʔυΛ1VTI
    Ξοϓσʔτ

    View Slide

  42. JTBBYͷ୅දతͳػೳͭͷ࢖͍ํ
    σόΠεߋ৽ʢࡁʣ
    ϞχλϦϯά
    ؀ڥม਺
    εΫϦϓταʔϏε

    View Slide

  43. ϞχλϦϯά

    View Slide

  44. σόΠε֤छͷ৘ใ͕֬ೝͰ͖·͢
    ࢮ׆؂ࢹ
    ϩʔΧϧ*1
    .BDΞυϨε

    View Slide

  45. σόΠεͷΤϥʔϩά͕ݟ͑ΔͷͰ໰୊ಛఆ͕͠
    ΍͘͢ΞϓϦέʔγϣϯͷमਖ਼͕͸͔ͲΓ·͢ɻ

    View Slide

  46. ؀ڥม਺

    View Slide

  47. ΫϥελʔΛબ୒ͯ͠ʜ

    View Slide

  48. ιʔείʔυʹॻ͖ͨ͘ͳ͍
    ؀ڥม਺͸JTBBYΫϥ΢υͰ؅ཧͯ͠ʜ
    ΞϓϦέʔγϣϯ࠶ىಈʂ

    View Slide

  49. σόΠεͷ؀ڥม਺͕ߋ৽͞Ε·ͨ͠
    ʢ৴༻Ͱ͖ͳ͍ਓ͸֬ೝͯ͠ʣ

    View Slide

  50. εΫϦϓταʔϏε

    View Slide

  51. ΫϥελʔΛબ୒ͯ͠ʜ

    View Slide

  52. εΫϦϓτͷछྨ͸छྨ
    w QSFJOTUBMM
    w ΞϓϦέʔγϣϯΛΠϯετʔϧ͢Δલ ॳظԽ࣌
    ʹ࣮ߦ
    ͞Ε·͢
    w ྫ͑͹ॳճͷ؀ڥઃఆεΫϦϓτΛ࣮ߦ
    w QSFVQEBUF
    w ΞϓϦέʔγϣϯͷߋ৽લʹ࣮ߦ͞Ε·͢
    w ࠷৽ͷιʔείʔυΛμ΢ϯϩʔυ͢Δલʹ΍Γ͍ͨ͜ͱ
    w QPTUVQEBUF
    w ΞϓϦέʔγϣϯͷߋ৽ޙʹ࣮ߦ͞Ε·͢
    w ྫ͑͹ґଘύοέʔδͷߋ৽εΫϦϓτ

    View Slide

  53. υΩϡϝϯτ͸ͪ͜Β
    IUUQTJTBBYJPEPDT

    View Slide

  54. ʮJTBBYʯΛ࢖ͬͨ
    1P$͔ΒϓϩμΫγϣϯ·Ͱ
    ͷ։ൃ

    View Slide

  55. ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ
    ։ൃϑΣʔζ
    ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ
    σόΠεʹ௚઀઀ଓͯ͠։ൃɻ
    ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ
    1P$ϑΣʔζ
    ϓϩμΫγϣϯ
    ϑΣʔζ
    ։ൃ؀ڥ ݕূ؀ڥ
    ݕূ؀ڥͰςετͨ݁͠ՌΛݩʹ
    ։ൃ؀ڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ
    ؅ཧ͢ΔσόΠε͸̎ʙ୆ఔ౓ɻ
    ։ൃ؀ڥ
    ݕূ؀ڥ
    ຊ൪؀ڥ
    ग़ՙޙͷσόΠεΛ௚઀ϝϯςφϯε
    ͢Δ͜ͱ͕ۃ୺ʹ೉͘͠ͳΔɻ
    ΞϓϦͷόάमਖ਼΍ηΩϡϦςΟߋ৽
    ͷͨΊʹ05"ߋ৽ͷ࢓૊Έ͕ඞਢɻ

    View Slide

  56. ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ
    ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ
    σόΠεʹ௚઀઀ଓͯ͠։ൃɻ
    ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ
    1P$ϑΣʔζ
    ϓϩμΫγϣϯ
    ϑΣʔζ
    ։ൃ؀ڥ
    ݕূ؀ڥ
    ຊ൪؀ڥ
    ग़ՙޙͷσόΠεΛ௚઀ϝϯςφϯε
    ͢Δ͜ͱ͕ۃ୺ʹ೉͘͠ͳΔɻ
    ΞϓϦͷόάमਖ਼΍ηΩϡϦςΟߋ৽
    ͷͨΊʹ05"ߋ৽ͷ࢓૊Έ͕ඞਢɻ
    ˍ
    ӽ͑ΒΕͳ͍น

    View Slide

  57. ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ
    ։ൃϑΣʔζ
    ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ
    σόΠεʹ௚઀઀ଓͯ͠։ൃɻ
    ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ
    1P$ϑΣʔζ
    ϓϩμΫγϣϯ
    ϑΣʔζ
    ։ൃ؀ڥ ݕূ؀ڥ
    ݕূ؀ڥͰςετͨ݁͠ՌΛݩʹ
    ։ൃ؀ڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ
    ؅ཧ͢ΔσόΠε͸̎ʙ୆ఔ౓ɻ
    ։ൃ؀ڥ
    ݕূ؀ڥ
    ຊ൪؀ڥ
    ग़ՙޙͷσόΠεΛ௚઀ϝϯςφϯε
    ͢Δ͜ͱ͕ۃ୺ʹ೉͘͠ͳΔɻ
    ΞϓϦͷόάमਖ਼΍ηΩϡϦςΟߋ৽
    ͷͨΊʹ05"ߋ৽ͷ࢓૊Έ͕ඞਢɻ

    View Slide

  58. JTBBYΛ࢖ͬͨϓϩμΫγϣϯ΁ͷҠߦ
    ։ൃϑΣʔζ
    ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ
    σόΠεʹ௚઀઀ଓͯ͠։ൃɻ
    ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ
    1P$ϑΣʔζ
    ϓϩμΫγϣϯ
    ϑΣʔζ
    ։ൃ؀ڥ ݕূ؀ڥ
    ݕূ؀ڥͰςετͨ݁͠ՌΛݩʹ
    ։ൃ؀ڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ
    ؅ཧ͢ΔσόΠε͸̎ʙ୆ఔ౓ɻ
    ։ൃ؀ڥ
    ݕূ؀ڥ
    ຊ൪؀ڥ
    ग़ՙޙͷσόΠεΛ௚઀ϝϯςφϯε
    ͢Δ͜ͱ͕ۃ୺ʹ೉͘͠ͳΔɻ
    JTBBYͰݕূ؀ڥʹσϓϩΠɻ
    ΞϓϦͷόάमਖ਼΍ηΩϡϦςΟߋ৽
    ͸JTBBY͚ͩͰ׬݁ɻ

    View Slide

  59. JTBBY͕໨ࢦ͢ੈք
    w ୭΋͕*P5ͷ։ൃΛखܰʹͰ͖Δੈք
    w 05"΍ηΩϡϦςΟʹֻ͔͍ͬͯͨίετΛσβ
    Πϯ΍ΞϓϦʹ࢖͑ΔΑ͏ʹͳΔ
    w ϦιʔεΛ*P5ιϦϡʔγϣϯ։ൃʹूதͰ͖Δ

    View Slide

  60. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide