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
390
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
340
Ladder Drive - To start IoT for manufacturing.
itosoft
0
45
irBoard活用可能性
itosoft
0
100
東北IT物産展2016スポンサーLT
itosoft
0
69
iQ-FとirBoardの接続設定
itosoft
0
580
iQ-RとirBoardの接続設定
itosoft
0
610
デジコミュ秋田 2015 オープニング
itosoft
0
1.5k
デジコミュ秋田 2015 LT 極上の密林
itosoft
0
420
はじめてのCDQ
itosoft
1
240
Other Decks in Technology
See All in Technology
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
590
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
340
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
210
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Engineer Career Talk
lycorp_recruit_jp
0
180
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
Featured
See All Featured
A better future with KSS
kneath
238
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
What's new in Ruby 2.0
geeforr
343
31k
Automating Front-end Workflow
addyosmani
1366
200k
Being A Developer After 40
akosma
86
590k
Building an army of robots
kneath
302
43k
BBQ
matthewcrist
85
9.3k
Practical Orchestrator
shlominoach
186
10k
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ར༻ͷϝϦοτ • ࣌ؒɺਓһͷݮ => ਓखෆͷղফ • අ༻ͷݮ => ෦ͷݮ => খܕԽ • কདྷύιίϯΛ༻͍ͨஔͷϦϞʔτͱͯ͠ར༻Ͱ͖Δ༷ʹݕ౼த