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

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

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

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

9c5189b33ab575b7f8b155f7f7a0fa60?s=128

Tomoyuki Sugita

February 23, 2018
Tweet

Transcript

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

  2. ࣗݾ঺հ w ਿా஌ࢸ!UPNPUPNPCJMF w גࣜձࣾ94)&--Ϗδωε։ൃϚωʔδϟʔ
 ˞ΤϯδχΞͰ͸͋Γ·ͤΜ w ஶॻʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖ໳ʯ w ࡢ೥݄ɺେࡕϚϥιϯ׬૸͠·ͨ͠

    w ࡢ೥݄ɺస৬Ͱେࡕ͔Β౦ژʹҾͬӽ͠·ͨ͠ w ࠓ೔͸ϲ݄ͿΓͷେࡕͰ͢ w ͓ञ͕େ޷͖Ͱ͢ɻओʹژڮɾఱຬΛҿΈา͍ͯ·ͨ͠
  3. 94)&--ʢΤΫγΣϧͱಡΈ·͢ʣ Կ΍ͬͯΔձࣾʁ *P5ͷडୗ։ൃ σόΠε։ൃ σόΠεΞϓϦέʔγϣϯ։ൃ *P5ษڧձ JTBBY6TFS(SPVQIUUQTDBNQJTBBYJP اۀ޲͚ɺֶߍ޲͚ *P54BB4JTBBYͷ։ൃ ࠓ೔͓࿩͢Δ಺༰

  4. *P5ͷडୗ։ൃ

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

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

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

    ͜ͱͳ͘Ξοϓσʔτ͢Δ͜ͱ͕ग़དྷͨ
 ˞ৄ͘͠͸ޙ൒Ͱ
  8. *P5ษڧձ

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

    Δͷ͸ศརͰ͢Ͷ ઐ໳ֶߍߨࢣ  w ͲΜͳ͜ͱ͕ग़དྷΔͷ͔ͷΠϝʔδ͕͔ͭΊͨ ࣄۀ෦Ϛωʔδϟʔ
  10. ໌ޙ೔σδϋϦେࡕͰ΍Γ·͢ IUUQTJTBBYVHDPOOQBTTDPNFWFOU ˞͝ΊΜͳ͍͞ɺΩϟϯηϧ଴ͪͰ͢

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

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

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

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

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

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

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

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

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

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

  21. 6TF$BTF σόΠεͷΞϓϦέʔγϣϯ
 ͕๫૸ͨ͠ʂ ʢϞχλϦϯάʣ

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

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

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

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

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

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

  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
  29. ࣮ࡍͷ࢖͍ํͷ঺հ

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

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

  32. (JUϓϩδΣΫτͱ
 JTBBYϓϩδΣΫτΛඥ෇͚Δ

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

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

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

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

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

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

  39. Raspberry Pi

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

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

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

  43. ϞχλϦϯά

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

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

  46. ؀ڥม਺

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

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

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

  50. εΫϦϓταʔϏε

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

  52. εΫϦϓτͷछྨ͸छྨ w QSFJOTUBMM w ΞϓϦέʔγϣϯΛΠϯετʔϧ͢Δલ ॳظԽ࣌ ʹ࣮ߦ ͞Ε·͢ w ྫ͑͹ॳճͷ؀ڥઃఆεΫϦϓτΛ࣮ߦ

    w QSFVQEBUF w ΞϓϦέʔγϣϯͷߋ৽લʹ࣮ߦ͞Ε·͢ w ࠷৽ͷιʔείʔυΛμ΢ϯϩʔυ͢Δલʹ΍Γ͍ͨ͜ͱ w QPTUVQEBUF w ΞϓϦέʔγϣϯͷߋ৽ޙʹ࣮ߦ͞Ε·͢ w ྫ͑͹ґଘύοέʔδͷߋ৽εΫϦϓτ
  53. υΩϡϝϯτ͸ͪ͜Β IUUQTJTBBYJPEPDT

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

  55. ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹ௚઀઀ଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃ؀ڥ ݕূ؀ڥ

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

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

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

    ݕূ؀ڥͰςετͨ݁͠ՌΛݩʹ ։ൃ؀ڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ؅ཧ͢ΔσόΠε͸̎ʙ୆ఔ౓ɻ ։ൃ؀ڥ ݕূ؀ڥ ຊ൪؀ڥ ग़ՙޙͷσόΠεΛ௚઀ϝϯςφϯε ͢Δ͜ͱ͕ۃ୺ʹ೉͘͠ͳΔɻ JTBBYͰݕূ؀ڥʹσϓϩΠɻ ΞϓϦͷόάमਖ਼΍ηΩϡϦςΟߋ৽ ͸JTBBY͚ͩͰ׬݁ɻ
  59. JTBBY͕໨ࢦ͢ੈք w ୭΋͕*P5ͷ։ൃΛखܰʹͰ͖Δੈք w 05"΍ηΩϡϦςΟʹֻ͔͍ͬͯͨίετΛσβ Πϯ΍ΞϓϦʹ࢖͑ΔΑ͏ʹͳΔ w ϦιʔεΛ*P5ιϦϡʔγϣϯ։ൃʹूதͰ͖Δ

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