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

Cylon.jsの闇 (第2回 #jsboardshibuya : 5分)

n0bisuke
September 01, 2015

Cylon.jsの闇 (第2回 #jsboardshibuya : 5分)

Cylon.jsを扱うのはいいんだけど!
複数デバイスでやっといきてくるよね!って話です。

n0bisuke

September 01, 2015
Tweet

More Decks by n0bisuke

Other Decks in Technology

Transcript

  1. Cylon.jsの闇
    株式会社LIG  菅原  のびすけ    
    (@n0bisuke)

    View Slide

  2. ࣗݾ঺հ
    ੁݪ ͷͼ͚͢ LIG inc. ΤϯδχΞ (৽ଔ2೥໨ʹ)
    ग़਎ٶ৓ੜ·Εؠखҭͪ
    ಛٕΘΜͦ͜͹ ഋ෼

    Ωʔϫʔυ
    .JMLDPDPBɺ(`TΞΧσϛʔɺՈ௞ԁ
    #BB4 *P5 ϦΞϧλΠϜ௨৴ͳͲ͕޷͖

    View Slide

  3. ࠷ۙ͸IoTྖҬʹ΋ྗೖΕͯ·͢ɻ
    ͓΋͠ΖϝσΟΞΛ͍࣋ͬͯΔWeb੍࡞ձࣾ

    View Slide

  4. ࠓ೔ͷLT͸ࡢ೔ͷ౦ژNodeֶԂ17࣌ݶ໨Ͱ
    ޱ૸ͬͯ͠·ͬͨωλ

    View Slide

  5. ɾhttp://cylonjs.com/
    ɾNode.js༻ϥΠϒϥϦ
    ɾIoT޲͚
    ɾ࢞ຓϓϩδΣΫτ (Ruby & Golang)
    Cylon.jsͬͯʁ

    View Slide

  6. Web԰తʹ͋Γ͕͍ͨ͜ͱʹɺ
    JS੍ޚͰ͖ΔϘʔυ΍
    ΨδΣοτ͸͚ͬ͜͏ଟ͍

    View Slide

  7. Ͱ΋SDK͕όϥόϥ
    ։ൃऀ
    (ݴ͍ա͔͗΋͚ͩͲ)
    ΄΅ผͷεΩϧ

    View Slide

  8. Cylon.jsͰϕϯμʔϩοΫΠϯճආ
    ։ൃऀ
    SDKͱͷ઀ଓ͸Cylon.js
    ͕΍ͬͯ͘ΕΔɻ
    ಉ͡ΠϯλʔϑΣʔεͰ
    ։ൃ͕Մೳ

    View Slide

  9. ͭ·Γ?

    View Slide

  10. Cylon.jsΛ࢖͏͜ͱͰಉ͡JSΠϯλʔϑΣʔε
    Ͱ৭ʑͳσόΠεΛ੍ޚͰ͖Δ!!!!

    View Slide

  11. Cylon.jsΛ࢖͏͜ͱͰಉ͡JSΠϯλʔϑΣʔε
    Ͱ৭ʑͳσόΠεΛ੍ޚͰ͖Δ!!!!
    ϋζͩͬͨʂʂ

    View Slide

  12. ࣮ࡍͷͱ͜Ζɻ

    View Slide

  13. (頻繁に起こる)  
    エラー時の原因特定が⾟辛い
    闇  その1

    View Slide

  14. Sphero
    ྫ͑͹

    View Slide

  15. Cylon.jsͷSpheroυϥΠό͋Γ·͢ɻ

    View Slide

  16. Node-Sphereͱ͍͏Ϟδϡʔϧ΋͋Γ·͢ɻ

    View Slide

  17. ͭ·Γɺ Cylon.jsطଘϞδϡʔϧͷߴϨϕϧͳϥούʔ
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S

    View Slide

  18. Τϥʔ͕ى͖ͨ࣌ʹݪҼ͕ಛఆ͠ʹ͍͘…
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S

    View Slide

  19. ΋ͱ΋ͱIoTσόΠε͸઀ଓ͕ෆ҆ఆ
    ͳϞϊ͕ଟ͍ͷͰͱ͘ʹࠔΔ…
    (web԰ʹ͸౿ΈೖΕΒΕͳ͍ྖҬ)

    View Slide

  20. ରࡦ
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S

    View Slide

  21. ରࡦ
    OPEFTQIFSP
    ௚઀ ௿ϨϕϧͳϞδϡʔϧΛ࢖ͬͯ
    ݪҼഉআ (= Cylon.jsΛ࢖Θͳ͍ۤস )
    ݪҼಛఆ͠΍͍͢ωˑ

    View Slide

  22. ドライバの更更新が  
    追いついてない
    闇  その2

    View Slide

  23. Cylon.jsطଘϞδϡʔϧͷߴϨϕϧͳϥούʔͳͷͰɺ
    ௿ϨϕϧͳϞδϡʔϧͷػೳʹґଘ
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S

    View Slide

  24. ௿ϨϕϧͳϞδϡʔϧ͕όʔδϣϯΞοϓ(ྫ: v2.0)ͯ͠΋
    υϥΠόଆͷߋ৽͕௥͍͔ͭͳ͍৔߹͕ଟ͍ɻ
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    W
    W

    View Slide

  25. ݁Ռ… υϥΠόଆͰίέΔ৔߹͕
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S

    View Slide

  26. ରࡦ
    $ZMPOKT
    $ZMPOTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    OPEFTQIFSP
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S
    PU
    IF
    S

    View Slide

  27. ରࡦ
    OPEFTQIFSP
    ௚઀ ௿ϨϕϧͳϞδϡʔϧΛ࢖͏ͱ
    ্ख͍͘͘͜ͱ΋͋Γ·͢ɻ
    ݁ہ࢖͍͍ͨػೳ͸͜Εͩ͠ωˑ

    View Slide

  28. そもそも…  
    同じインターフェースが重宝するくらい複数の
    IoTデバイスを扱う機会って少ない
    闇  その3

    View Slide

  29. ։ൃऀ
    SDKͱͷ઀ଓ͸Cylon.js
    ͕΍ͬͯ͘ΕΔɻ
    ಉ͡ΠϯλʔϑΣʔεͰ
    ։ൃ͕Մೳ
    ෳ਺σόΠεͷ։ൃͰCylon.js͸ॏๅ͢Δ

    View Slide

  30. ։ൃऀ
    SDK
    ͕΍ͬͯ͘ΕΔɻ
    ಉ͡ΠϯλʔϑΣʔεͰ
    ։ൃ͕Մೳ
    ͦ΋ͦ΋ɺ͜ΜͳʹσόΠε࣋ͬͯͳ͍…

    View Slide

  31. ͜Μͳʹ৭ʑσόΠε͸͋Δ͚Ͳ…
    3BTQCFSSZ1J "SEVJOP *OUFM(BMJMFP *OUFM&EJTPO
    5FTTFM #FBHMF#POF#MBDL
    4QBSL
    NCFE JDIJHPKBN -JOJOP0/& YCFF
    (34",63"

    View Slide

  32. 3BTQCFSSZ1J "SEVJOP *OUFM(BMJMFP *OUFM&EJTPO
    5FTTFM #FBHMF#POF#MBDL
    4QBSL
    NCFE JDIJHPKBN -JOJOP YCFF
    (34",63"
    Ϣʔβʔ͕௥͍
    ͍ͭͯͳ͍…

    View Slide

  33. ରࡦ
    ങ͓͏ɻ

    View Slide

  34. ରࡦ
    σόΠε͕ἧͬͯ͘Δ
    ͱॏๅ(͢Δ͔΋?)
    ྫ: spheroͱHueͷর໌ૢ࡞

    View Slide

  35. ·ͱΊ
    1. JSͰIoT͢ΔͳΒCylon.jsͱ͍͏બ୒ࢶ
    2. ϞϊʹΑͬͯ͸Cylon.jsΛ࢖Θͣʹ
    Cylon.jsυϥΠόͷݩʹͳͬͯΔ௿Ϩϕ
    ϧϞδϡʔϧΛ࢖ͬͨ΄͏͕͍͍৔߹΋
    3. ෳ਺σόΠεૢ࡞Λ͢ΔΑ͏ʹͳͬͯ΍ͬ
    ͱCylon.jsͷྑ͕͞׆͖Δ

    View Slide

  36. ࠷ޙʹ
    ͱ͸͍͑ɺ
    ɾख࢝Ίʹ࢖͏෼ʹ͸ΞϦ
    ɾυϥΠόΛோΊͯσόΠεΛ஌ΕΔ
    ͷͰ࢖ͬͯΈ·͠ΐ͏ɻ

    View Slide