Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cylon.jsの闇 (第2回 #jsboardshibuya : 5分)
Search
n0bisuke
September 01, 2015
Technology
0
960
Cylon.jsの闇 (第2回 #jsboardshibuya : 5分)
Cylon.jsを扱うのはいいんだけど!
複数デバイスでやっといきてくるよね!って話です。
n0bisuke
September 01, 2015
Tweet
Share
More Decks by n0bisuke
See All by n0bisuke
WebHID APIでHIDデバイスをブラウザから制御!! #iotlt
n0bisuke
1
770
IFTTTが有料化したのでIntegromatの話 #iotlt
n0bisuke
0
650
M5Core2触ってみたけど上下注意 #iotlt vol67
n0bisuke
0
1.1k
PubNubを久々に使ってみたよ! #iotlt #m5stick #pubnub #djuko
n0bisuke
1
870
ATOM Echoでビデオ会議通知 #IoTLT
n0bisuke
0
600
オンラインLTをやってみた所感 #devreljp
n0bisuke
1
730
マイコンボード再活用なワイの配信環境 ~ラズパイやJetson Nanoを積ボードにしてる人必見~ #iotlt
n0bisuke
1
420
在宅テレカン時の 例の夫婦問題を解決する #iotlt #m5atom #m5stack
n0bisuke
1
910
嫁が来たらPCを閉じたいからアラートする #MiBand #RaspberryPi #iotlt
n0bisuke
1
970
Other Decks in Technology
See All in Technology
Dev Containers と Skaffold で実現する クラウドネイティブ開発環境 ローカルのみという制約に挑む / Cloud-Native Development with Dev Containers and Skaffold: Tackling the Local-Only Constraint
bitkey
PRO
0
110
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
1.1k
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
5.1k
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
370
AWS re:Invent 2025 で頻出の 生成 AI サービスをおさらい
komakichi
2
140
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
520
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
480
未回答質問の回答一覧 / 開発をリードする品質保証 QAエンジニアと開発者の未来を考える-Findy Online Conference -
findy_eventslides
0
310
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
150
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
390
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Faster Mobile Websites
deanohume
310
31k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
We Have a Design System, Now What?
morganepeng
54
7.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
Cylon.jsの闇 株式会社LIG 菅原 のびすけ (@n0bisuke)
ࣗݾհ ੁݪ ͷͼ͚͢ LIG inc. ΤϯδχΞ (৽ଔ2ʹ) ग़ٶੜ·Εؠखҭͪ ಛٕΘΜͦ͜ ഋ
Ωʔϫʔυ .JMLDPDPBɺ(`TΞΧσϛʔɺՈԁ #BB4 *P5 ϦΞϧλΠϜ௨৴ͳͲ͕͖
࠷ۙIoTྖҬʹྗೖΕͯ·͢ɻ ͓͠ΖϝσΟΞΛ͍࣋ͬͯΔWeb੍࡞ձࣾ
ࠓͷLTࡢͷ౦ژNodeֶԂ17࣌ݶͰ ޱͬͯ͠·ͬͨωλ
ɾhttp://cylonjs.com/ ɾNode.js༻ϥΠϒϥϦ ɾIoT͚ ɾ࢞ຓϓϩδΣΫτ (Ruby & Golang) Cylon.jsͬͯʁ
Webతʹ͋Γ͕͍ͨ͜ͱʹɺ JS੍ޚͰ͖ΔϘʔυ ΨδΣοτ͚ͬ͜͏ଟ͍
ͰSDK͕όϥόϥ ։ൃऀ (ݴ͍ա͔͚͗ͩͲ) ΄΅ผͷεΩϧ
Cylon.jsͰϕϯμʔϩοΫΠϯճආ ։ൃऀ SDKͱͷଓCylon.js ͕ͬͯ͘ΕΔɻ ಉ͡ΠϯλʔϑΣʔεͰ ։ൃ͕Մೳ
ͭ·Γ?
Cylon.jsΛ͏͜ͱͰಉ͡JSΠϯλʔϑΣʔε Ͱ৭ʑͳσόΠεΛ੍ޚͰ͖Δ!!!!
Cylon.jsΛ͏͜ͱͰಉ͡JSΠϯλʔϑΣʔε Ͱ৭ʑͳσόΠεΛ੍ޚͰ͖Δ!!!! ϋζͩͬͨʂʂ
࣮ࡍͷͱ͜Ζɻ
(頻繁に起こる) エラー時の原因特定が⾟辛い 闇 その1
Sphero ྫ͑
Cylon.jsͷSpheroυϥΠό͋Γ·͢ɻ
Node-Sphereͱ͍͏Ϟδϡʔϧ͋Γ·͢ɻ
ͭ·Γɺ 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
Τϥʔ͕ى͖ͨ࣌ʹݪҼ͕ಛఆ͠ʹ͍͘… $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
ͱͱIoTσόΠεଓ͕ෆ҆ఆ ͳϞϊ͕ଟ͍ͷͰͱ͘ʹࠔΔ… (webʹ౿ΈೖΕΒΕͳ͍ྖҬ)
ରࡦ $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
ରࡦ OPEFTQIFSP ϨϕϧͳϞδϡʔϧΛͬͯ ݪҼഉআ (= Cylon.jsΛΘͳ͍ۤস ) ݪҼಛఆ͍͢͠ωˑ
ドライバの更更新が 追いついてない 闇 その2
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
ϨϕϧͳϞδϡʔϧ͕όʔδϣϯΞοϓ(ྫ: 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
݁Ռ… υϥΠόଆͰίέΔ߹͕ $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
ରࡦ $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
ରࡦ OPEFTQIFSP ϨϕϧͳϞδϡʔϧΛ͏ͱ ্ख͍͘͘͜ͱ͋Γ·͢ɻ ݁ہ͍͍ͨػೳ͜Εͩ͠ωˑ
そもそも… 同じインターフェースが重宝するくらい複数の IoTデバイスを扱う機会って少ない 闇 その3
։ൃऀ SDKͱͷଓCylon.js ͕ͬͯ͘ΕΔɻ ಉ͡ΠϯλʔϑΣʔεͰ ։ൃ͕Մೳ ෳσόΠεͷ։ൃͰCylon.jsॏๅ͢Δ
։ൃऀ SDK ͕ͬͯ͘ΕΔɻ ಉ͡ΠϯλʔϑΣʔεͰ ։ൃ͕Մೳ ͦͦɺ͜ΜͳʹσόΠε࣋ͬͯͳ͍…
͜Μͳʹ৭ʑσόΠε͋Δ͚Ͳ… 3BTQCFSSZ1J "SEVJOP *OUFM(BMJMFP *OUFM&EJTPO 5FTTFM #FBHMF#POF#MBDL 4QBSL NCFE JDIJHPKBN
-JOJOP0/& YCFF (34",63"
3BTQCFSSZ1J "SEVJOP *OUFM(BMJMFP *OUFM&EJTPO 5FTTFM #FBHMF#POF#MBDL 4QBSL NCFE JDIJHPKBN -JOJOP
YCFF (34",63" Ϣʔβʔ͕͍ ͍ͭͯͳ͍…
ରࡦ ങ͓͏ɻ
ରࡦ σόΠε͕ἧͬͯ͘Δ ͱॏๅ(͢Δ͔?) ྫ: spheroͱHueͷর໌ૢ࡞
·ͱΊ 1. JSͰIoT͢ΔͳΒCylon.jsͱ͍͏બࢶ 2. ϞϊʹΑͬͯCylon.jsΛΘͣʹ Cylon.jsυϥΠόͷݩʹͳͬͯΔϨϕ ϧϞδϡʔϧΛͬͨ΄͏͕͍͍߹ 3. ෳσόΠεૢ࡞Λ͢ΔΑ͏ʹͳͬͯͬ ͱCylon.jsͷྑ͕͞׆͖Δ
࠷ޙʹ ͱ͍͑ɺ ɾख࢝Ίʹ͏ʹΞϦ ɾυϥΠόΛோΊͯσόΠεΛΕΔ ͷͰͬͯΈ·͠ΐ͏ɻ