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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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.4k
About HealthKit nutrition
coe
0
480
Kotlin Dynamic type
coe
0
410
iOSDC 2023 Web in tvOS and watchOS
coe
1
1.1k
iOSDC 2023 Push To Talk
coe
1
2.7k
iOSDC手で触れずにアプリを動かす技術
coe
1
2.3k
iOSDC令和時代のXML処理を考える
coe
3
3.1k
iOSDC 2021 Restore
coe
6
2.4k
詳解Storyboard
coe
7
4.1k
Other Decks in Technology
See All in Technology
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
160
AI Testing Talks: Challenges of Applying AI in Software Testing: From Hype to Practical Use
exactpro
PRO
1
130
新アーキテクチャ「TiDB X」解説とDedicated比較 TiDB Cloud Premiumのゲーム運用活用を検証
staffrecruiter
0
120
Agentic Defenseとともにセキュリティエンジニアが輝き続けるには / How Security Engineers Can Keep Excelling with Agentic Defense
yuj1osm
0
110
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
250
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.7k
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
220
Building applications in the Gemini API family.
line_developers_tw
PRO
0
1.8k
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
2k
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.1k
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
250
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
From π to Pie charts
rasagy
0
200
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
WCS-LA-2024
lcolladotor
0
620
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Navigating Team Friction
lara
192
16k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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 ࠓճͷγʔέϯεΛΞϨϯδͯ͠ɺ৽ͨͳ#-&ΞϓϦΛ࡞ Ζ͏ʂ