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
370
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
290
Ladder Drive - To start IoT for manufacturing.
itosoft
0
42
irBoard活用可能性
itosoft
0
99
東北IT物産展2016スポンサーLT
itosoft
0
66
iQ-FとirBoardの接続設定
itosoft
0
580
iQ-RとirBoardの接続設定
itosoft
0
600
デジコミュ秋田 2015 オープニング
itosoft
0
1.5k
デジコミュ秋田 2015 LT 極上の密林
itosoft
0
400
はじめてのCDQ
itosoft
1
240
Other Decks in Technology
See All in Technology
Road to Single Activity
yurihondo
1
230
AIで変わるテスト自動化:最新ツールの多様なアプローチ/ 20240910 Takahiro Kaneyama
shift_evolve
0
210
Tricentisにおけるテスト自動化へのAI活用ご紹介/20240910Shunsuke Katakura
shift_evolve
0
180
不動産 x AIことはじめ~データの真価を拓くために
estie
0
110
LLVM/ASMを使った有限体の高速実装
herumi
0
120
DroidKaigi 2024 たすけて!ViewModel
mhidaka
5
880
自作Cコンパイラ 8時間の奮闘
soukouki
0
830
フルカイテン株式会社 採用資料
fullkaiten
0
32k
プログラム検証入門
riru
6
860
可視化により内部品質をあげるAIドキュメントリバース/20240910 Hiromitsu Akiba
shift_evolve
0
200
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
1.3k
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
180
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
16
960
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Documentation Writing (for coders)
carmenintech
65
4.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Writing Fast Ruby
sferik
623
60k
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
Why Our Code Smells
bkeepers
PRO
334
56k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
89
16k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
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ར༻ͷϝϦοτ • ࣌ؒɺਓһͷݮ => ਓखෆͷղফ • අ༻ͷݮ => ෦ͷݮ => খܕԽ • কདྷύιίϯΛ༻͍ͨஔͷϦϞʔτͱͯ͠ར༻Ͱ͖Δ༷ʹݕ౼த