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
irBoardの紹介と クラウドサービスの活用
Search
Katsuyoshi Ito
December 03, 2018
Technology
1
460
irBoardの紹介と クラウドサービスの活用
平成30年度IoT現場実践研修会IoT公開セミナーでの講演資料
2018/12/3 秋田県立大学本荘 キャンパスAVホール にて開催
Katsuyoshi Ito
December 03, 2018
Tweet
Share
More Decks by Katsuyoshi Ito
See All by Katsuyoshi Ito
irBoard(アイアールボード) について
itosoft
0
550
Ladder Drive - To start IoT for manufacturing.
itosoft
0
56
irBoard活用可能性
itosoft
0
130
東北IT物産展2016スポンサーLT
itosoft
0
89
iQ-FとirBoardの接続設定
itosoft
0
600
iQ-RとirBoardの接続設定
itosoft
0
630
デジコミュ秋田 2015 オープニング
itosoft
0
1.6k
デジコミュ秋田 2015 LT 極上の密林
itosoft
0
470
はじめてのCDQ
itosoft
1
270
Other Decks in Technology
See All in Technology
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
270
Pure Goで体験するWasmの未来
askua
1
180
AWSにおけるTrend Vision Oneの効果について
shimak
0
130
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
430
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
1
450
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
600
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
350
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
2
180
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
180
Green Tea Garbage Collector の今
zchee
PRO
2
390
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
410
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
140
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
339
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
It's Worth the Effort
3n
187
28k
Practical Orchestrator
shlominoach
190
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Unsuck your backbone
ammeep
671
58k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Cult of Friendly URLs
andyhume
79
6.6k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Transcript
JS#PBSEͷհͱ ΫϥυαʔϏεͷ׆༻ ฏ*P5ݱ࣮ફݚमձ*P5ެ։ηϛφʔ ༗ݶձࣾҏ౻ιϑτσβΠϯ ҏ౻উྑ 2018/12/3
[email protected]
"HFOEB wJS#PBSEʹ͍ͭͯ w*P5ʹ͍ͭͯ wΫϥυαʔϏεͷ׆༻ʹ͍ͭͯ
ࣗݾհ w େઋࢢଠాொ w ԞӋࢁ຺ͷ w ळాۀߴઐֶߍଔ w ٶӽਫ਼ػגࣜձࣾࠃݟ w
ຊٕݚ w ༗ݶձ͓͓ࣾ͏ॏػ༗ݶձࣾҏ౻ιϑτσβΠϯ w ιϑτ8FCͷใަΛߦ͏ ίϛϡχςΟʔ"LJUBN ΞΩλΤϜ Λ্ཱͪ͛ w ຖ݄։࠵͍ͯͯ͠དྷΛܴ͑Δ w ӪࢁӡߦγεςϜ
ۀ༰ • PLCؔ࿈ͷιϑτมߋɺ։ൃ • εϚʔτϑΥϯɺλϒϨοτ(iOS)ΞϓϦ • όοΫΤϯυͱͯ͠WebΞϓϦέʔγϣϯ։ൃ • PCΛ༻੍͍ͨޚɺଌఆιϑτ •
ΈࠐΈιϑτ
JS#PBSE IUUQTJSCPBSEJUPTPGUDPN
தݎɾதখۀ͚̞̩̾ πʔϧˍϨγϐ w *P5ͷ׆༻ଅ͢త w ΑΓ؆୯ʹίετͰ͑ΔۀΞϓϦέʔγϣϯ ηϯαʔϞδϡʔϧࣄྫΛͬͯΒ͏ w ϩϘοτֵ໋ΠχγΞςΟϒڠٞձ͕ืू w
ܦࡁ࢈ۀল͕ࢧԉ w ୈҰճ w IUUQTXXXKNGSSJHSKQJOGPSSJ w ୈೋճ w IUUQTXXXKNGSSJHSKQFWFOUTFNJOBS w ୈҰճɺୈೋճڞʹ৹ࠪҕһͷҰԡ͠πʔϧͱͯ͠બΕΔ w બΕͨπʔϧɺϨγϐࢠͱͯ͠·ͱ·͍ͬͯ·͢ w IUUQTDPOUFOEPKQTUPSFJUFCPPL1SPEVDU -JTU NPEFTFBSDI@DSFBUPSRϩϘοτֵ໋ΠχγΞςΟϒڠٞձ
ἚεϚʔτͷͮ͘Γ Ԡԉπʔϧలࣔձ w ฏ݄ ۚ d w Ἒݝ࢈ۀٕज़Πϊϕʔγϣϯηϯλʔ w ϩϘοτֵ໋ΠχγΞςΟϒڠٞձ͕બఆͨ͠ʮΠνΦγπʔ
ϧʯΛలࣔɹ ݅͘Β͍ w JS#PBSEలࣔ͠·͢ w IUUQXXXIUDDPKQXQDPOUFOUVQMPBET UFOKJQEG
*P5πʔϧͷྨ IUUQTXXXKNGSSJHSKQFWFOUTFNJOBSIUNM JS#PBSE
iPadΛλονύωϧʹ
PLC • ϓϩάϥϚϒϧϩδοΫίϯτϩʔϥʢӳprogrammable logic controllerɺ1-$ʣɺϦϨʔճ࿏ͷସஔͱͯ͠։ ൃ͞Ε੍ͨޚஔͰ͋ΔɻϓϩάϥϚϒϧίϯτϩʔϥͱ ݺΕɻ ʙ WikipediaΑΓ ʙ
w ੜ࢈ઃඋͳͲͷࣗಈԽ '" ͷ ੍ޚஔͱͯ͠ΘΕ͍ͯΔ w ۙ-"/ΠϯλʔϑΣΠε͕ඪ४
ରԠPLC&௨৴ϓϩτίϧ ϝʔΧʔ ػछ ϓϩτίϧ ࡾඛిػ FɺQɺLɺiQ γϦʔζ MC Protocol MX
Component ΩʔΤϯε KVγϦʔζ ্Ґ௨৴ ΦϜϩϯ CJɺCP1γϦʔζ FINS/TCP ԣՏిػ FA-M3V e-RT3 ্Ґ௨৴ MODBUS MODBUS/TCP Ethernetଂػछ·ͨEthernetϞδϡʔϧ͕ඞཁ γϦΞϧ&UIFSOFUมثͰैདྷͷʹଓͰ͖Δ༷औΓΈத
irBoardΛ͏खॱ • iOSσόΠεΛ४උ • iPadɺ iPhoneɺ iPod touch • irBoardΛߪೖ
• ༻్ʹ߹Θ༷ͤͯʑͳΤσΟογϣϯ͕͋Γ·͢ • Lite൛ແྉͰ1ʹ࣮ػͱ60ଓՄೳͰධՁ༻ • ը໘Λ࡞͢Δ • ௨৴ڥΛ͑Δ • λονύωϧͱ࣮ͯ͠ߦ͢Δ
ը໘࡞
ΦʔϧΠϯϫϯ USB/LAN ฤूιϑτ ը໘σʔλ ը໘ฤू ӡ༻ ӡ༻ ฤू Ұೋ irBoard
Ұൠత ͦͷͰ༰қʹ มߋͰ͖Δ
ϓϩδΣΫτ •PLCʹର͢Δը ໘ηοτ •ͦΕͧΕ͕1ͭͷ PLCʹର͢Δը໘ ηοτΛද͢
ϓϩδΣΫτ࡞ 1.PLCͷϝʔΧʔΛબ 2.ػछબ 3.ଓઃఆ I. ϓϩτίϧ II.IPΞυϨε 4.ΠϯλϥΫγϣϯ
ϖʔδ • ϕʔεͱͳΔ •എܠ৭ •എܠը૾ •෦ஔ •Ճ •আ
෦ w Ϙλϯ w ϥϕϧ w w όʔίʔυϦʔμʔ w
εϥΠμʔ w ϝʔλʔ
௨৴ڥΛ͑Δ
LANଓ Wi-Fi ϧʔλʔ PLC iPad + irBoard Wi-Fi ଓ
֎͔Βͷଓ VPNαʔόʔ(※1)ػೳ͖ ϧʔλʔ (L2TPϓϩτίϧਪ) PLC iPad + irBoard Internet LTE/3G
VPNଓ ※1 macOS ServerͳͲΛ༻͍ͯߏ͢Δ͜ͱՄೳ iOSʹ VPNΫϥΠΞϯτػೳ͕ ඪ४Ͱೖ͍ͬͯΔ
࣮ߦ w 1-$ͱଓ w ෦σόΠε ͷಡΈॻ͖
irBoardͷ׆༻
ϦϞʔτࢹ • Εͨॴ͔Βෳͷঢ়گ ΛѲͰ͖Δɻ • ձࣾΛԣஅͯ͠ࢹ͢ Δ͜ͱՄೳ • αϙʔτ •
ΤϥʔͳͲͦͷͰঢ়گ Ѳ͔ͯ͠Βରॲ • Ҡಈ࣌ؒͷઅ
ϦϞίϯ • ௨ৗλονύωϧݻఆ͞Ε͍ͯΔ • ΕͨՕॴͷૢ࡞ʹ͕͋Δ • ஔ࡞࣌ͷಈ࡞֬ೝɺஈऔΓɺ ௐɺϝϯςφϯε => ೋਓͰ࡞ۀɺλονύωϧΛ૿͢
• irBoardΛϦϞίϯͱͯ͠༻ • Ε͍ͯͯҰਓͰ࡞ۀ͕Մೳ λονύωϧΛ૿͑͢ඞཁͳ͘ iPad 1ͰෳͷஔΛ݉༻Ͱ͖Δɻ • খ͍͞ஔ࣮ݧػͳΒॳΊ͔Βλονύωϧ ૢ࡞ϘλϯΛ͚ͭͳ͍ͱ͍͏બɻ => ߪೖඅɺઢɺՃඅݮɺখܕԽ ެӹࡒஂ๏ਓιϑτϐΞδϟ ύϯ'BDFCPPLϖʔδΑΓ
*P5
͞ΕΔཧ༝ w 8FCٕज़ͷॆ࣮ w ΫϥυαʔϏε w Ϧιʔε αʔόʔͳͲ ࣗͰ࣋ͭඞཁ͕ͳ͍ w
ނোʹΑΔஔ͖͕͑ෆཁ w εΫϦϓτݴޠ w εϚϗλϒϨοτͷීٴ w ͍ͭͰɺͲ͜Ͱɺ୭Ͱ׆༻Ͱ͖Δ w Կ͔ىͬͨ࣌͜ʹձࣾʹ͍ͳͯ֬͘ೝͰ͖Δ w *P5σόΠεͷॆ࣮ w ΠϯλʔωοτʹσʔλΛૹΕΔσόΠε͕૿͍͑ͯΔ
ैདྷͷσʔλཧ ஔ ϑϩΞʔ ձࣾ
*P5Λར༻ͨ͠σʔλཧ ձࣾ# ձࣾ" ձࣾ$ ձࣾΛԣஅͨ͠σʔλऩूɺղੳ͕༰қʹ Ͳ͜Ͱར༻Մೳ w ຊࢧళؒ w औҾઌ
w Ϣʔβʔ ԣஅ
*P5ͷߏ Πϯλʔωοτ Ϋϥυ αʔϏε Ϟϊ *P5(8 *P5EFWJDF
ͱʹ͔࢝͘ΊͯΈΑ͏ w ٿΛ͢Εϓϩʹͳͬ ͯτοϓελʔʹͳΕΔ ΜͰ͢Αɻ w ͔ͩΒ࢝Ί·͠ΐ͏ *P5͕͍͍͢͢͝͝ͱݴ͍·͕͢ʜ ٿʹྫ͑Δͱ ࣮ࡍʹ
w ·ͣ࢝ΊΔ ମݧ͢Δ w ࿅श͢Δ w ΩϟονϘʔϧ w ૉৼΓ w ֶश͢Δ w ϧʔϧ w উͭͨΊͷઓज़ w ૬खͷ͜ͱ ॳΊΔࣄͰ͔Δ͜ͱ͕͋Δ
తΛ࣋ͬͯ w লྗԽ w ੜ࢈ੑ্ w ؒҧ͍Λͳ͘͢ w ίϛϡχέʔγϣϯͷԁԽ w
ख़࿅ͷٕΛ୭ͰͰ͖ΔΑ͏ʹ
ؔ࿈ࣝ $MPVEଆ *P5EFWJDFଆ +BWB 4DSJQUݴޠ ɹɹɾ1)1 ɹɹɾ1ZUIPO ɹɹɾ3VCZ ɹɹɾ/PEFKT ɹɹɾ+BWB4DSJQU
42- $ݴޠ 6/*9 *BB4 1BB4 4BB4 ($1 "84
ΫϥυαʔϏε
ΫϥυαʔϏε w 8FCΞϓϦέʔγϣϯ w "1*͕ఏڙ͞Ε͍ͯΔ w ϚΠΫϩαʔϏε w αʔόʔϨε w
*P5ʹԿΒ͔ͷαʔϏε ͕ඞཁ αʔϏε# αʔϏε" αʔϏε$ "1* "1* "1*
ΫϥυαʔϏε w ඞཁͱ͞ΕΔ༷ʹ߹Θͤͯ࡞Γ͜Ήͷ͕Ұ൪͕ͩʜ w ࣗલͰαʔϏεΛ࡞Δͷ݁ߏେม w ϓϩάϥϛϯάΠϯϑϥɺσʔλϕʔεͷ͕ࣝඞཁʹ ͳΔ w *P5ͰωοΫʹͳΔ෦
$MPVEଆ +BWB 4DSJQUݴޠ ɹɹɾ1)1 ɹɹɾ1ZUIPO ɹɹɾ3VCZ ɹɹɾ/PEFKT ɹɹɾ+BWB4DSJQU 42- 6/*9 *BB4 1BB4 4BB4 ($1 "84
ΫϥυαʔϏε w ఏڙ͞Ε͍ͯΔαʔϏεΛ༗ޮʹ׆༻͠·͠ΐ͏ w جຊֹ݄՝ۚ w ͋Δن·ͰແྉͰ͔ͭ͑Δͷ w ۀͰར༻Ͱ͖ͦ͏ͳ͍͔ͭ͘Λհ
*'555 IUUQTJGUUUDPN
*'555 Πϑτ τϦΨʔ ͜Ε͕ى͖ͨΒ w ࣌ؒʹͳͬͨΒ w ϝʔϧΛૹͬͨΒ w ؾԹ͕͍ͭ͘ͳΒ
w Ӎͷ༧ͳΒ w ༧ఆ͕Ճ͞ΕͨΒ w 50%0͕Ճ͞ΕͨΒ w FUD
*'555 Πϑτ ΞΫγϣϯ ͦΕΛ͢Δ w ϝʔϧΛૹΔ w ௨͢Δ 5XJUUFS -*/&
'# w ϑΝΠϧʹه͢Δ w ԻָΛ໐Β͢ w ిΛ͔͚Δ w ౮ΓΛ͚ͭΔ w ༧ఆΛه͢Δ w FUD
*'555 Πϑτ ҟৗ͕ൃੜͨ͠Β ϝʔϧΛૹΔ ͕࣌ؒདྷͨΒ -*/&ΛૹΔ ϑΝΠϧʹه͢Δ ੜ࢈͕ऴྃͨ͠Β ձࣾʹདྷͨΒ ձ͔ࣾΒग़ͨΒ
ަճʹͳͬͨΒ ༧ఆʹొ͢Δ ԻָΛ໐Β͢ ిΛ͔͚Δ 伴Λ͔͚Δ ౮ΓΛ͚ͭΔ τϦΨʔͱΞΫγϣϯͷ Έ߹ΘͤͰ ༷ʑͳࣄ͕Ͱ͖Δ ҟৗ͕ൃੜͨ͠Β-*/&ͰΒͤΔ ϑΝΠϧ͕Ճ͞ΕͨΒ ੜ࢈͕ऴྃͨ͠ΒϝʔϧͰ͠ΒͤΔ
IUUQTBNCJEBUBJP "NCJFOU
"NCJFOU σʔλΛஷΊͯάϥϑԽͯ͘͠ΕΔαʔϏε IUUQTBNCJEBUBJPΑΓ
"NCJFOU Թ ࣪ ೋࢎԽૉೱ ਫҐ ੜ࢈ Քಇঢ়گ ෩ র FUD
JS#PBSEରԠ w ࣮ߦ࣌ʹ"NCJFOUʹσʔλ Λૹ৴
(PPHMF%SJWF
(PPHMF%SJWF w (PPHMFεϓϨουγʔτ w &YDFM w σʔλͷه w ڞಉ࡞ۀ͕Մೳ w
Ұݩཧ w (PPHMFϑΥʔϜ w ΞϯέʔτϑΥʔϜ w ֤छਃɹ ۈଵɺग़ுɺٳՋɺFUD w ࢴ͔ΒσδλϧσʔλͷసهΛͳ͘͢ w ճ(PPHMFεϓϨουγʔτʹ
(PPHMFεϓϨουγʔτ w σʔλͷه w Թɺ࣪ɺྲྀྔɺిѹɺిྲྀ w 1-$Ͱ4%ΧʔυͳͲʹه͢Δ༷ͳ༻్ஔ͖͑Մೳ
IUUQTTMBDLDPN
4MBDL w νϟοτπʔϧ IUUQTTMBDLDPN w ྨࣅαʔϏε w DIBUXPSL IUUQTHPDIBUXPSLDPNKB
w ίϛϡχέʔγϣϯͷԁԽ w ใͷڞ༗
4MBDL w ϩΪϯάͷهॴ w τϨʔαϏϦςΟ w νϟϯωϧͰࣄΛྨͰ͖Δ
IUUQTUSFMMPDPN
5SFMMP w λεΫཧ w ྨࣅαʔϏε w #BDLMPH IUUQTCBDLMPHDPNKB w
$ISPNF֦ுͰػೳՃ w ΨϯτνϟʔτදࣔͳͲ
λεΫཧ w 50%0Ϧετ w υϥοΫͰ༰қʹϦετؒΛҠಈͰ͖Δ
՝ཧ w &YDFMͰͷཧ w ༰қʹίϐʔ͕࡞ΕΔ w ෳਓͰߋ৽͢Δͱ࠷৽͕ͲΕ͔͔Βͳ͘ͳΔ
՝ཧ w 5SFMMPͰͷཧ w ҰݩཧͰෳਓͰ ͷ࡞ۀʹରԠ w ະॲཧɺॲཧࡁΈ͕ ҰͰ͔Δɻ w
ίϝϯτΛ͢ͱܦ Ң͕࣌ܥྻͰ֬ೝͰ ͖·͢ɻ ୭ʹґཔͯ͠୭͕ର Ԡ͔ͨ͠
ఔཧ w Ͳͷ͕Ͳͷఔʹ͍Δ͔Λදࣔ w *P5EFWJDF͔ΒϦΞϧλΠϜͰߋ৽ w ݱࡏͷঢ়گ͕֬ೝͰ͖Δ w ࣌ؒॱ൪͕ه͞ΕΔ
ΫϥυαʔϏεͱ *P5ͷ࿈ܞ
Ͳ͏ͬͯ࿈ܞ͢Δ͔ʁ w "1*͕༻ҙ͞Ε͍ͯΔ w ϓϩάϥϛϯά͕ඞཁ w ग़དྷΔ͚ͩϓϩάϥϛϯάͳ͠Ͱ Ͱ͖ͳ͍͔ʁ αʔϏε# αʔϏε"
αʔϏε$ "1* "1* "1*
-BEEFS%SJWF • ࣮ݧతϓϩδΣΫτɹ • RubyͰ༰қʹPLCͷσόΠεͷಡΈॻ͖͕Մೳ • plc["DM0"] = 1234 •
Φʔϓϯιʔε • https://github.com/ito-soft-design/ladder_drive/blob/ master/README_jp.md • ͔͜͜ΒͷdevelopϒϥϯνͰ։ൃதͰgemʹ·ͩ ө͞Ε͍ͯ·ͤΜɻ • 0.6.0͕ϦϦʔεʹͳΓ·ͨ͠ɻ • ݩʑͷతɹ=> PLCʹԾPLCΛ࡞Δ • => IoT Gateway ͱͯ͠ͷ༻్ʹΓସ͑
Ծ1-$ w JS#PBSEͱଓՄೳ w 3BTQCFSSZ1Jͷ*0͕ೖ ग़ྗͱͯ͠ར༻
ϓϥάΠϯʹΑΔ֦ு w -%؆୯ͳ͜ͱ͔͠Ͱ͖ͳ͍ͷͰϓϥάΠϯͰ֦ு w 3VCZͰߦఔ -BEEFS%SJWF σʔλۭؒ *'555ϓϥάΠϯ (PPHMF%SJWFϓϥάΠϯ 4MBDLϓϥάΠϯ
5SFMMPϓϥάΠϯ 1-$NBQQFSϓϥάΠϯ ಡΈॻ͖ 3VCZ
ϓϥάΠϯ ઃఆϑΝΠϧ -BEEFS%SJWF ෳͷ1-$͔Βใऩू ϓϥάΠϯΛ͏ͱ ΫϥυαʔϏε JS#PBSE ͦͷଞͷใ ͚ͩ͜͜ͰࡁΉ σʔλۭؒ
۩ମྫ w 5SFMMPͰͷఔཧ w ݱදʹ23ίʔυΛ͚Δɻ γʔϧϥϕϧͰ0, w JS#PBSEͰ23ίʔυಡΈऔΓ w 5SFMMPʹө͞ΕΔ
w ஔʹࡉ͢Δඞཁͳ͘*P5ԽͰ͖Δɻ ݱද " ఔ༻JS#PBSEͰಡΈऔΓ ड͔ΒఔʹҠಈ ࣌ؒه͞ΕΔ
·ͱΊ • IoT • ԿͰ͍͍ͷͰ࢝ΊͯΈ·͠ΐ͏ • Εݟ͑ͯ͘Δ͜ͱ͕͋Δ • ΫϥυαʔϏε •
৽ͨʹ࡞ΔΑΓɺ͋ΔͷΛͯ͠͏ͱ͜Ζ͔Β • APIΛѻ͑Δఔͷࣝඞཁ • ֶश͢Δ • ಘҙͳํΛҾ͖ࠐΉ • Ladder Driveͷ༷ͳΛݟ͚ͭΔ • ίϛϡχςΟ • ؒ • ใަɺڞ༗ • irBoardར༻ͷϝϦοτ • ࣌ؒɺਓһͷݮ => ਓखෆͷղফ • අ༻ͷݮ => ෦ͷݮ => খܕԽ • কདྷύιίϯΛ༻͍ͨஔͷϦϞʔτͱͯ͠ར༻Ͱ͖Δ༷ʹݕ౼த