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
「isaax」を使った PoCからプロダクションまでの開発
Search
Tomoyuki Sugita
February 23, 2018
Technology
0
260
「isaax」を使った PoCからプロダクションまでの開発
2018.2.23 Fri isaax UG+さくらクラブ共催 IoT 勉強会 @ サイボウズ株式会社 大阪オフィス
Tomoyuki Sugita
February 23, 2018
Tweet
Share
More Decks by Tomoyuki Sugita
See All by Tomoyuki Sugita
採用でプロダクトの壁を乗り越える
tomotomo
1
320
ラズパイマガジン 寄稿ネタDEMO
tomotomo
0
870
PHPでLチカ(PHPカンファレンス2018 懇親会)
tomotomo
0
3.2k
IoTデバイスのつらみ isaaxで解消しましょう
tomotomo
0
110
IoTLT 40回 おめでとう!
tomotomo
2
460
2000年頃のフロントエンド技術
tomotomo
1
9.9k
WordPressとサーバーとお金の話
tomotomo
0
1k
スタートアップのレガシーシステムをAws活用で改善している話
tomotomo
0
470
Other Decks in Technology
See All in Technology
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
300
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
100
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Engineer Career Talk
lycorp_recruit_jp
0
150
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
750
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Making Projects Easy
brettharned
115
5.9k
Optimizing for Happiness
mojombo
376
70k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Language of Interfaces
destraynor
154
24k
Designing for Performance
lara
604
68k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Practical Orchestrator
shlominoach
186
10k
Transcript
ʮJTBBYʯΛͬͨ 1P$͔ΒϓϩμΫγϣϯ·Ͱͷ։ൃ 2018.2.23 Fri JTBBY6( ͘͞ΒΫϥϒڞ࠵*P5ษڧձ !αΠϘζגࣜձࣾେࡕΦϑΟε
ࣗݾհ w ਿాࢸ!UPNPUPNPCJMF w גࣜձࣾ94)&--Ϗδωε։ൃϚωʔδϟʔ ˞ΤϯδχΞͰ͋Γ·ͤΜ w ஶॻʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖʯ w ࡢ݄ɺେࡕϚϥιϯ͠·ͨ͠
w ࡢ݄ɺస৬Ͱେࡕ͔Β౦ژʹҾͬӽ͠·ͨ͠ w ࠓϲ݄ͿΓͷେࡕͰ͢ w ͓ञ͕େ͖Ͱ͢ɻओʹژڮɾఱຬΛҿΈา͍ͯ·ͨ͠
94)&--ʢΤΫγΣϧͱಡΈ·͢ʣ ԿͬͯΔձࣾʁ *P5ͷडୗ։ൃ σόΠε։ൃ σόΠεΞϓϦέʔγϣϯ։ൃ *P5ษڧձ JTBBY6TFS(SPVQIUUQTDBNQJTBBYJP اۀ͚ɺֶߍ͚ *P54BB4JTBBYͷ։ൃ ࠓ͓͢Δ༰
*P5ͷडୗ։ൃ
*P5ʹΑΔόε҆શӡసࢧԉγεςϜ όεӡసखͷߴྸԽΛղܾ͘͢ɺόεӡసखͷ݈߁ঢ়ଶΛԕִͰѲɺ ࢹ͢ΔγεςϜΛ։ൃɻ(I[ͷϚΠΫϩϨʔμʔΛ࠲੮ͷޙΖʹऔΓ ͚ͯɺΫϥυ͔Βͷ݈߁ঢ়ଶѲΛ࣮ݱɻ Έͳͱ؍ޫόε͕ӡߦ͢Δͷ࿏ઢόεͰ࣮ূߦɻ ϓϨεϦϦʔε IUUQTXXXJTJEDPKQOFXTSFMFBTFIUNM
γεςϜͷ֓ཁ ͜ͷ෦Λ୲
94)&--͕1P$Ͱͬͨ͜ͱ σόΠεΛ։ൃ ৺ഥɾݺٵηϯαʔͱं྆ηϯαʔ *P5ήʔτΣΠ *P5ήʔτΣΠͷԕִΞοϓσʔτ ౦ژͷ94)&--ΦϑΟεͰ։ൃͨ͠৽͍͠Ξϓ ϦέʔγϣϯΛɺਆށͷόεʹҰ੪৴ JTBBY ΞΠβοΫε ΛͬͨͷͰɺݱʹߦ͘
͜ͱͳ͘Ξοϓσʔτ͢Δ͜ͱ͕ग़དྷͨ ˞ৄ͘͠ޙͰ
*P5ษڧձ
*P5ษڧձ͜Μͳ͜ͱͯ͠·͢ ࣌ؒͰ(JUͰཧ͢Δ*P5ΧϝϥσόΠε։ൃΛମݧ ࢀՃऀͷײ w ͜Μͳʹ؆୯ʹͰ͖ΔͱࢥΘͳ͔ͬͨ ιϑτ ΣΞΤϯδχΞ w (JUIVCʹ1VTI͢Δ͚ͩͰσόΠεΛߋ৽Ͱ͖
ΔͷศརͰ͢Ͷ ઐֶߍߨࢣ w ͲΜͳ͜ͱ͕ग़དྷΔͷ͔ͷΠϝʔδ͕͔ͭΊͨ ࣄۀ෦Ϛωʔδϟʔ
໌ޙσδϋϦେࡕͰΓ·͢ IUUQTJTBBYVHDPOOQBTTDPNFWFOU ˞͝ΊΜͳ͍͞ɺΩϟϯηϧͪͰ͢
IUUQTDBNQJTBBYJP ΠϕϯτใJTBBYDBNQ ΞΠβοΫɾεΩϟϯϓ Ͱ֬ೝ ͝ཁ͕͋Εاۀ͚ʹ࣮ࢪ͠·͢
ࠓͷຊɿJTBBY ΞΠβοΫε IUUQTJTBBYJP
*P5ʹΑΔόε҆શӡసࢧԉγεςϜΛ࣮ݱ͢Δʹ ਆށࢢपลΛΔͷόεʹઃஔ͞Εͨ*P5(8 ͷԕִΞοϓσʔτ͕ඞཁɻ JTBBY͕͔͋ͬͨΒग़དྷ͚ͨͲɺɺɺ
JTBBYແ͠ͰΖ͏ͱ͢Δͱᶃ શσόΠεʹάϩʔόϧIPৼΓग़͢ͷʁશσόΠεͷ'JSFXBMMઃఆ͢Δͷʁ SSHϙʔτ։͚ͱ͘ͷʁ͍ͬͯ͏͔44)ͰϩάΠϯ͢Δͷʁ άϩʔόϧ*1 άϩʔόϧ*1 άϩʔόϧ*1 44) 44) 44)
JTBBYແ͠ͰΖ͏ͱ͢Δͱᶄ ݁ہIPৼΓग़͢ͷʁ୭͕ωοτϫʔΫઃܭ͢Δͷʁ ͍ͬͯ͏͔11SSHͰϩάΠϯ͢Δͷʁ άϩʔόϧ*1 άϩʔόϧ*1 άϩʔόϧ*1 44) 44) 44) ดҬͰ҆৺
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ։ൃ ίʔυΛ1VTI Ξοϓσʔτ OTAߋ৽ͷΈ͕ҰॠͰʂ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ΦϑΟε͔Β ຊதͷσόΠεΛ Ξοϓσʔτʂ ։ൃڥͰ্ख͘ ಈ͍ͨͷΛ1VTI
JTBBYͷදతͳػೳͭ σόΠεߋ৽ ϞχλϦϯά ڥม εΫϦϓταʔϏε
6TF$BTF ΞϓϦέʔγϣϯͷ ηΩϡϦςΟϗʔϧ͕ݟ͔ͭͬͨʂ ʢσόΠεߋ৽ʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ ։ൃڥͰͨ͠ ΞϓϦΛσϓϩΠ
6TF$BTF σόΠεͷΞϓϦέʔγϣϯ ͕ͨ͠ʂ ʢϞχλϦϯάʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ JTBBYΫϥυͰ σόΠεΛ ൃݟ͠ఀࢭ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ ։ൃڥͰमਖ਼ͯ͠ ಈ͍ͨͷΛσϓϩΠ
6TF$BTF "1*ͷΤϯυϙΠϯτ͕ มΘͬͨʂ ʢڥมʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ JTBBYΫϥυͰ ڥมΛมߋ
6TF$BTF ϛυϧΣΞͷ ηΩϡϦςΟϗʔϧ͕ݟ͔ͭͬͨʂ ʢεΫϦϓταʔϏεʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ JTBBYΫϥυͰ Ξοϓσʔτ εΫϦϓτΛ࣮ߦ
ਪಈ࡞ڥɾσόΠεར༻ྫ ରԠՄೳͳϓϥοτϑΥʔϜ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
࣮ࡍͷ͍ํͷհ
JTBBYͷදతͳػೳͭͷ͍ํ σόΠεߋ৽ ϞχλϦϯά ڥม εΫϦϓταʔϏε
ͨͬͨͷεςοϓͰ (JUϓϩδΣΫτͱJTBBYϓϩδΣΫτΛඥ͚Δ σόΠεʹJTBBYΤʔδΣϯτΛΠϯετʔϧʢϫϯϥΠφʔʣ ։ൃͨ͠σόΠεΞϓϦέʔγϣϯΛ(JUʹ1VTI͢Δ͚ͩ (JU͔ΒσόΠε·ͰJTBBY͕ࣗಈͰͬͯ͘ΕΔ
(JUϓϩδΣΫτͱ JTBBYϓϩδΣΫτΛඥ͚Δ
(JUIVCͷϓϩδΣΫτΛ࡞ ࢼ͍ͨ͠ํҎԼͷϓϩδΣΫτΛ'PSL͍ͯͩ͘͠͞ IUUQTHJUIVCDPNZFOUTVOOPEFSFEXBUDI JTBBYKTPO͕ඞਢ
JTBBYKTPOͷத ىಈεΫϦϓτ͕ఆٛ͞Ε͍ͯΔ͚ͩ αϯϓϧIUUQTHJUIVCDPNZFOUTVOOPEFSFEXBUDICMPCNBTUFSJTBBYKTPO
ϓϩδΣΫτΛ৽ن࡞ IUUQTJTBBYJPʹϩάΠϯˠμογϡϘʔυ ˠʴϘλϯΛΫϦοΫ
(JUIVCͷϦϙδτϦΛબ ϦϙδτϦ͕දࣔ͞Εͳ͍߹ɺΠϯςάϨʔγϣϯ ը໘Ͱ(JUIVCͱͷଓͰ͖͍ͯΔ͔֬ೝ͍ͯͩ͘͠͞
σόΠεʹ JTBBYΤʔδΣϯτΛΠϯετʔϧ ʢϫϯϥΠφʔʣ
ΫϥελʔΛબͯ͠ʜ
Raspberry Pi
։ൃͨ͠σόΠε ΞϓϦέʔγϣϯΛ (JUʹ1VTI͢Δ͚ͩ
isaaxʹొͨ͠σόΠε͕Ұ੪ʹΞοϓσʔτ ։ൃ ίʔυΛ1VTI Ξοϓσʔτ
JTBBYͷදతͳػೳͭͷ͍ํ σόΠεߋ৽ʢࡁʣ ϞχλϦϯά ڥม εΫϦϓταʔϏε
ϞχλϦϯά
σόΠε֤छͷใ͕֬ೝͰ͖·͢ ࢮ׆ࢹ ϩʔΧϧ*1 .BDΞυϨε
σόΠεͷΤϥʔϩά͕ݟ͑ΔͷͰಛఆ͕͠ ͘͢ΞϓϦέʔγϣϯͷमਖ਼͕͔ͲΓ·͢ɻ
ڥม
ΫϥελʔΛબͯ͠ʜ
ιʔείʔυʹॻ͖ͨ͘ͳ͍ ڥมJTBBYΫϥυͰཧͯ͠ʜ ΞϓϦέʔγϣϯ࠶ىಈʂ
σόΠεͷڥม͕ߋ৽͞Ε·ͨ͠ ʢ৴༻Ͱ͖ͳ͍ਓ֬ೝͯ͠ʣ
εΫϦϓταʔϏε
ΫϥελʔΛબͯ͠ʜ
εΫϦϓτͷछྨछྨ w QSFJOTUBMM w ΞϓϦέʔγϣϯΛΠϯετʔϧ͢Δલ ॳظԽ࣌ ʹ࣮ߦ ͞Ε·͢ w ྫ͑ॳճͷڥઃఆεΫϦϓτΛ࣮ߦ
w QSFVQEBUF w ΞϓϦέʔγϣϯͷߋ৽લʹ࣮ߦ͞Ε·͢ w ࠷৽ͷιʔείʔυΛμϯϩʔυ͢ΔલʹΓ͍ͨ͜ͱ w QPTUVQEBUF w ΞϓϦέʔγϣϯͷߋ৽ޙʹ࣮ߦ͞Ε·͢ w ྫ͑ґଘύοέʔδͷߋ৽εΫϦϓτ
υΩϡϝϯτͪ͜Β IUUQTJTBBYJPEPDT
ʮJTBBYʯΛͬͨ 1P$͔ΒϓϩμΫγϣϯ·Ͱ ͷ։ൃ
ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ݕূڥͰςετͨ݁͠ՌΛݩʹ ։ൃڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ཧ͢ΔσόΠε̎ʙఔɻ ։ൃڥ ݕূڥ ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ ͷͨΊʹ05"ߋ৽ͷΈ͕ඞਢɻ
ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ ͷͨΊʹ05"ߋ৽ͷΈ͕ඞਢɻ ˍ ӽ͑ΒΕͳ͍น
ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ݕূڥͰςετͨ݁͠ՌΛݩʹ ։ൃڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ཧ͢ΔσόΠε̎ʙఔɻ ։ൃڥ ݕূڥ ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ ͷͨΊʹ05"ߋ৽ͷΈ͕ඞਢɻ
JTBBYΛͬͨϓϩμΫγϣϯͷҠߦ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ݕূڥͰςετͨ݁͠ՌΛݩʹ ։ൃڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ཧ͢ΔσόΠε̎ʙఔɻ ։ൃڥ ݕূڥ ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ JTBBYͰݕূڥʹσϓϩΠɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ JTBBY͚ͩͰ݁ɻ
JTBBY͕ࢦ͢ੈք w ୭͕*P5ͷ։ൃΛखܰʹͰ͖Δੈք w 05"ηΩϡϦςΟʹֻ͔͍ͬͯͨίετΛσβ ΠϯΞϓϦʹ͑ΔΑ͏ʹͳΔ w ϦιʔεΛ*P5ιϦϡʔγϣϯ։ൃʹूதͰ͖Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠