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
iOSDC 2019 BLE
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
coe
September 01, 2019
Technology
3.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOSDC 2019 BLE
iOSDC 2019 BLE and L2CAP
coe
September 01, 2019
More Decks by coe
See All by coe
すべてのヘルスケアデータを紐解く.pdf
coe
0
3.5k
About HealthKit nutrition
coe
0
490
Kotlin Dynamic type
coe
0
420
iOSDC 2023 Web in tvOS and watchOS
coe
1
1.1k
iOSDC 2023 Push To Talk
coe
1
2.8k
iOSDC手で触れずにアプリを動かす技術
coe
1
2.3k
iOSDC令和時代のXML処理を考える
coe
3
3.2k
iOSDC 2021 Restore
coe
6
2.4k
詳解Storyboard
coe
7
4.2k
Other Decks in Technology
See All in Technology
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
1
200
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
270
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
180
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
230
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
190
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
1.6k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
650
reFACToring
moznion
1
1.1k
Pavlokで始める電撃駆動開発
sgrsn
0
150
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
410
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
100
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Crafting Experiences
bethany
1
240
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
Building the Perfect Custom Keyboard
takai
2
830
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
#-&ͰJ04"OESPJEؒͰ ͦͦ͜͜େ͖ͳαΠζͷσʔλ௨ ৴Λ࣮ݱ͢Δ -$"1͋ΔΑ J04%$ڧ
ࣗݾհ w ڧʢ5TVZPTIJ)ZVHBʣ w גࣜձࣾ"NB[JB w !DP⒎FFHZVOZV w IUUQTHJUIVCDPNDPF w
J1IPOF04ʙ w "OESPJE%POVUʙ w 5JUBOJVN.PCJMF w UW04ʙ
rIUUQXXXBQQCBOLOFUJQIPOFBQQMJDBUJPO QIQ
rिץϓϨΠϘʔΠ݄߸
None
None
ΞδΣϯμ
ΞδΣϯμ w ͡Ίʹ w-$"1ʹΑΔ௨৴ w #-&Ͱͷ௨৴ w ͓͔͍͠ͳɺͱࢥͬͨΒ
͡Ίʹ
͡Ίʹ
͡Ίʹ ϖʔδ
ಡΜͩ͜ͱͳ͍ਓͰσʔλ ަͰ͖ΔΑ͏ʹͳΓ·͢ σʔλަ͔͠͠·ͤΜ
͡Ίʹ
1FSJQIFSBM $FOUSBM ͡Ίʹ ೋͭͷϩʔϧʹΘ͔ΕΔ
1FSJQIFSBM $FOUSBM 1FSJQIFSBM ΞυόλΠζʢࠂʣύέοτΛൃ৴ͯࣗ͠Λݟ ͚ͭͯΒ͏
1FSJQIFSBM $FOUSBM $FOUSBM ΞυόλΠζΛεΩϟϯͯ͠ɺతͷ1FSJQIFSBMΛ ୳͢
1FSJQIFSBM $FOUSBM $FOUSBM͕1FSJQIFSBMΛൃݟͰ͖ͨΒɺଓΛߦ ͍ɺσʔλ௨৴ͷ४උΛߦ͏ ίωΫγϣϯͷཱ֬
1FSJQIFSBM $FOUSBM ίωΫγϣϯͷཱ֬ ଓͨ͠Βɺσʔλ௨৴Ͱ͖ΔΑ͏ʹͳΔ
ͨͩ͠
$FOUSBM $FOUSBM ҙ ϋʔυΣΞͷதʹɺ1FSJQIFSBMʹͳΕͳ͍ ଘࡏ͢Δ
$FOUSBM $FOUSBM ҙ ϋʔυΣΞͷதʹɺ1FSJQIFSBMʹͳΕͳ͍ ଘࡏ͢Δ
1FSJQIFSBMʹͳΕͳ͍ w "QQMF57 w "QQMF8BUDI w /FYVT w FUDʜ
ࠓճͷൣғ
ࠓճͷൣғ w $FOUSBM㱻1FSJQIFSBMͷଓํ๏ʹׂ͍ͭͯѪ͠·͢ w $FOUSBM㱻1FSJQIFSBMؒͷ࠷దͳσʔλަʹ͍ͭͯઆ ໌͠·͢
-$"1
rIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFCMVFUPPUI DCQFSJQIFSBMNBOBHFSQVCMJTIMDBQDIBOOFM
-$"1ʹ͍ͭͯ w -$"1ɺ-PHJDBM-JOL$POUSPMBOE"EBQUBUJPO 1SPUPDPMͷলུͰʙ
-$"1ʹ͍ͭͯ w -$"1ɺ-PHJDBM-JOL$POUSPMBOE"EBQUBUJPO 1SPUPDPMͷলུͰʙ w ຊηογϣϯͰɺಉ࢜Λଓͯ͠ɺํͰσʔλ ૹड৴ΛμΠϨΫτʹѻ͏ํ๏ʹ͍ͭͯઆ໌͠·͢
-$"1ʹΑΔํ௨৴
-$"1ʹΑΔํ௨৴ ͓ޓ͍͕ɺ$FOUSBMɺ1FSJQIFSBMͷ͚۠ͳ͘ɺ *OQVU0VUQVUՄೳͳετϦʔϜΛ࣋ͪσʔλૹड৴Λߦ͑Δ
-$"1ʹΑΔํ௨৴ J04 "OESPJE iOS11Ҏ্ Android 10
ϝϦοτ
ϝϦοτ w #-&ͷ༷ΛʢͦΜͳʹʣΒͳ͍͍ͯ͘ w ଓ͠ऴΘͬͨΒɺσʔλ௨৴෦4USFBNͳϓϩά ϥϛϯά w ϦΞϧλΠϜͳΓͱΓΓ͍͢ w ߴ
-$"1ʹΑΔ ํ௨৴ͷखॱ
1FSJQIFSBM $FOUSBM -$"1ʹΑΔํ௨৴ ैདྷ௨Γಉ࢜Λଓ͢Δඞཁ͕͋Δ
1FSJQIFSBM $FOUSBM -$"1ʹΑΔํ௨৴ -$"1௨৴༻ͷ$IBOOFMΛ༻ҙ͢Δ
1FSJQIFSBM $FOUSBM -$"1ʹΑΔํ௨৴ 14.ͱ͍͏൪߸͕͍ग़͞ΕΔ
1FSJQIFSBM $FOUSBM -$"1ʹΑΔํ௨৴ 1FSJQIFSBMଆͰ͍ग़͞Ε͍ͯΔ14.Λࢦఆ͠ɺ -$"1$IBOOFMͷΦʔϓϯΛߦ͏
1FSJQIFSBM $FOUSBM -$"1ʹΑΔํ௨৴ -$"1$IBOOFM͕Φʔϓϯ͞Εͨ͜ͱΛ͓ޓ͍ݕ͢Δ
1FSJQIFSBM $FOUSBM -$"1ʹΑΔํ௨৴ ํ௨৴
ͦΕͧΕ 04ຖʹݟ͍ͯ͘
-$"1ʹΑΔํ௨৴ J04 "OESPJE -$"1௨৴༻ͷ $IBOOFMΛ༻ҙ͢Δ CBPeripheralManager#publis hL2CAPChannel(withEncrypti on:) BluetoothAdapter#listenUsin gL2capChannel()
14.ͱ͍͏൪߸͕͍ग़ ͞ΕΔ CBPeripheralManagerDelegat e#peripheralManager(_:didPu blishL2CAPChannel:error:) BluetoothServerSocket# getPsm() 1FSJQIFSBMଆͰ͍ग़͞Ε͍ͯΔ 14.Λࢦఆ͠ɺ -$"1$IBOOFMͷΦʔϓϯΛߦ͏ CBPeripheral#openL2CAPChannel(_:) BluetoothDevice# createL2capChannel(psm) BluetoothSocket#connect() -$"1$IBOOFM͕Φʔϓ ϯ͞Εͨ͜ͱΛ͓ޓ͍ݕ͢Δ CBPeripheralDelegate#peripheral(_:did Open:error:) CBPeripheralManagerDelegate.periphe ralManager(_:didOpen:error:) BluetoothServerSocket#acc ept() ํ௨৴ ޙड़ ޙड़
-$"1ʹΑΔํ௨৴ -$"1௨৴༻ͷ$IBOOFMΛ༻ҙ͢Δ ˠJ04$#1FSJQIFSBM.BOBHFSQVCMJTI-$"1$IBOOFM XJUI&ODSZQUJPO Λίʔϧ͢Δ
-$"1ʹΑΔํ௨৴ -$"1௨৴༻ͷ$IBOOFMΛ༻ҙ͢Δ ˠ"OESPJE#MVFUPPUI"EBQUFSMJTUFO6TJOH-DBQ$IBOOFM Λίʔϧ͢Δɻ ฦΓͷ#MVFUPPUI4FSWFS4PDLFU͜ͷޙ͍·͢ɻ
-$"1ʹΑΔํ௨৴ 14.ͱ͍͏൪߸͕͍ग़͞ΕΔ ˠJ04 $#1FSJQIFSBM.BOBHFS%FMFHBUFQFSJQIFSBM.BOBHFS @EJE1VCMJTI-$"1$IBOOFMFSSPS ΑΓɺ$#-$"114. 6*OU ͕औಘͰ͖Δ
-$"1ʹΑΔํ௨৴ 14.ͱ͍͏൪߸͕͍ग़͞ΕΔ ˠ"OESPJE#MVFUPPUI"EBQUFSMJTUFO6TJOH-DBQ$IBOOFM Ͱฦ͖ͬͯͨ#MVFUPPUI4FSWFS4PDLFU͔Β HFU1TN Ͱऔಘ͢Δ
-$"1ʹΑΔํ௨৴ 1FSJQIFSBMଆͰ͍ग़͞Ε͍ͯΔ14.Λࢦఆ͠ɺ -$"1$IBOOFMͷΦʔϓϯΛߦ͏ ˠJ04$#1FSJQIFSBMPQFO-$"1$IBOOFM @ Λίʔϧ͢Δ
-$"1ʹΑΔํ௨৴ 1FSJQIFSBMଆͰ͍ग़͞Ε͍ͯΔ14.Λࢦఆ͠ɺ -$"1$IBOOFMͷΦʔϓϯΛߦ͏ ˠ"OESPJE#MVFUPPUI%FWJDFDSFBUF-DBQ$IBOOFM QTN Ͱ #MVFUPPUI4PDLFUऔಘޙɺ #MVFUPPUI4PDLFUDPOOFDU ͰଓΛߦ͏
-$"1ʹΑΔํ௨৴ -$"1$IBOOFM͕Φʔϓϯ͞Εͨ͜ͱΛݕ͢Δ ˠJ04ɺ DFOUSBM$#1FSJQIFSBM%FMFHBUFQFSJQIFSBM @EJE0QFOFSSPS QFSJQIFSBM$#1FSJQIFSBM.BOBHFS%FMFHBUFQFSJQIFSBM.BOBHFS @EJE0QFOFSSPS ͰݕՄೳ
-$"1ʹΑΔํ௨৴ -$"1$IBOOFM͕Φʔϓϯ͞Εͨ͜ͱΛݕ͢Δ ˠ"OESPJEɺ QFSJQIFSBM#MVFUPPUI4FSWFS4PDLFUBDDFQU Λ࣮ߦ͢Δ͜ͱͰPQFOΛͪड͚Δ͜ͱ͕Մೳ 6*εϨουͷϒϩοΫʹҙ DFOUSBMಛʹ͢Δ͜ͱͳ͠
-$"1ʹΑΔํ௨৴ ํ௨৴
ํ௨৴ w *OQVU4USFBNɺ0VU1VU4USFBNʹΑͬͯσʔλૹड৴Λߦ ͏ w J04ɺऔಘͨ͠$#-$"1$IBOOFM͔Βɺ*OQVU4USFBNͱ 0VU1VU4USFBNΛऔಘՄೳ w "OESPJEɺ#MVFUPPUI4PDLFU#MVFUPPUI4FSWFS4PDLFU ͔Β*OQVU4USFBNͱ0VU1VU4USFBNΛऔಘՄೳ
w ͋ͱɺ௨ৗ௨Γͷ*OQVU4USFBN0VU1VU4USFBNͰͷ௨৴ Λߦ͏
࣮ࡍͲͷ͘Β͍ૹΕΔ ͷʁ
#-&ʹΑΔ௨৴
#-&ʹΑΔ௨৴ όΠτ
J1IPOF94.BY 1JYFMB -$"1ʹΑΔํ௨৴
J1IPOF94.BY 1JYFMB -$"1ʹΑΔํ௨৴ CZUF
None
#-&Ͱͷ௨৴
#-&Ͱͷ௨৴ w ͭͷ௨৴ύλʔϯͰखଓ͖͕ҟͳΔ w $FOUSBMˠ1FSJQIFSBM w 1FSJQIFSBMˠ$FOUSBM w ҰʹૹΕΔσʔλྔ͕গͳ͍ͷͰɺେ͖͍σʔλΛૹΓ ͍ͨ߹ɺͳΔ͘େ͖ͳαΠζͰׂͯ͠ෳճૹ৴͢
Δ͜ͱʹΑͬͯσʔλ௨৴ͷߴԽΛߦ͏
1FSJQIFSBM $FOUSBM $FOUSBMˠ1FSJQIFSBM
$IBSBDUFSJTUJD
$FOUSBMˠ1FSJQIFSBM $IBSBDUFSJTUJD ໊લ छผ ׂ 1 σʔλॻ͖ࠐΈ Write with response
ૹ৴͢Δσʔλͦͷͷ 2 σʔλॻ͖ࠐΈόΠτ௨ొ Notify Central͔ΒPeripheralʹॻ ͖ࠐ·ΕͨRaw DataαΠ ζΛ௨
ٙ
όΠτ·Ͱ͔͠ ૹΕͳ͍ΜͰ͠ΐʁ
࣮ࡍʹૹͬͯΈΔ
$FOUSBMJ1IPOF1MVT 1FSJQIFSBM1JYFMB
1JYFMB J1IPOF1MVT $FOUSBMˠ1FSJQIFSBM
1JYFMB J1IPOF1MVT $FOUSBMˠ1FSJQIFSBM ௐࠪͷ݁Ռɺ J1IPOF1MVT͔Β1JYFMBʹૹͬͨ߹ɺ CZUFૹΔ͜ͱ͕Ͱ͖Δ σʔλॻ͖ࠐΈ
$FOUSBM1JYFMB 1FSJQIFSBMJ1IPOF1MVT
1JYFMB J1IPOF1MVT $FOUSBMˠ1FSJQIFSBM 1JYFMB͔ΒJ1IPOF1MVTʹૹͬͨ߹ɺ CZUF͔͠ૹΔ͜ͱ͕Ͱ͖ͳ͔ͬͨ σʔλॻ͖ࠐΈ
σʔλॻ͖ࠐΈόΠτ 1FSJQIFSBM J1IPOF1MVT 1FSJQIFSBM 1JYFMB $FOUSBM J1IPOF1MVT - 180 $FOUSBM
1JYFMB 20 -
1FSJQIFSBM J1IPOF1MVT 1FSJQIFSBM 1JYFMB $FOUSBM J1IPOF1MVT - 180 $FOUSBM 1JYFMB
20 - "OESPJEɺJ04ʹൺɺഒ΄Ͳͷεϐʔυͷ͕ࠩ͋Δ σʔλॻ͖ࠐΈόΠτ
"OESPJEͷ#-& ͍͚ͯͳ͍ʁ
"OESPJEͷ#-& ͍͚ͯͳ͍ʁ
"OESPJEͷ#-& ͍͚ͯͳ͍ʁ "OESPJEී௨ͷ͜ͱΛ͍ͬͯΔ
J04ͷεϐʔυ͕͍ ͷཧ༝͕͋Δ
"OESPJE1FSJQIFSBMଆʹ ͱ͋ΔϝιουΛ࣮͢Δ
IUUQTEFWFMPQFSBOESPJEDPNSFGFSFODFBOESPJECMVFUPPUI #MVFUPPUI(BUU4FSWFS$BMMCBDLIUNMPO.UV$IBOHFE BOESPJECMVFUPPU I#MVFUPPUI%FWJDF JOU #MVFUPPUI(BUU4FSWFS$BMMCBDL PO.UV$IBOHFE
1JYFMB J1IPOF1MVT
1JYFMB J1IPOF1MVT ଓ
1JYFMB J1IPOF1MVT PO.UV$IBOHFE ଓ
&YDIBOHF.56
r#-6&5005)41&$*'*$"5*0/7FSTJPO 1&YDIBOHF.56
&YDIBOHF.56 w ΫϥΠΞϯτɺ௨ৗΑΓେ͖͍σʔλྔΛαϙʔτ ͍ͨ͠߹ɺ&YDIBOHF.56Λ༻͢Δ w αʔόଆ͜ΕΛड͚ͯɺड৴Ͱ͖Δ࠷େαΠζPSΤ ϥʔΛฦ͢ w ͜ΕʹΑΓɺόΠτΑΓେ͖ͳσʔλྔΛૹΔ͜ͱ ͕Մೳ
1JYFMB J1IPOF1MVT &YDIBOHF.56 J04ɺଓޙɺࣗಈͰ&YDIBOHF.56Λૹ͍ͬͯΔ ʢૹ৴Λڋ൱͢Δ͜ͱɺαΠζΛܾఆ͢Δ͜ͱͰ͖ͳ͍ʣ
1JYFMB J1IPOF1MVT &YDIBOHF.56 "OESPJEɺ&YDIBOHF.56ΛૹΒͳ͍ͨΊɺ όΠτ͔͠ૹΕͳ͍
"OESPJEͰ &YDIBOHF.56ΛૹΔ
rIUUQTEFWFMPQFSBOESPJEDPNSFGFSFODFBOESPJECMVFUPPUI #MVFUPPUI(BUUIUNMSFRVFTU.UV JOU #MVFUPPUI(BUU SFRVFTU.UV
1JYFMB J1IPOF1MVT #MVFUPPUI(BUUSFRVFTU.UV JOU #MVFUPPUI(BUUSFRVFTU.UVʹదͳΛઃఆ͢Δ͜ͱͰ J04ͱಉ༷ʹେ༰ྔͷσʔλΛૹΔ͜ͱ͕Ͱ͖Δ "OESPJEͰ&YDIBOHF.56ΛૹΔ
దͳʁ
దͳʁ "OESPJEͷ"1*Λௐͯऔಘํ๏͕͔Βͣɾɾɾ
దͳ w ࣮ࡍͷͰௐΔ w /FYVT w /FYVT1 w 1JYFMB
1JYFMB J1IPOF1MVT #MVFUPPUI(BUUSFRVFTU.UV "OESPJEͰ&YDIBOHF.56ΛૹΔ
1JYFMB J1IPOF1MVT #MVFUPPUI(BUUSFRVFTU.UV "OESPJEͰ&YDIBOHF.56ΛૹΔ #MVFUPPUI(BUU$BMMCBDL PO3FRVFTU.UV SFRVFTU.UVΛ࣮ߦ͢Δ͜ͱͰɺ&YDIBOHF.56Λૹ৴Ͱ͖ɺ &YDIBOHF.563FTQPOTFͰ.56
Λड͚औΕΔ
1JYFMB J1IPOF1MVT ॻ͖ࠐΉ ઌ΄Ͳಘͨ όΠτͰσʔλॻ͖ࠐΈ
1JYFMB J1IPOF1MVT ॻ͖ࠐΉ ઌ΄Ͳಘͨ όΠτͰσʔλॻ͖ࠐΈ
1JYFMB J1IPOF1MVT ॻ͖ࠐΉ όΠτͰσʔλॻ͖ࠐΈ #-6&5005)41&$*'*$"5*0/7FSTJPO 8SJUF$IBSBDUFSJTUJD7BMVF Ͱنఆ͞Ε͍ͯΔɺ .56 όΠτͰॻ͖ࠐΈΛߦ͏͜ͱͰɺਖ਼ৗʹॻ͖ࠐΈ͕ߦ͑Δ
$FOUSBMXSJUFCZUFT 1FSJQIFSBM J1IPOF1MVT 1FSJQIFSBM 1JYFMB $FOUSBM J1IPOF1MVT - 180 $FOUSBM
1JYFMB 514 -
·͍ͩͬͯΔ
σʔλॻ͖ࠐΈόΠτ 1FSJQIFSBM J1IPOF1MVT 1FSJQIFSBM 1JYFMB $FOUSBM J1IPOF1MVT - 180 $FOUSBM
1JYFMB 514 - ͜ͷࣈͲ͔͜Βʁ
J04$FOUSBMͷ࠷దͳ όΠτͷٻΊํ
J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ
J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ rIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFCMVFUPPUI DCQFSJQIFSBMNBYJNVNXSJUFWBMVFMFOHUI $#1FSJQIFSBMNBYJNVN8SJUF7BMVF-FOHUI GPS
NBYJNVN8SJUF7BMVF-FOHU I GPSXJUI3FTQPOTF ͰௐͯΈΔ
1JYFMB J1IPOF1MVT NBYJNVN8SJUF7BMVF-FOHUI GPSXJUI3FTQPOTF J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ
1JYFMB J1IPOF1MVT NBYJNVN8SJUF7BMVF-FOHUI GPSXJUI3FTQPOTF J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ Ͱ͢Α
1JYFMB J1IPOF1MVT όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ
1JYFMB J1IPOF1MVT όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτ
1JYFMB J1IPOF1MVT όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτ όΠτσʔλ͕ܽଛ͢Δ
1JYFMB J1IPOF94.BY όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτ J1IPOF94.BYͩͱσʔλܽଛى͖ͳ͍
$FOUSBMXSJUFCZUFT 1FSJQIFSBM J1IPOF 1FSJQIFSBM 1JYFMB 1FSJQIFSBM J1IPOF94.BY $FOUSBM J1IPOF -
180 180 $FOUSBM 1JYFMB 514 - 514 $FOUSBM J1IPOF94.BY 512 512 -
$FOUSBMXSJUFCZUFT 1FSJQIFSBM J1IPOF 1FSJQIFSBM 1JYFMB 1FSJQIFSBM J1IPOF94.BY $FOUSBM J1IPOF -
180 180 $FOUSBM 1JYFMB 514 - 514 $FOUSBM J1IPOF94.BY 512 512 - ಉҰ04Ͱ͋ͬͯɺʹΑͬͯૹ৴Ͱ͖ΔόΠτʹ͕ࠩग़Δ
rIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFCMVFUPPUI DCQFSJQIFSBMNBYJNVNXSJUFWBMVFMFOHUI ͜ͷ"1*ࠩΛߟྀͤͣɺ͕ฦͬͯ͘Δ
ͳͷͰ
1FSJQIFSBM $FOUSBM J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτॻ͖ࠐΈ·ͨ͠Α ࣮ࡍʹ౸ୡͨ͠σʔλΛ 1FSJQIFSBM͔Β$FOUSBMڭ͑ͯཉ͍͠
1FSJQIFSBM $FOUSBM J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ ࣮ࡍʹ౸ୡͨ͠σʔλΛڭ͑ΔΑ͏ ͋Β͔͡Ίొ͓ͯ͘͠ σʔλॻ͖ࠐΈόΠτ௨ొ
1JYFMB J1IPOF1MVT όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτ
1JYFMB J1IPOF1MVT όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτ όΠτॻ͖ࠐΈ·ͨ͠Α
1JYFMB J1IPOF1MVT όΠτͰॻ͖ࠐΉΑ J04$FOUSBMͷ࠷దͳόΠτ ͷٻΊํ όΠτ όΠτॻ͖ࠐΈ·ͨ͠Α ࣮ࡍʹ౸ୡͨ͠σʔλΛɺ /PUJGZͷܗͰ૬खʹ͑Δ
None
1FSJQIFSBM $FOUSBM 1FSJQIFSBMˠ$FOUSBM
1FSJQIFSBMˠ$FOUSBM $IBSBDUFSJTUJD ໊લ छผ ׂ 1 ಡΈऔΓϦΫΤετ Write with response
σʔλͷಡΈऔΓ։࢝ό ΠτҐஔΛࢦఆ͢Δ 2 ಡΈऔΓϨεϙϯε௨ొ Notify ಡΈऔΓϦΫΤετ͔Βɺ ૹΓ͍ͨσʔλΛΓऔͬ ͯ௨͢Δ
1FSJQIFSBM $FOUSBM 1FSJQIFSBMˠ$FOUSBM 1FSJQIFSBM͔Β$FOUSBMʹσʔλΛ௨͢ΔͨΊ ௨ొ ಡΈऔΓϨεϙϯε௨ొ
1FSJQIFSBM $FOUSBM 1FSJQIFSBMˠ$FOUSBM ಡΈऔΓϦΫΤετ $FOUSBMଆ͕ɺඞཁͳσʔλΛԿόΠτ͔Βཉ͠ ͍͔Λ͑Δ
1FSJQIFSBM $FOUSBM 1FSJQIFSBMˠ$FOUSBM 1SJQIFSBMଆɺ$FOUSBMଆͷσʔλ࠷େʹ߹Θ ͤͯσʔλΛฦͯ͋͛͠Δ OPUJGZ σʔλ࠷େ ಡΈऔΓϦΫΤετ
σʔλ࠷େͷٻΊํ
rIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFCMVFUPPUI DCDFOUSBMNBYJNVNVQEBUFWBMVFMFOHUI 1FSJQIFSBMˠ$FOUSBM J04͕1FSJQIFSBMͷ߹ɺσʔλ࠷େ $#$FOUSBMNBYJNVN6QEBUF7BMVF-FOHUI ͰௐΒΕΔ
rIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFCMVFUPPUI DCDFOUSBMNBYJNVNVQEBUFWBMVFMFOHUI 1FSJQIFSBMˠ$FOUSBM "OESPJE͕1FSJQIFSBMͷ߹ɺσʔλ࠷େ #MVFUPPUI(BUU4FSWFS$BMMCBDLPO.UV$IBOHFE Ͱड͚औͬͨ.56͔Βͨ͠ʹͳΔ
1FSJQIFSBM $FOUSBM 1FSJQIFSBMˠ$FOUSBM ಡΈऔΓϦΫΤετ CZUF OPUJGZ $FOUSBMଆ͕σʔλΛԿόΠτ͔Βཉ͍͔͠ ͑Δ
ಡΈऔΓϦΫΤετ OPUJGZ σʔλ࠷େ
1FSJQIFSBM σʔλ࠷େCZUF 1FSJQIFSBMˠ$FOUSBM 1FSJQIFSBMɺෳͷʹଓ͞Ε͍ͯΔՄೳੑ͋ΔͨΊɺ ୭͔ΒXSJUFཁٻ͞Ε͔ͨɺʹΑͬͯσʔλ༰Λม͑Δ σʔλ࠷େCZUF OPUJGZ OPUJGZ
None
͓͔͍͠ͳɺͱࢥͬͨΒ
#-&ͷॲཧ͕ಈ͔ͳ͍ J04
#-&ͷॲཧ͕ಈ͔ͳ͍ J04 $#$FOUSBM $#1FSJQIFSBM $#-$"1$IBOOFM ͳͲ ඞͣΫϥεͷϓϩύςΟʹอ͓࣋ͯ͘͠ Α͘Θ͔Βͳ͍Τϥʔʹ·͞ΕΔ͜ͱʹͳΓ·͢
σʔλ͕ਖ਼͘͠ૹΕͳ͍
σʔλ͕ਖ਼͘͠ૹΕͳ͍
σʔλ͕ਖ਼͘͠ૹΕͳ͍
σʔλ͕ਖ਼͘͠ૹΕͳ͍ w όΠτΦʔμʔ -JUUMF&OEJBO #JH&OEJBO ʹ͕͋Γ·͢ w J04ଆ w όΠτΦʔμʔΛ֬ೝ͢Δ
#ZUF0SEFS6UJMJUJFT w $'#ZUF0SEFS(FU$VSSFOU w "OESPJEଆ w #ZUF#V⒎FSͷѻ͍ʹؾΛ͚ͭΔ w #ZUF#V⒎FSͷॳظόΠτΦʔμʔ#JHFOEJBOͰ͢ w #ZUF#V⒎FSPSEFS
͍͞͝ʹ w ͓͏ʂ-$"1 w ࠓճͷγʔέϯεΛΞϨϯδͯ͠ɺ৽ͨͳ#-&ΞϓϦΛ࡞ Ζ͏ʂ