3G - arakomiuma/bt GitHub Wiki
1 åºè«
1.1 ç¯å²
äžè¬çãªå±æ§ãããã¡ã€ã«ïŒGATTïŒã¯ã屿§ãããã³ã«ãçšãããµãŒãã¹ã®ãã¬ãŒã ã¯ãŒã¯ãå®çŸ©ããŠããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ïŒãµãŒãã¹ãšãã®ç¹æ§ã®æé ãšãã©ãŒããããå®çŸ©ãããå®çŸ©ãããæé ã«ã¯ãç¹æ§ã®çºèŠãèªã¿èŸŒã¿ãæžã蟌ã¿ãéç¥ã衚瀺ãããã³ç¹æ§ã®ãããŒããã£ã¹ãã®èšå®ãå«ãŸããã
1.2 PROFILE DEPENDENCY
å³1.1ã¯ããããã¡ã€ã«ã®æ§é ãšäŸåé¢ä¿ã瀺ããŠããŸãããããããã¡ã€ã«ã¯ãæé»çãŸãã¯æç€ºçã«ãã®ãããã¡ã€ã«ãåç §ããããšã§ããã®ãããã¡ã€ã«ã®äžéšãåå©çšããŠããå Žåãå¥ã®ãããã¡ã€ã«ã«äŸåããŠããŸãã
1.3 ã³ã³ãã©ãŒãã³ã¹
ãã®ãããã¡ã€ã«ãžã®é©åæ§ã䞻匵ãããå ŽåïŒãã®ãããã¡ã€ã«ã«å¯ŸããŠå¿ é ã§ãããšç€ºããããã¹ãŠã®èœåã¯ïŒæå®ãããæ¹æ³ã§ãµããŒããããªããã°ãªããªãïŒããã»ã¹å¿ é ïŒãããã¯ïŒãµããŒããæç€ºãããŠãããã¹ãŠã®ãªãã·ã§ã³åã³æ¡ä»¶ä»ãèœåã«ãé©çšãããããã¹ãŠã®å¿ é èœåãããã³ãµããŒãã瀺ãããŠãããªãã·ã§ã³èœåãšæ¡ä»¶ä»ãèœåã¯ãBluetoothè³æ Œããã°ã©ã ã®äžéšãšããŠæ€èšŒã®å¯Ÿè±¡ãšãªãã
1.4 BLUETOOTH仿§ãªãªãŒã¹ã®äºææ§
ãã®éšåã¯ãBR/EDRç©çãªã³ã¯ã§ãããã¡ã€ã«ã䜿çšããå Žåã¯ä»æ§ã®ããŒãžã§ã³1.2以äžãLEç©çãªã³ã¯ã§ãããã¡ã€ã«ã䜿çšããå Žåã¯ããŒãžã§ã³4.0以äžã§äœ¿çšããããšãã§ããã
1.5 ã³ã³ãã³ã·ã§ã³
ãã®ããŒãã§ã¯ãããã·ãŒãžã£ãPDUããªãã³ãŒãã颿°åãªã©ã®ãªãã©ã«çšèªã䜿çšããå Žåã¯ã€ã¿ãªãã¯äœã§è¡šèšããããŸããæ§é äœããã±ãããªã©ã®ãã£ãŒã«ãã®å ·äœçãªåç§°ãã€ã¿ãªãã¯äœã§è¡šèšããã(äŸïŒãPrimary Serviceã)ã®äœ¿çšã¯ãUUIDã瀺ãã屿§ãããã³ã«ã®ãšã©ãŒã³ãŒãïŒ[Vol.3] Part F, Table 3.3 åç §ïŒã¯ïŒã€ã¿ãªãã¯äœã«ç¶ããŠæ°å€ã®ãšã©ãŒã³ãŒãã瀺ãã
2 PROFILEæŠèŠ
GATTãããã¡ã€ã«ã¯ãã¯ã©ã€ã¢ã³ãããµãŒããšéä¿¡ã§ããããã«ãã¢ããªã±ãŒã·ã§ã³ãŸãã¯å¥ã®ãããã¡ã€ã«ã§äœ¿çšããããã«èšèšãããŠããŸãããµãŒãã«ã¯å€æ°ã®å±æ§ãå«ãŸããŠããïŒGATTãããã¡ã€ã«ã¯ïŒå±æ§ã®ãããŒããã£ã¹ãã®èšå®ãšåæ§ã«ïŒãããã®å±æ§ã®çºèŠïŒèªã¿åãïŒæžã蟌ã¿ïŒè¡šç€ºã®ååŸã®ããã®å±æ§ãããã³ã«ã®äœ¿ç𿹿³ãå®çŸ©ããŠããã
2.1 ãããã³ã«ã¹ã¿ãã¯
å³ 2.1 ã«ããã®ãããã¡ã€ã«ã§äœ¿çšããããã¢ã»ãããã³ã«ã瀺ãã
2.2 èšå®ãšåœ¹å²
ãã®ãããã¡ã€ã«ãå®è£ ããããã€ã¹ã«ã¯ã以äžã®åœ¹å²ãå®çŸ©ãããŠããŸãã ã¯ã©ã€ã¢ã³ã - ãµãŒããŒã«åããŠã³ãã³ããšèŠæ±ãéå§ãããµãŒããŒããéä¿¡ãããå¿çã衚瀺ãããã³éç¥ãåãåãããšãã§ããããã€ã¹ã§ãã Server-ããã¯ãã¯ã©ã€ã¢ã³ãããã®åä¿¡ã³ãã³ããšèŠæ±ãåãå ¥ããã¯ã©ã€ã¢ã³ãã«å¿çã衚瀺ãããã³éç¥ãéä¿¡ããããã€ã¹ã§ãã æ³šïŒåœ¹å²ã¯ããã€ã¹ã«åºå®ãããŠããŸããã圹å²ã¯ãããã€ã¹ãå®çŸ©ãããããã·ãŒãžã£ãéå§ãããšãã«æ±ºå®ãããããã·ãŒãžã£ãçµäºãããšè§£æŸãããŸãã ããã€ã¹ã¯åæã«äž¡æ¹ã®åœ¹å²ãæããããšãã§ããŸãã æ¬ãããã¡ã€ã«ã®åœ¹å²ãç€ºãæ§æã®äŸãå³2.2ã«ç€ºããŸãã å³2.2ã§ã¯ãã³ã³ãã¥ãŒã¿ã枩床ãµãŒãã¹ã¯ã©ã€ã¢ã³ãã§ãããã»ã³ãµã枩床ãµãŒãã¹ãµãŒãã§ãããã³ã³ãã¥ãŒã¿ã¯ãã»ã³ãµãæ§æããããã»ã³ãµã®å€ãèªã¿åã£ããããããã®æé ãéå§ããŸãããã®äŸã§ã¯ãã»ã³ãµã¯ã枩床ãµãŒãã¹ã®äžéšãšããŠã»ã³ãµè£ 眮ãé²åºããç¹æ§ã«é¢ããæ å ±ãæäŸããããã€ãã®ç¹æ§ã®æžã蟌ã¿ãèš±å¯ããŠãããããŸããã»ã³ãµã¯é©åãªå€ãæã€èªã¿åãèŠæ±ã«å¿çããã
2.3 ãŠãŒã¶èŠæ±ãšã·ããªãª
ãã®ãããã¡ã€ã«ã§ã¯ã以äžã®ã·ããªãªã察象ãšãªããŸãã
- æ§æã®äº€æ
- ããã€ã¹äžã®ãµãŒãã¹ãç¹æ§ã®çºèŠ
- ç¹æ§å€ãèªã¿åã
- ç¹æ§å€ã®æžãæ¹
- ç¹æ§å€ã®éç¥
- ç¹æ§å€ã®è¡šç€º
2.4 ãããã¡ã€ã«ã®åºç€
ãã®ãããã¡ã€ã«ã¯ãATTãã¢ã©ãšããŠç¥ããã屿§ãããã³ã«L2CAPãã£ãã«ã䜿çšããŠãä»»æã®ç©çãªã³ã¯äžã§äœ¿çšããããšãã§ããŸããããã§ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒãéã®äžå±€èŠä»¶éä¿¡ãç°¡åã«ãŸãšããŸãã
- ATTãã¢ã©ã¯ãã»ã¯ã·ã§ã³6ã§å®çŸ©ãããŠããããã£ãã«ç¢ºç«ãã䜿çšããŠç¢ºç«ãããŸãã
- ãããã¡ã€ã«ã®åœ¹å²ã¯ãã³ã³ãããŒã©ã®ãã¹ã¿ãŒ/ã¹ã¬ãŒãã®åœ¹å²ã«çžãããªãã
- LE ç©çãªã³ã¯ã§ã¯ãèªå¯ãèªèšŒãæå·åãªã©ã®ã»ãã¥ãªãã£æ©èœã®äœ¿çšã¯ãªãã·ã§ã³ã§ããBR/EDR ç©çãªã³ã¯ã§ã¯ãæå·åã¯å¿ é ã§ãã
- GATTãããã¡ã€ã«å ã®ãã«ããªã¯ããããã£ãŒã«ãã¯ãCharacteristic Valueãã£ãŒã«ããé€ããŠãæäžäœãªã¯ãã ããæåã«éä¿¡ãããïŒãªãã«ãšã³ãã£ã¢ã³ïŒãã®ãšãããç¹æ§ãå®çŸ©ãã仿§ã«å¥æ®µã®å®çŸ©ããªãéããç¹æ§å€ãšãã®äžã®ãã£ãŒã«ãã¯ãªãã«ãšã³ãã£ã¢ã³ã§ãªããã°ãªããªãã
2.5 ã¢ããªãã¥ãŒããããã³ã«
GATT ãããã¡ã€ã«ã§ã¯ã第 4.2 ç¯åã³ç¬¬ 4.13 ç¯ã§ç€ºããã屿§ãããã³ã«ïŒATTïŒãšå¿ èŠãªå±æ§ãªãã³ãŒãã®å®è£ ãå¿ èŠã§ããã
2.5.1 æŠèŠ
GATTãããã¡ã€ã«ã¯ãããã€ã¹éã§ã³ãã³ããèŠæ±ãå¿çãæç€ºãéç¥ã確èªã®åœ¢ã§ããŒã¿ãäŒéããããã«å±æ§ãããã³ã«ã䜿çšããããã®ããŒã¿ã¯ãAttributeãããã³ã«PDUã«å«ãŸããŠããã ãªãã³ãŒãã¯ãç¹å®ã®ã³ãã³ããèŠæ±ãå¿çã衚瀺ãéç¥ããŸãã¯ç¢ºèªã®ãªãã³ãŒããšèªèšŒã®ããã®ãã©ã°ãå«ãã屿§ãã©ã¡ãŒã¿ã¯ãç¹å®ã®ã³ãã³ããŸãã¯èŠæ±ããŸãã¯å¿çãæç€ºããŸãã¯éç¥ã§è¿ãããããŒã¿ãå«ããèªèšŒçœ²åã¯ãªãã·ã§ã³ã§ããã[Vol.3]ããŒãHãã»ã¯ã·ã§ã³2.4.5ã«èšè¿°ãããŠããã 屿§ãããã³ã«ã®ã³ãã³ãããªã¯ãšã¹ãã¯ããµãŒãè£ çœ®ã®å±æ§ã«æ ŒçŽãããå€ã«åºã¥ããŠåäœãããã¢ããªãã¥ãŒãã¯4ã€ã®éšåããæ§æãããã屿§ã¯ãã屿§ãã³ãã«ããã屿§ã¿ã€ãããã屿§å€ããã屿§æš©éãã®4ã€ã®éšåããæ§æããããå³ 2.4 ã«å±æ§ã®è«çç衚çŸã瀺ããæå®ã®å®è£ ã«ãããå®éã®è¡šçŸã¯ããã®å®è£ ã«åºæã®ãã®ã§ããã 屿§ãã³ãã«ã¯ãç¹å®ã®å±æ§ã«å¯Ÿå¿ããã€ã³ããã¯ã¹ã§ãããAttribute Typeãã¯ããAttribute Valueããèšè¿°ãã UUID ã§ããã屿§å€ã¯ã屿§ã¿ã€ãã«ãã£ãŠèšè¿°ããã屿§ãã³ãã«ã«ãã£ãŠã€ã³ããã¯ã¹åãããããŒã¿ã§ããã屿§ã¯ã屿§ãã³ãã«ã®å€ãå¢ããããšã§é åºä»ããããã屿§ãã³ãã«ã®å€ã¯ 0x0001 ãã 0xFFFF ã®éã®ä»»æã®å€ããå§ãŸãã屿§ãã³ãã«ã®å€ã¯å€ãé ã«äžŠãã§ããŸããã以äžã®å±æ§ãã³ãã«ã®å€ã¯1ã€ä»¥äžç°ãªãå ŽåããããŸããããªãã¡ãé£ç¶ãã屿§ãã³ãã«éã«ã®ã£ãããããå Žåãããããã®ä»æ§ã§ã¯ã2ã€ã®å±æ§ãã³ãã«ã飿¥ããŠããªããã°ãªããªãå Žåããäžæ¹ã®å±æ§ãã³ãã«ã仿¹ã®å±æ§ãã³ãã«ã«ããã«è¿œåŸããããšãèŠæ±ããŠããå Žåã«ã¯ããã®ãããªã®ã£ããã¯äŸç¶ãšããŠèš±å®¹ãããŠãããç¡èŠããããã®ãšããã Attribute Permissionsã¯ïŒAttributeãããã³ã«ãçšããŠèªã¿æžãããããšãã§ããªãAttributeã®äžéšã§ãããããã¯ããµãŒããäžãããã屿§ã«å¯ŸããŠèªã¿æžãã¢ã¯ã»ã¹ãèš±å¯ãããŠãããã©ããã倿ããããã«äœ¿çšãããã屿§ããŒããã·ã§ã³ã¯ãGATTãããã¡ã€ã«ãäžäœã¬ã€ã€ã®ãããã¡ã€ã«ããŸãã¯æå®ãããŠããªãå Žåã¯å®è£ åºæã®ãã®ã§ç¢ºç«ãããã
2.5.2 屿§ãã£ãã·ã³ã°
屿§ãã£ãã·ã¥ãšã¯ãã¯ã©ã€ã¢ã³ãããµãŒãã§äœ¿çšããŠãã屿§ãã³ãã«ãªã©ã®å±æ§æ å ±ãäžåºŠçºèŠããåçºèŠããã«åæ¥ç¶æã«åã屿§æ å ±ã䜿çšã§ããããã«ããæé©åã®ããšã§ããã¯ã©ã€ã¢ã³ããã¢ããªãã¥ãŒãæ å ±ããã£ãã·ã¥ããªãå Žåãã¯ã©ã€ã¢ã³ãã¯åæ¥ç¶ã®ãã³ã«ã¢ããªãã¥ãŒãæ å ±ãåçºèŠããªããã°ãªããŸããããã£ãã·ã³ã°ãè¡ãããšã§æéãç¯çŽã§ããã¯ã©ã€ã¢ã³ããšãµãŒãéã§ããªãã®æ°ã®ãã±ããã亀æããå¿ èŠããªããã¯ã©ã€ã¢ã³ãããã£ãã·ã¥ãã屿§æ å ±ã¯ãå šãŠã®ãµãŒã屿§ã®å±æ§ãã³ãã«ãš GATT ãµãŒãã¹ç¹æ§å€ã§ããã ãµãŒãã䜿çšãã屿§ãã³ãã«ã¯ãæéã®çµéãšãšãã«å€åããŠã¯ãªããªããããã¯ãäžåºŠã¯ã©ã€ã¢ã³ãã«ãã£ãŠå±æ§ãã³ãã«ãçºèŠããããšããã®å±æ§ã®å±æ§ãã³ãã«ã¯å€æŽãããŠã¯ãªããªãããšãæå³ããã ç¶æ³ã«ãã£ãŠã¯ãå·¥å Žåºè·æã®ãªã»ããããã¡ãŒã ãŠã§ã¢ã®ã¢ããã°ã¬ãŒãæé ã®å®è¡ãªã©ã«ããããµãŒããŒããµãŒãã¹ã«äœ¿çšããã¢ããªãã¥ãŒããã³ãã«ã倿ŽããããšããããããããŸããã以äžã®ããšã¯ããµãŒãäžã®ãµãŒãã¹ã远å ã倿Žãåé€ã§ããå Žåã«ã®ã¿ãµãŒãäžã§å¿ èŠãšãããããµãŒãäžã® GATT ããŒã¹ã®ãµãŒãã¹ãããã€ã¹ã®äœ¿çšå¯èœãªå¯¿åœã®éã«å€æŽã§ããªãå ŽåãService Changed ç¹æ§ã¯ãµãŒãäžã«ååšããŠã¯ãªãããã¯ã©ã€ã¢ã³ãã¯ããã®ãµãŒãã®æåã®ãµãŒãã¹æ€åºåŸã«ãµãŒãã¹æ€åºãå®è¡ããå¿ èŠã¯ãªãã ãµãŒãã GATT ããŒã¹ã®ãµãŒãã¹ã®å€æŽããµããŒãããŠããå Žåã®ãã£ãã·ã³ã°ããµããŒãããããã«ããµãŒãäžã§ãµãŒãã¹ã远å ãåé€ããŸãã¯å€æŽããããšãã«ããµãŒãããã¯ã©ã€ã¢ã³ãã«æç€ºãéä¿¡ãããŸããã¯ã©ã€ã¢ã³ãã¯ããµãŒãäžã«ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãååšããå Žåã«ã¯ãããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãèªã¿åãããšã§ãµãŒãã¹ã®å€æŽãæ€åºããããšãã§ããŸãã GATTããŒã¹ã®ãµãŒãã¹ã¯ããµãŒãã¹å®çŸ©å ã§ã°ã«ãŒãåãããé¢é£å±æ§ã«å¯Ÿãã屿§ãã³ãã«ã®ãã€ã³ãã£ã³ã°ã倿Žãããå Žåã倿Žããããšã¿ãªãããŸãã GATT ãµãŒãã¹å®çŸ©ã®ç¹æ§å€ã«å€æŽããã£ãå ŽåããService Changedãç¹æ§å€ãšãClient Supported Featuresãç¹æ§å€ãã®ãã®ä»¥å€ã®å€æŽã倿Žãšã¿ãªãã ãµãŒããšã®éã«ä¿¡é Œãããé¢ä¿ïŒããªãã¡ãã³ãïŒãæã€ã¯ã©ã€ã¢ã³ãã®å Žåã屿§ãã£ãã·ã¥ã¯æ¥ç¶ããŸããã§æå¹ã§ããããµãŒãã¹å€æŽãçºçãããšãã«ïŒä¿¡é Œãããé¢ä¿ãæã¡ïŒæ¥ç¶äžã§ã¯ãªãã¯ã©ã€ã¢ã³ãã«ã€ããŠã¯ïŒãµãŒãã¯ïŒã¯ã©ã€ã¢ã³ãããµãŒãã«åæ¥ç¶ãããšãã«ïŒæç€ºãéä¿¡ããªããã°ãªããªã(ã»ã¯ã·ã§ã³7.1åç §)ããµãŒããšã®ä¿¡é Œãããé¢ä¿ãæããïŒããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã®èªã¿èŸŒã¿ããµããŒãããªãã¯ã©ã€ã¢ã³ãã®å ŽåïŒå±æ§ãã£ãã·ã¥ã¯ïŒæ¥ç¶äžã®ã¿æå¹ã§ãããããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã®èªã¿èŸŒã¿ããµããŒãããŠããä¿¡é Œãããé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã¯ãæ¥ç¶ã»ããã¢ããæã«å±æ§ãã£ãã·ã¥ãæ€èšŒããŠããããä¿¡é Œãããé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã¯ïŒçŸåšã®æ¥ç¶äžã«ã®ã¿ãµãŒãã¹å€æŽãçºçããå Žåã«è¡šç€ºãåããã æ³šïŒãã£ãã·ã¥ããµããŒãããŠããä¿¡é Œãããé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã¯ããµãŒãã¹çºèŠãè¡ããããµãŒããService Changedç¹æ§ããµããŒãããŠããå Žåã¯ã忥ç¶ã§ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãèªã¿åã£ãŠãµãŒãã¹å€æŽãæ€åºããªããã°ãªããªãã ãµãŒãã¯ãã¯ã©ã€ã¢ã³ãã®å±æ§ãã£ãã·ã¥ã§ç¡å¹ãšã¿ãªããã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ãå«ããã³ãã«å€è¡šç€ºãéä¿¡ããªããã°ãªããªããéå§å±æ§ãã³ãã«ã¯ã倿Žãå«ããµãŒãã¹å®çŸ©ã®éå§å±æ§ãã³ãã«ãšããçµäºå±æ§ãã³ãã«ã¯ã倿Žãå«ããµãŒãã¹å®çŸ©ã®æåŸã®å±æ§ãã³ãã«ãšããã衚瀺ã®å€ã¯ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ã瀺ãããã«é£çµããã2ã€ã®16ãããã®å±æ§ãã³ãã«ã§æ§æãããã æ³šïŒãµãŒãã¯ããµãŒãäžã®å±æ§ãã³ãã«ã®å šã»ãããåçºèŠããããšãã¯ã©ã€ã¢ã³ãã«ç€ºãããã«ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ã 0x0001ïœ0xFFFF ã«èšå®ããŠãããã ããŒã¿ããŒã¹ã»ããã·ã¥ç¹æ§ããµãŒãäžã«ååšããå ŽåããµãŒãã¹å€æŽãçºçãããã³ã«ããµãŒãã¯ããŒã¿ããŒã¹ã»ããã·ã¥ç¹æ§å€ãæ°ããããŒã¿ããŒã¹ã»ããã·ã¥ã§æŽæ°ããªããã°ãªããªã(ã»ã¯ã·ã§ã³7.3åç §)ã ããŒã¿ããŒã¹ããã·ã¥ç¹æ§å€ãæåŸã«èªã¿èŸŒãŸããæãã倿ŽãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯ãã®å±æ§ãã£ãã·ã¥ãç¡å¹ãšã¿ãªãããµãŒãã¹ãã£ã¹ã«ããªãè¡ãããã¢ãŠããªããã³ãæ©æ§ãçšããŠå€æŽãããããŒã¿ããŒã¹å®çŸ©ãååŸãããŸã§ããã£ãã·ã¥ãããæ å ±ãå©çšããŠã¯ãªããªãã ãµãŒããšã®éã«ä¿¡é Œãããé¢ä¿(ããªãã¡çµå)ãæã€ã¯ã©ã€ã¢ã³ãã®å Žåã屿§ãã£ãã·ã¥ã¯æ¥ç¶ããŸããã§æå¹ã§ãããä¿¡é Œãããé¢ä¿ãæã¡ïŒãµãŒãã¹å€æŽãçºçãããšãã«æ¥ç¶äžã§ã¯ãªãã¯ã©ã€ã¢ã³ãã«ã€ããŠã¯ïŒãµãŒãã¯ïŒã¯ã©ã€ã¢ã³ãããµãŒãã«åæ¥ç¶ãããšãã«æç€ºãéä¿¡ããªããã°ãªããªã(ã»ã¯ã·ã§ã³7.1åç §)ããµãŒããšã®ä¿¡é Œãããé¢ä¿ãæããïŒããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã®èªã¿èŸŒã¿ããµããŒãããªãã¯ã©ã€ã¢ã³ãã®å ŽåïŒå±æ§ãã£ãã·ã¥ã¯ïŒæ¥ç¶äžã®ã¿æå¹ã§ãããããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã®èªã¿èŸŒã¿ããµããŒãããŠããä¿¡é Œãããé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã¯ãæ¥ç¶ã»ããã¢ããæã«å±æ§ãã£ãã·ã¥ãæ€èšŒããŠããããä¿¡é Œãããé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã¯ïŒçŸåšã®æ¥ç¶äžã«ã®ã¿ãµãŒãã¹å€æŽãçºçããå Žåã«è¡šç€ºãåããã æ³šïŒãã£ãã·ã¥ããµããŒãããŠããä¿¡é Œãããé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã¯ããµãŒãã¹çºèŠãè¡ããããµãŒããService Changedç¹æ§ããµããŒãããŠããå Žåã¯ã忥ç¶ã§ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãèªã¿åã£ãŠãµãŒãã¹å€æŽãæ€åºããªããã°ãªããªãã ãµãŒãã¯ãã¯ã©ã€ã¢ã³ãã®å±æ§ãã£ãã·ã¥ã§ç¡å¹ãšã¿ãªããã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ãå«ããã³ãã«å€è¡šç€ºãéä¿¡ããªããã°ãªããªããéå§å±æ§ãã³ãã«ã¯ã倿Žãå«ããµãŒãã¹å®çŸ©ã®éå§å±æ§ãã³ãã«ãšããçµäºå±æ§ãã³ãã«ã¯ã倿Žãå«ããµãŒãã¹å®çŸ©ã®æåŸã®å±æ§ãã³ãã«ãšããã衚瀺ã®å€ã¯ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ã瀺ãããã«é£çµããã2ã€ã®16ãããã®å±æ§ãã³ãã«ã§æ§æãããã æ³šïŒãµãŒãã¯ããµãŒãäžã®å±æ§ãã³ãã«ã®å šã»ãããåçºèŠããããšãã¯ã©ã€ã¢ã³ãã«ç€ºãããã«ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ã 0x0001ïœ0xFFFF ã«èšå®ããŠãããã ããŒã¿ããŒã¹ã»ããã·ã¥ç¹æ§ããµãŒãäžã«ååšããå ŽåããµãŒãã¹å€æŽãçºçãããã³ã«ããµãŒãã¯ããŒã¿ããŒã¹ã»ããã·ã¥ç¹æ§å€ãæ°ããããŒã¿ããŒã¹ã»ããã·ã¥ã§æŽæ°ããªããã°ãªããªã(ã»ã¯ã·ã§ã³7.3åç §)ã ããŒã¿ããŒã¹ããã·ã¥ç¹æ§å€ãæåŸã«èªã¿èŸŒãŸããæãã倿ŽãããŠããå Žåãã¯ã©ã€ã¢ã³ãã¯ãã®å±æ§ãã£ãã·ã¥ãç¡å¹ãšã¿ãªãããµãŒãã¹ãã£ã¹ã«ããªãè¡ãããã¢ãŠããªããã³ãæ©æ§ãçšããŠå€æŽãããããŒã¿ããŒã¹å®çŸ©ãååŸãããŸã§ããã£ãã·ã¥ãããæ å ±ãå©çšããŠã¯ãªããªãã ã¯ã©ã€ã¢ã³ãã¯ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ãå«ããã³ãã«å€è¡šç€ºãåä¿¡ããå Žåã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²ã«ããã£ãŠå±æ§ãã£ãã·ã¥ãç¡å¹ã§ãããšèããªããã°ãªããªããæªè§£æ±ºã®èŠæ±ãã©ã³ã¶ã¯ã·ã§ã³ã¯ã屿§ãã³ãã«ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²å ã«å«ãŸããŠããå Žåãç¡å¹ã§ãããšèããªããã°ãªããªããã¯ã©ã€ã¢ã³ãã¯ã圱é¿ãåãã屿§ãã³ãã«ã®ç¯å²å ã«ãã屿§ãæã€ãµãŒãã¹ã䜿çšããåã«ããµãŒãã¹çºèŠãå®è¡ããªããã°ãªããªãããããã¯ãã¯ã©ã€ã¢ã³ãã¯ãããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãèªã¿åãã垯åå€ã¡ã«ããºã ã䜿çšããŠå€æŽãããããŒã¿ããŒã¹å®çŸ©ãååŸããŠããããã¯ã©ã€ã¢ã³ãããµãŒãã¹çºèŠäžã«ãã³ãã«å€è¡šç€ºãåä¿¡ããå Žåãã¯ã©ã€ã¢ã³ãããµãŒãã¹çºèŠã®åã«ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãèªãã å Žåãã¯ã©ã€ã¢ã³ãã¯ãçŸåšã®ãµãŒãã¹çºèŠãç¶ç¶ã§ãããããŸãã¯æ°ãããµãŒãã¹çºèŠãå¿ èŠãã倿ããããã«ãããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãå床èªãã§ãããã ãµãŒãããã³ãã«å€ç¢ºèªãåä¿¡ãããšããµãŒãã¯ãã¯ã©ã€ã¢ã³ããæŽæ°ããã屿§ãã³ãã«ãèªèããŠãããšã¿ãªãããšãã§ããã ã¯ã©ã€ã¢ã³ãã¯ã圱é¿ãåãã屿§ãã³ãã«ç¯å²ããã®å±æ§ãã£ãã·ã¥å ã§ç¡å¹ãšã¿ãªãã屿§ãã£ãã·ã¥ã埩å ããããã®çºèŠæé ãå®è¡ããããµãŒãã¯ãå šãŠã®ä¿çšå¯Ÿè±¡æ©åšã®ãµãŒãã¹å€æŽæ å ±ãæ ŒçŽããã
2.5.2.1 ããã¹ããã£ãã·ã³ã°
ããã¹ããã£ãã·ã³ã°ãšã¯ïŒãµãŒããã¯ã©ã€ã¢ã³ãããµãŒãã¹å€æŽãèªèããŠããªããšå€æããå Žåã«ïŒãµãŒããã¯ã©ã€ã¢ã³ãã«ãšã©ãŒå¿çãéä¿¡ããæ©èœã§ããã ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ãšãµãŒãã¹å€æŽç¹æ§ã®äž¡æ¹ããµãŒãäžã«ååšããå ŽåããµãŒãã¯ããã¹ããã£ãã·ã³ã°æ©èœããµããŒãããªããã°ãªããªãã ãµãŒãã®èгç¹ããã¯ïŒæ¥ç¶ãããåã¯ã©ã€ã¢ã³ãã¯ïŒããŒã¿ããŒã¹å®çŸ©ã®å€æŽã«ã€ããŠã倿ŽãèªèããŠããããã倿ŽãèªèããŠããªãããã®ããããã§ããããµãŒãã«æ¥ç¶ããåŸã®ä¿¡é Œé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã®åæç¶æ ã¯ïŒå€æŽãèªèããŠããç¶æ ã§ãããä¿¡é Œãããé¢ä¿ãæã€ã¯ã©ã€ã¢ã³ãã®åæç¶æ ã¯ãååã®æ¥ç¶ä»¥éã«ããŒã¿ããŒã¹ãæŽæ°ãããŠããªãéããååã®æ¥ç¶ãã倿ŽãããŠããŸããã ãµãŒããŒãããŒã¿ããŒã¹å®çŸ©ãæŽæ°ãããã³ã«ãæ¥ç¶ãããŠãããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã¯å€æŽäžå¯ãšãªããŸããæ¥ç¶ãããŠããã¯ã©ã€ã¢ã³ãã¯ãåãæ¥ç¶äžã«ææ°ã®ããŒã¿ããŒã¹å€æŽã®åŸã«ä»¥äžã®ãããããçºçããå Žåã倿Žãèªèããããã«ãªããŸãã
- ã¯ã©ã€ã¢ã³ãã Service Changed ãšãã衚瀺ãåä¿¡ããŠç¢ºèªãã(å³2.5åç §)ã
- ãµãŒãã¯ã¯ã©ã€ã¢ã³ãã«ãšã©ãŒã³ãŒãããDatabase Out Of Syncãã«èšå®ããå¿çãéä¿¡ãããã®åŸããµãŒãã¯ã¯ã©ã€ã¢ã³ãããå¥ã® ATT èŠæ±ãåä¿¡ããïŒå³ 2.6 åç §ïŒã
- ã¯ã©ã€ã¢ã³ã㯠Database Hash ç¹æ§ãèªã¿åãããµãŒãã¯ã¯ã©ã€ã¢ã³ãããå¥ã® ATT èŠæ±ãåä¿¡ããïŒå³ 2.6 åç §ïŒã (Client Supported Features ç¹æ§ã® Robust Caching ããããèšå®ããããšã§)ããã¹ããã£ãã·ã³ã°ã®ãµããŒãã瀺ããã¯ã©ã€ã¢ã³ãã倿Žäžå¯ã®å Žåããã®ã¯ã©ã€ã¢ã³ãã ATT èŠæ±ãéä¿¡ããŠå±æ§ãã³ãã«ãŸãã¯å±æ§ãã³ãã«ã®ãªã¹ãã§æäœãèŠæ±ãããšããµãŒãã¯æäœãå®è¡ããã代ããã« Database Out Of Sync ã«èšå®ããããšã©ãŒã³ãŒããæã€å¿çãéä¿¡ããªããã°ãªããªãããšã©ãŒå¿çã¯ãã¯ã©ã€ã¢ã³ãã倿Žãèªèããªããªã£ãŠããäžåºŠã ãéããããã¯ã©ã€ã¢ã³ããåæããªãéãããŸãã¯ã¯ã©ã€ã¢ã³ãã倿Žãèªèããåã«ããŒã¿ããŒã¹ãåã³å€æŽãããªãéãããã®å Žåããšã©ãŒå¿çã¯åã³éãããªããã°ãªããªãã倿ŽãèªèããŠããªãã¯ã©ã€ã¢ã³ãã ATT ã³ãã³ããéä¿¡ããå ŽåããµãŒãã¯ãããç¡èŠãããã®ãšããããã³ãã«å€ã®è¡šç€ºãé€ããŠããµãŒãã¯ããã®ãããªã¯ã©ã€ã¢ã³ãã倿ŽãèªèãããŸã§ããã®ãããªã¯ã©ã€ã¢ã³ãã«éç¥ã衚瀺ãéä¿¡ããŠã¯ãªããªããã¯ã©ã€ã¢ã³ãã倿ŽãèªèããŠããå ŽåããµãŒãã¯éåžžã®æäœãè¡ããã®ãšããã æ³šïŒéç¥ã衚瀺ããããã¯ããã確çãæžããããã«ããµãŒãã¯ããµãŒãã¹å€æŽåŸãã§ããã ãæ©ããµãŒãã¹å€æŽè¡šç€ºãéä¿¡ãã¹ãã§ããã ã¯ã©ã€ã¢ã³ãããDatabase Out Of Syncãã«èšå®ããããšã©ãŒã³ãŒããæã€ãšã©ãŒå¿çãåä¿¡ããå Žåãã¯ã©ã€ã¢ã³ãã¯ãã®å±æ§ãã£ãã·ã¥ãç¡å¹ãšã¿ãªãããµãŒãã¹çºèŠãå®è¡ãããã垯åå€ã¡ã«ããºã ã䜿çšããŠå€æŽãããããŒã¿ããŒã¹å®çŸ©ãååŸãããŸã§ããã£ãã·ã¥ãããæ å ±ãå©çšããŠã¯ãªããªãã
2.5.3 屿§ã®ã°ã«ãŒãå
æ±çšå±æ§ãããã¡ã€ã«ã¯ã3 ã€ã®å±æ§ã¿ã€ãã®å±æ§ã®ã°ã«ãŒãåãå®çŸ©ããŸãã"ãã©ã€ããªãµãŒãã¹"ïŒ"ã»ã«ã³ããªãµãŒãã¹ "åã³ "ç¹æ§ "ã§ãããã°ã«ãŒãã¯å®£èšã§å§ãŸãããµãŒãã¹ã«ã€ããŠã¯ç¬¬ 3.1 ç¯ãç¹æ§ã«ã€ããŠã¯ç¬¬ 3.3 ç¯ã§å®çŸ©ãããéãã«çµäºãããã°ã«ãŒãå屿§ã®å šãŠã ATT Read By Group Type Request ã§äœ¿çšã§ããããã§ã¯ãªããã°ã«ãŒãåã¿ã€ãããã©ã€ããªãµãŒãã¹ãåã³ãã»ã«ã³ããªãµãŒãã¹ãã¯ãã°ã«ãŒãåã¿ã€ããRead By Group Type Requestãã§äœ¿çšããããšãã§ãããCharacteristicãã°ã«ãŒãåã¿ã€ãã¯ãATT Read By Group Type Request ã«ãããŠäœ¿çšããŠã¯ãªããªãã
2.5.4 UUID
ãã¹ãŠã® 16 ããã UUID ã¯ãæ£ç¢ºã« 2 ãªã¯ãããã«å«ãŸããªããã°ãªããªãããã¹ãŠã® 128 ããã UUID ã¯ãæ£ç¢ºã« 16 ãªã¯ãããã«å«ãŸããªããã°ãªããªãã UUID ã ATT PDU ã«å«ãŸããå Žåã¯ã32 ããã UUID ããã¹ãŠ 128 ããã UUID ã«å€æãããå€ææ¹æ³ã«ã€ããŠã¯ã[Vol.3]ããŒã B 2.5.1 ç¯ãåç §ã®ããšã
2.6 ã¬ãããããã¡ã€ã«éå±€æ§é
2.6.1 æŠèŠ
GATTãããã¡ã€ã«ã¯ããããã¡ã€ã«ããŒã¿ã亀æããããã®æ§é ãèŠå®ããŠããããã®æ§é ã¯ããããã¡ã€ã«ã§äœ¿çšããããµãŒãã¹ãç¹æ§ãªã©ã®åºæ¬çãªèŠçŽ ãå®çŸ©ããŠããŸãããããã®èŠçŽ ã¯ãã¹ãŠå±æ§ïŒAttributesïŒã«å«ãŸããŠããã屿§ãããã³ã«ã§äœ¿çšããã屿§ã¯ããã®ãããã¡ã€ã«ããŒã¿ãéã¶ã³ã³ããã§ããã éå±€ã®æäžäœã¯ãããã¡ã€ã«ã§ããããããã¡ã€ã«ã¯ããŠãŒã¹ã±ãŒã¹ãæºããããã«å¿ èŠãªïŒã€ä»¥äžã®ãµãŒãã¹ã§æ§æãããããµãŒãã¹ã¯ãä»ã®ãµãŒãã¹ã®ç¹æ§ãŸãã¯å å«ç©ã§æ§æããããåç¹æ§ã¯ãå€ãå«ã¿ããã®å€ã«é¢ãããªãã·ã§ã³æ å ±ãå«ãã§ãããããµãŒãã¹ãšç¹æ§åã³ç¹æ§ã®æ§æèŠçŽ ïŒããªãã¡ïŒå€ãšèšè¿°åïŒã¯ïŒãããã¡ã€ã«ããŒã¿ãå«ã¿ïŒãã¹ãŠãµãŒãäžã®å±æ§ã«æ ŒçŽãããã
2.6.2 ãµãŒãã¹
ãµãŒãã¹ãšã¯ãç¹å®ã®æ©èœãç¹åŸŽãéæããããã®ããŒã¿ãšé¢é£ããåäœã®éåäœã§ãããGATTã§ã¯ããµãŒãã¹ã¯ãã®ãµãŒãã¹å®çŸ©ã«ãã£ãŠå®çŸ©ãããããµãŒãã¹å®çŸ©ã«ã¯ïŒå«ãŸãããµãŒãã¹ïŒå¿ é ç¹æ§ïŒãªãã·ã§ã³ç¹æ§ãå«ããããšãã§ããã 以åã®ã¯ã©ã€ã¢ã³ããšã®äžäœäºææ§ãç¶æããããã«ããµãŒãã¹å®çŸ©ã®åŸã®ããŒãžã§ã³ã§ã¯ãæ°ãã«å«ãŸãããµãŒãã¹ããªãã·ã§ã³ç¹æ§ã®ã¿ã远å ããããšãã§ããŸãããµãŒãã¹å®çŸ©ã®åŸã®ããŒãžã§ã³ã¯ããµãŒãã¹å®çŸ©ã®åã®ããŒãžã§ã³ã®åäœã倿ŽããããšãçŠæ¢ãããŠããã ãµãŒãã¹ã«ã¯ããã©ã€ããªãµãŒãã¹ãšã»ã«ã³ããªãµãŒãã¹ã®2çš®é¡ãããããã©ã€ããªãµãŒãã¹ã¯ããã®ããã€ã¹ã®äž»ã«äœ¿çšå¯èœãªæ©èœãå ¬éãããµãŒãã¹ã§ããããã©ã€ããªãµãŒãã¹ã¯ãå¥ã®ãµãŒãã¹ã«ãã£ãŠå«ãŸããããšãã§ããŸãããã©ã€ããªãµãŒãã¹ã¯ããã©ã€ããªãµãŒãã¹çºèŠæé ã䜿çšããŠçºèŠããããšãã§ããŸããäºæ¬¡ãµãŒãã¹ã¯ãäžæ¬¡ãµãŒãã¹ãŸãã¯å¥ã®äºæ¬¡ãµãŒãã¹ãŸãã¯ä»ã®äžäœã¬ã€ã€ä»æ§ããã®ã¿å«ãŸããããšãæå³ãããµãŒãã¹ã§ãããã»ã«ã³ããªãµãŒãã¹ã¯ããããå«ããšã³ãã£ãã£ã®ã³ã³ããã¹ãã§ã®ã¿é¢é£ããã ãµãŒãã¹ããã©ã€ããªãµãŒãã¹ã§ãããã»ã«ã³ããªãµãŒãã¹ã§ãããã®æ±ºå®ã¯ãäžäœã¬ã€ã€ä»æ§ã«ãã£ãŠçŸ©åä»ããããããšãããã ãµãŒãã¹ã¯ãç¹å®ã®ãŠãŒã¹ã±ãŒã¹ãæºããããã«ã1ã€ä»¥äžã®äžäœã¬ã€ã€ä»æ§ã§äœ¿çšãããŠãããã ãµãŒãã¹ã®å®çŸ©ã«ã€ããŠã¯ãã»ã¯ã·ã§ã³ 3.1 ã«èšè¿°ããã
2.6.3 å«ãŸãããµãŒãã¹
ã€ã³ã¯ã«ãŒããµãŒãã¹ãšã¯ããµãŒãäžã«ååšããå¥ã®ãµãŒãã¹å®çŸ©ããå®çŸ©ãããŠãããµãŒãã¹ã«åç §ããæ¹æ³ã§ããä»ã®ãµãŒãã¹ãã€ã³ã¯ã«ãŒãããã«ã¯ããµãŒãã¹å®çŸ©ã®å é ã«ã€ã³ã¯ã«ãŒãå®çŸ©ã䜿çšããŸãããµãŒãã¹å®çŸ©ãã€ã³ã¯ã«ãŒãå®çŸ©ã䜿çšããŠãµãŒãã¹ãã€ã³ã¯ã«ãŒãããå Žåãã€ã³ã¯ã«ãŒãããããµãŒãã¹å®çŸ©å šäœãæ°ãããµãŒãã¹å®çŸ©ã®äžéšãšãªããŸããããã«ã¯ãã€ã³ã¯ã«ãŒãããããã¹ãŠã®ãµãŒãã¹ãšã€ã³ã¯ã«ãŒãããããµãŒãã¹ã®ç¹æ§ãå«ãŸãããã€ã³ã¯ã«ãŒãããããµãŒãã¹ã¯ãäŸç¶ãšããŠç¬ç«ãããµãŒãã¹ãšããŠååšãããä»ã®ãµãŒãã¹ã«ãã£ãŠå å«ããããµãŒãã¹ã¯ãå å«ã®è¡çºã«ãã£ãŠããå å«ããããµãŒãã¹ã«ãã£ãŠã倿ŽãããŠã¯ãªããªãããµãŒãã¹å®çŸ©ã«ãããã€ã³ã¯ã«ãŒãå®çŸ©ã®æ°ãå ¥ãåã«ãªã£ãã€ã³ã¯ã«ãŒãã®æ·±ãã«å¶éã¯ãªãã ã€ã³ã¯ã«ãŒãå®çŸ©ã«ã€ããŠã¯ã第3.2ç¯ã«èšè¿°ããã
2.6.4 ç¹æ§
ç¹æ§ãšã¯ããµãŒãã¹ã§äœ¿çšãããå€ã§ããããã®å€ãã©ã®ããã«ã¢ã¯ã»ã¹ããããã«é¢ããããããã£ãèšå®æ å ±ãå€ã®è¡šç€ºæ¹æ³ãè¡šçŸæ¹æ³ã«é¢ããæ å ±ãšäžç·ã«æäŸããããGATTã§ã¯ãç¹æ§ã¯ãã®ç¹æ§å®çŸ©ã«ãã£ãŠå®çŸ©ããããç¹æ§å®çŸ©ã¯ãç¹æ§å®£èšãç¹æ§ããããã£ãå€ãå«ã¿ããã®å€ãèšè¿°ããèšè¿°åãå«ãã§ãããããç¹æ§ã«é¢é£ããŠãµãŒãã®èšå®ãèš±å¯ããèšè¿°åãå«ãã§ãããã ç¹æ§å®çŸ©ã¯ãã»ã¯ã·ã§ã³3.3ã«èšè¿°ãããŠããã
2.7 æ§æããããããŒããã£ã¹ã
LE ç©çãªã³ã¯ã®å ŽåãConfigured Broadcast ã¯ãã¯ã©ã€ã¢ã³ãããµãŒãã Broadcast ã¢ãŒãæé ãå®è¡ããŠãããšãã«ãåºåããŒã¿ã®äžã§ã©ã®ç¹æ§å€ããããŒããã£ã¹ããã¹ããããµãŒãã«æç€ºããããã®æ¹æ³ã§ãããBR/EDR ç©çãªã³ã¯ã§ã¯ãConfigured Broadcast ã¯ãµããŒããããŠããŸããã Broadcastã¢ãŒãæã«ãµãŒãããããŒããã£ã¹ãããç¹æ§å€ãèšå®ããã«ã¯ãã¯ã©ã€ã¢ã³ãã¯ã3.3.3.4ç¯ã«èšèŒãããŠãããããŒããã£ã¹ãèšå®ããããèšå®ããããããŒããã£ã¹ãã®é »åºŠã¯ãµãŒãã¹åäœå®çŸ©ã®äžéšã§ããã
3 ãµãŒãã¹ã®çžäºéçšæ§ã®èŠä»¶
3.1 ãµãŒãã¹ã®å®çŸ©
ãµãŒãã¹å®çŸ©ã¯ïŒãµãŒãã¹å®£èšãå«ãŸãªããã°ãªããïŒã€ã³ã¯ã«ãŒãå®çŸ©åã³ç¹æ§å®çŸ©ãå«ãã§ãããããµãŒãã¹å®çŸ©ã¯ã次ã®ãµãŒãã¹å®£èšã®åãåã¯å±æ§ãã³ãã«ã®æå€§å€ã«éããåŸã«çµäºããããµãŒãã¹å®çŸ©ã¯ã屿§ãã³ãã«ã«åºã¥ãé ã«ãµãŒãäžã«çŸããã ãµãŒãã¹å®çŸ©å ã«å«ãŸããå šãŠã®ã€ã³ã¯ã«ãŒãå®çŸ©åã³ç¹æ§å®çŸ©ã¯ïŒãµãŒãã¹ã®äžéšãšã¿ãªãããããã¹ãŠã®ã€ã³ã¯ã«ãŒãå®çŸ©ã¯ïŒãµãŒãã¹å®£èšã®çŽåŸã«ç¶ãïŒãããªãç¹æ§å®çŸ©ã«ãå è¡ããªããã°ãªããªãããµãŒãã¹å®çŸ©ã¯ïŒ0å以äžã®ã€ã³ã¯ã«ãŒãå®çŸ©ãæã€ããšãã§ããããã¹ãŠã®ç¹æ§å®çŸ©ã¯ïŒæåŸã®ã€ã³ã¯ã«ãŒãå®çŸ©ã®çŽåŸïŒåã¯ã€ã³ã¯ã«ãŒãå®çŸ©ããªãå Žåã«ã¯ïŒãµãŒãã¹å®£èšã®çŽåŸã§ãªããã°ãªããªãããµãŒãã¹å®çŸ©ã¯ïŒ0å以äžã®ç¹æ§å®çŸ©ãæã€ããšãã§ãããã€ã³ã¯ã«ãŒãå®çŸ©åã¯ç¹æ§å®çŸ©ã«äžéã¯ãªãã ãµãŒãã¹å®£èšã¯ã"ãã©ã€ããªãµãŒãã¹ "å㯠"ã»ã«ã³ããªãµãŒãã¹ "ã®UUIDã«Attribute Typeãèšå®ããAttributeã§ããã屿§å€ã¯ããµãŒãã¹ã® 16 ãããã® Bluetooth UUID ãŸã㯠128 ãããã® UUID ã§ããããµãŒãã¹ UUID ãšããŠç¥ãããŠãããã¯ã©ã€ã¢ã³ãã¯ã16 ããããš 128 ãããã®äž¡æ¹ã® UUUID ã®äœ¿çšããµããŒãããªããã°ãªããªããã¯ã©ã€ã¢ã³ãã¯ãäžæãªãµãŒãã¹UUIDãæã€ãµãŒãã¹å®çŸ©ãç¡èŠããŠããããæªç¥ã®ãµãŒãã¹ UUID ã¯ããµããŒããããŠããªããµãŒãã¹ã® UUID ã§ããã屿§æš©éã¯èªã¿åãå°çšã§ãããèªèšŒãèªå¯ãå¿ èŠãšããªããã®ãšããã è€æ°ã®ãµãŒãã¹ãååšããå Žåã«ã¯ã16ãããã®Bluetooth UUIDã䜿çšãããµãŒãã¹å®£èšãæã€ãµãŒãã¹å®çŸ©ããŸãšããŠ(ããªãã¡ãé æ¬¡ãªã¹ãã¢ããããŠ)ã°ã«ãŒãåãã128ãããã®UUIDã䜿çšãããµãŒãã¹å®£èšãæã€ãµãŒãã¹å®çŸ©ããŸãšããŠã°ã«ãŒãåããªããã°ãªããªãã ããã€ã¹ãŸãã¯ãã以äžã®ã¬ãã«ã®ä»æ§ã¯ãè€æ°ã®ãµãŒãã¹å®çŸ©ãæã€ããšãã§ããåããµãŒãã¹UUIDãæã€è€æ°ã®ãµãŒãã¹å®çŸ©ãæã€ããšãã§ããã ãµãŒããŒäžã®ãã¹ãŠã®å±æ§ã¯ããµãŒãã¹å®£èšãå«ããããµãŒãã¹å®çŸ©å ã«ååšããªããã°ãªããªãã ãµãŒãã«å«ãŸãããµãŒãã¹å®çŸ©ã¯ïŒä»»æã®é åºã§çŸããããšãã§ãããã¯ã©ã€ã¢ã³ãã¯ïŒãµãŒãäžã®ãµãŒãã¹å®çŸ©ã®é åºãæ³å®ããŠã¯ãªããªãã
3.2 å®çŸ©ãå«ã
ã€ã³ã¯ã«ãŒãå®çŸ©ã¯ïŒäžã€ã®ã€ã³ã¯ã«ãŒã宣èšã ããå«ãŸãªããã°ãªããªãã ã€ã³ã¯ã«ãŒã宣èšã¯ãAttribute Typeã "Include "ã®UUIDã«èšå®ããAttributeã§ããã屿§å€ã«ã¯ãã€ã³ã¯ã«ãŒãããããµãŒãã¹ã®å±æ§ãã³ãã«ããšã³ãã°ã«ãŒããã³ãã«ãåã³ãµãŒãã¹UUIDãèšå®ããªããã°ãªããªãããµãŒãã¹UUIDã¯ãUUIDã16ãããã®Bluetooth UUIDã§ããå Žåã«ã®ã¿ååšããªããã°ãªããªãã ãµãŒããŒã¯ãå ã®ãµãŒãã¹ãå«ãå¥ã®ãµãŒãã¹ãžã®ã€ã³ã¯ã«ãŒãå®çŸ©ãæã€ãµãŒãã¹å®çŸ©ãå«ãã§ã¯ãªããªããããã¯ãã€ã³ã¯ã«ãŒãå®çŸ©ãåç §ããåãµãŒãã¹ã«é©çšããããããã埪ç°åç §ãšããã ã¯ã©ã€ã¢ã³ãã埪ç°åç §ãæ€åºããå ŽåããŸãã¯æåŸ ä»¥äžã«ãã¹ããããã€ã³ã¯ã«ãŒã宣èšãæ€åºããå Žåã¯ãATTãã¢ã©ãçµäºãããã¹ãã§ããã
3.3 ç¹åŸŽçãªå®çŸ©
ç¹æ§å®çŸ©ã¯ïŒç¹æ§å®£èšïŒç¹æ§å€å®£èšãå«ãŸãªããã°ãªããïŒç¹æ§èšè¿°å宣èšãå«ãã§ããããç¹æ§å®çŸ©ã¯ïŒæ¬¡ã®ç¹æ§å®£èšåã¯ãµãŒãã¹å®£èšã®éå§æïŒåã¯å±æ§ãã³ãã«ã®æå€§å€ã®åŸã«çµäºãããç¹æ§å®çŸ©ã¯ããµãŒãã¹å®çŸ©å ã®ãµãŒãäžã«ã屿§ãã³ãã«ã«åºã¥ãé åºã§çŸããã äžèšã®å宣èšã¯ãå¥åã®å±æ§ã«å«ãŸãããå¿ é ã®å®£èšã¯ïŒç¹æ§å®£èšãšç¹æ§å€å®£èšã®ïŒã€ã§ãããç¹æ§å€å®£èšã¯ïŒç¹æ§å®£èšã®çŽåŸã«ååšããªããã°ãªããªããä»»æã®ç¹æ§èšè¿°å宣èšã¯ïŒç¹æ§å€å®£èšã®åŸã«çœ®ããããä»»æã®ç¹æ§èšè¿°å宣èšã®é åºã¯ïŒéèŠã§ã¯ãªãã ç¹æ§å®çŸ©ã¯ãè€æ°ã®ç¹æ§å€ãé£çµããŠãåäžã®éçŽãããç¹æ§å€ã«ããããã«å®çŸ©ããŠããããããã¯ãåäžã®éçŽãããç¹æ§å€ã®èªã¿æžããéããŠãè€æ°ã®ç¹æ§å€ã®èªã¿æžããæé©åããããã«äœ¿çšãããããšããããŸãããã®ã¿ã€ãã®ç¹æ§å®çŸ©ã¯ãéåžžã®ç¹æ§å®çŸ©ãšåãã§ãããç¹æ§å®£èšã¯ãç¹æ§å€ã«åºæã®ç¹æ§UUIDã䜿çšããªããã°ãªããªãã éçŽãããç¹æ§å®çŸ©ãå«ããéçŽãããç¹æ§å®çŸ©ã¯ãéçŽãããç¹æ§å€ã®è¡šç€ºåœ¢åŒãèšè¿°ããç¹æ§éçŽåœ¢åŒèšè¿°åãå«ãã§ãããã
3.3.1 ç¹æ§å®£èš
ç¹æ§å®£èšã¯ããç¹æ§ãã®UUIDã«Attribute Typeãèšå®ããç¹æ§ããããã£ãç¹æ§å€å±æ§ãã³ãã«ãç¹æ§UUIDã«Attribute Valueãèšå®ãã屿§ã§ããã屿§ããŒããã·ã§ã³ã¯ãèªã¿åãå¯èœãªãã®ã§ãªããã°ãªãããèªèšŒãèªå¯ãå¿ èŠãšããªããã®ã§ãªããã°ãªããªãã ç¹æ§å®£èšã®å±æ§å€ã¯ïŒãµãŒããä»»æã®ã¯ã©ã€ã¢ã³ããšä¿¡é Œé¢ä¿ãæã£ãŠããéã¯ïŒå€æŽããŠã¯ãªããªãã
ç¹æ§å®£èšã®å±æ§å€ã¯ïŒèªã¿åãå°çšã§ããã
1 ã€ã®ãµãŒãã¹ã¯ãåãç¹æ§ UUID ãæã€è€æ°ã®ç¹æ§å®çŸ©ãæã€ããšãã§ããã ãµãŒãã¹å®çŸ©ã®äžã«ã¯ïŒããã€ãã®ç¹æ§ãå¿ é ã§ããå ŽåãããïŒãããã®ç¹æ§ã¯ïŒã€ã³ã¯ã«ãŒã宣èšã®åŸã§ïŒãµãŒãã¹å®çŸ©ã®äžã®ä»»æã®ç¹æ§ã®åã«é 眮ãããªããã°ãªããªããã¯ã©ã€ã¢ã³ãã¯ïŒãµãŒãã¹å®çŸ©å ã§ïŒå¿ é ã§ããç¹æ§ã®é åºåã¯ä»»æã§ããç¹æ§ã®é åºãæ³å®ããŠã¯ãªããªããå¯èœãªéãïŒåã«è¿°ã¹ãèŠä»¶ã®ç¯å²å ã§ïŒ16ãããã®Bluetooth UUIDã䜿çšããç¹æ§å®£èšãæã€ç¹æ§å®çŸ©ã¯ïŒãŸãšããŠïŒããªãã¡ïŒé çªã«åæããŠïŒïŒ128ãããã®UUIDã䜿çšããç¹æ§å®£èšãæã€ç¹æ§å®çŸ©ã¯ïŒãŸãšããŠã°ã«ãŒãåããããšãæãŸããã
3.3.1.1 ç¹æ§ç¹æ§
ç¹æ§ç¹æ§ããããã£ãŒã«ãã¯ãç¹æ§å€ãã©ã®ããã«äœ¿çšã§ãããããŸãã¯ç¹æ§èšè¿°åïŒ3.3.3é åç §ïŒãã©ã®ããã«ã¢ã¯ã»ã¹ã§ããããæ±ºå®ããã衚3.5ã§å®çŸ©ãããŠããããããèšå®ãããŠããå ŽåïŒèšè¿°ãããŠããåäœãèš±å¯ããããè€æ°ã®ç¹æ§ç¹æ§ãèšå®ããããšãã§ããã ãããã®ãããã¯ïŒã»ãã¥ãªãã£èŠä»¶ã«é¢ä¿ãªãïŒäžäœå±€ã®ä»æ§ã§å®çŸ©ãããŠããããã«ïŒãã®ç¹æ§ã«å¯ŸããŠèš±å¯ãããæé ã«åŸã£ãŠèšå®ããªããã°ãªããªãã
3.3.1.2 ç¹æ§å€å±æ§ãã³ãã«
ç¹æ§å€å±æ§ãã³ãã«ã¯ãç¹æ§å€ãå«ã屿§ã®å±æ§ãã³ãã«ã§ããã
3.3.1.3 ãã£ã©ã¯ã¿ãŒ UUID
Characteristic UUIDãã£ãŒã«ãã¯ã16ãããã®Bluetooth UUIDãŸãã¯128ãããã®UUIDã§ããããã£ã©ã¯ã¿ãªã¹ãã£ãã¯å€ã®ã¿ã€ããèšè¿°ãããã¯ã©ã€ã¢ã³ãã¯ã16ãããåã³128ãããã®äž¡æ¹ã®ç¹æ§UUIDã®äœ¿çšããµããŒãããªããã°ãªããªããã¯ã©ã€ã¢ã³ãã¯ãæªç¥ã®ç¹æ§UUIDãæã€ç¹æ§å®çŸ©ãç¡èŠããŠããããæªç¥ã®ç¹æ§ UUIDã¯ããµããŒããããŠããªãç¹æ§ã®UUIDã§ããã
3.3.2 ç¹æ§å€å®£èš
ç¹æ§å€å®£èšã¯ãç¹æ§ã®å€ãå«ããããã¯ïŒç¹æ§å®£èšã®åŸã®æåã®å±æ§ã§ããããã¹ãŠã®ç¹æ§å®çŸ©ã¯ãç¹æ§å€å®£èšãæããªããã°ãªããªãã ç¹æ§å€å®£èšã¯ãç¹æ§å®£èšã§äœ¿çšãããç¹æ§å€ã® 16 ããã Bluetooth ãŸã㯠128 ããã UUID ã« Attribute Type ãèšå®ãã屿§ã§ããã屿§å€ã«ã¯ãç¹æ§å€ãèšå®ãããŠããã屿§ã®èš±å¯ã¯ããµãŒãã¹ã«ãã£ãŠæå®ãããããç¹ã«æå®ããªãå Žåã¯å®è£ åºæã®ãã®ãšããããšãã§ããã
3.3.3 ç¹æ§èšè¿°å宣èš
ç¹æ§èšè¿°åã¯ãç¹æ§å€ã«é¢ããé¢é£æ å ±ãå«ãããã«äœ¿çšããããGATTãããã¡ã€ã«ã¯ãäžäœã¬ã€ã€ãããã¡ã€ã«ã§äœ¿çšã§ããç¹æ§èšè¿°åã®æšæºã»ãããå®çŸ©ããŠããã髿¬¡ã¬ã€ã€ãããã¡ã€ã«ã¯ããããã¡ã€ã«åºæã®è¿œå ã®ç¹æ§èšè¿°åãå®çŸ©ããŠããããåç¹æ§èšè¿°åã¯ãç¹æ§èšè¿°å UUID ã«ãã£ãŠèå¥ããããã¯ã©ã€ã¢ã³ãã¯ïŒ16 ãããåã³ 128 ãããã®ç¹æ§èšè¿°å UUID ã®äž¡æ¹ã®äœ¿çšããµããŒãããªããã°ãªããªããã¯ã©ã€ã¢ã³ãã¯ïŒæªç¥ã®ç¹æ§èšè¿°åUUIDãæã€ç¹æ§èšè¿°å宣èšãç¡èŠããŠããããæªç¥ã®ç¹æ§èšè¿°å UUID ã¯ïŒãµããŒããããŠããªãç¹æ§èšè¿°åã«å¯Ÿãã UUUID ã§ããã ç¹æ§å®çŸ©å ã«ååšããå ŽåïŒç¹æ§èšè¿°åã¯ïŒç¹æ§å€å®£èšã«åŸããªããã°ãªããªããç¹æ§èšè¿°å宣èšã¯ïŒç¹æ§å®çŸ©å ã§ã©ã®ãããªé åºã§çŸããŠããããã¯ã©ã€ã¢ã³ãã¯ïŒç¹æ§å®çŸ©å ã§ç¹æ§èšè¿°å宣èšãç¹æ§å€å®£èšã«ç¶ããŠçŸããé åºãæ³å®ããŠã¯ãªããªãã ç¹æ§èšè¿°å宣èšã®èš±å¯ã¯ïŒäžäœã¬ã€ã€ãããã¡ã€ã«ã«ãã£ãŠå®çŸ©ãããŠãããïŒåã¯å®è£ åºæã®ãã®ã§ãããã¯ã©ã€ã¢ã³ãã¯ïŒãã¹ãŠã®ç¹æ§èšè¿°å宣èšãèªã¿åãããšä»®å®ããŠã¯ãªããªãã
3.3.3.1 ç¹åŸŽçãªæ¡åŒµç¹æ§
ç¹æ§æ¡åŒµç¹æ§å®£èšã¯ïŒè¿œå ã®ç¹æ§ç¹æ§ãå®çŸ©ããèšè¿°åã§ãããç¹æ§ç¹æ§ç¹æ§ã®æ¡åŒµç¹æ§ããããèšå®ãããŠããå ŽåïŒãã®ç¹æ§èšè¿°åã¯ååšããªããã°ãªããªããç¹æ§èšè¿°åã¯ïŒç¹æ§å®çŸ©å ã®ç¹æ§å€ã®åŸã®ã©ã®äœçœ®ã«ãååšããããšãã§ãããç¹æ§å®çŸ©å ã«ã¯ïŒïŒã€ã®ç¹æ§æ¡åŒµç¹æ§å®£èšã®ã¿ãååšããªããã°ãªããªãã ç¹æ§èšè¿°åã¯ïŒå±æ§ã«å«ãŸãïŒå±æ§ã¿ã€ã㯠"ç¹æ§æ¡åŒµç¹æ§ "ã®UUIDã«èšå®ããïŒå±æ§å€ã¯ "ç¹æ§æ¡åŒµç¹æ§ããããã£ãŒã«ã "ã§ãªããã°ãªããªãã屿§ããŒããã·ã§ã³ã¯ãèªèšŒåã³èªå¯ãå¿ èŠãšããã«èªã¿åãããã®ãšããã ç¹æ§æ¡åŒµç¹æ§ããããã£ãŒã«ãã¯ïŒç¹æ§å€ãã©ã®ããã«äœ¿çšã§ãããïŒåã¯ç¹æ§èšè¿°å(3.3.3.3é åç §)ãã©ã®ããã«ã¢ã¯ã»ã¹ã§ãããã«ã€ããŠã®è¿œå ç¹æ§ãèšè¿°ããã衚3.8ã«å®çŸ©ãããŠããããããèšå®ãããŠããå ŽåïŒèšè¿°ãããŠããåäœãèš±å¯ããããè€æ°ã®ç¹æ§ããããã£ãèšå®ããããšãã§ããã
3.3.3.2 ç¹æ§ãŠãŒã¶èšè¿°
Characteristic User Description宣èšã¯ããªãã·ã§ã³ã®ç¹æ§èšè¿°åã§ãããå¯å€ãµã€ãºã®UTF-8æååãå®çŸ©ããŸããç¹æ§ããããã£ã®æžã蟌ã¿å¯èœè£å©ããããèšå®ãããŠããå Žåããã®ç¹æ§èšè¿°åãæžã蟌ãããšãã§ããŸããç¹æ§èšè¿°åã¯ãç¹æ§å®çŸ©å ã®ç¹æ§å€ã®åŸã®ä»»æã®äœçœ®ã«èšè¿°ããããšãã§ãããç¹æ§å®çŸ©å ã«ã¯ïŒ1ã€ã®ç¹æ§å®çŸ©å ã«1ã€ã®ç¹æ§ãŠãŒã¶èšè¿°å®£èšã®ã¿ãååšãããã®ãšããã ç¹æ§èšè¿°åã¯ã屿§ã«å«ãŸãã屿§ã¿ã€ãã¯ããç¹æ§ãŠãŒã¶èšè¿°ãã®UUIDã«èšå®ãã屿§å€ã¯ãç¹æ§ãŠãŒã¶èšè¿°ã®UTF-8æååã«èšå®ããªããã°ãªããªãã屿§æš©éã¯ããããã¡ã€ã«ã«ãã£ãŠæå®ãããããç¹ã«æå®ããªãå Žåã¯ãå®è£ åºæã®ãã®ã§ãã£ãŠãããã
3.3.3.3 ã¯ã©ã€ã¢ã³ãç¹æ§èšå®
ã¯ã©ã€ã¢ã³ãç¹æ§æ§æå®£èšã¯ãç¹æ§ãç¹å®ã®ã¯ã©ã€ã¢ã³ãã«ãã£ãŠã©ã®ããã«æ§æãããããå®çŸ©ãããªãã·ã§ã³ã®ç¹æ§èšè¿°åã§ãããã¯ã©ã€ã¢ã³ãç¹æ§æ§æèšè¿°åã®å€ã¯ãä¿çšãããããã€ã¹ã®æ¥ç¶éã§æ°žç¶çã§ãªããã°ãªããªããã¯ã©ã€ã¢ã³ãç¹æ§èšå®èšè¿°åã®å€ã¯ãéçµåããã€ã¹ãšã®åæ¥ç¶ã«ãããŠãããã©ã«ãå€ã«èšå®ãããªããã°ãªããªããç¹æ§èšè¿°åã®å€ã¯ããããã£ãŒã«ãã§ãããããããèšå®ãããŠããå Žåã¯ãã®åäœãæå¹ãšããèšå®ãããŠããªãå Žåã¯äœ¿çšããªããã¯ã©ã€ã¢ã³ãç¹æ§èšå®èšè¿°åã¯ãç¹æ§å®çŸ©å ã®ç¹æ§å€ã®åŸã®ä»»æã®äœçœ®ã«åºçŸããããšãã§ããã1 ã€ã®ç¹æ§å®çŸ©ã«ã¯ã1 ã€ã®ã¯ã©ã€ã¢ã³ãç¹æ§æ§æå®£èšã ããååšããªããã°ãªããªãã ã¯ã©ã€ã¢ã³ãã¯ïŒã¯ã©ã€ã¢ã³ãã®ããã«ãµãŒãäžã§ãã®ç¹æ§ã®æ§æãå¶åŸ¡ããããã«ïŒãã®æ§æèšè¿°åãèšè¿°ããŠããããåã¯ã©ã€ã¢ã³ãã¯ïŒã¯ã©ã€ã¢ã³ãç¹æ§èšå®ã®ç¬èªã®ã€ã³ã¹ã¿ã³ã¹ãæã€ãã¯ã©ã€ã¢ã³ãç¹æ§èšå®ã®èªã¿åãã¯ããã®ã¯ã©ã€ã¢ã³ãã®èšå®ã®ã¿ã瀺ããæžã蟌ã¿ã¯ããã®ã¯ã©ã€ã¢ã³ãã®èšå®ã«ã®ã¿åœ±é¿ãäžããŸããèšå®èšè¿°åã®æžã蟌ã¿ã«ã¯ããµãŒãã«ããèªèšŒãšèªå¯ãå¿ èŠãªå Žåããããã¯ã©ã€ã¢ã³ãç¹æ§æ§æå®£èšã¯ïŒèªã¿æžãå¯èœã§ãªããã°ãªããªãã ç¹æ§èšè¿°åã¯ã屿§ã«å«ãŸããã屿§çš®å¥ã«ã¯ããã¯ã©ã€ã¢ã³ãç¹æ§èšå®ãã® UUUID ãèšå®ããã屿§å€ã«ã¯ãç¹æ§èšè¿°åã®å€ãèšå®ããã屿§ã®èš±å¯ã¯ããããã¡ã€ã«ã«ãã£ãŠæå®ãããããåã¯ã以äžã®å Žåã«ã¯ãå®è£ åºæã®ãã®ã§ãã£ãŠãããã æå®ãããŠããªãå Žåã¯ã次ã®ããããå®çŸ©ãããã æ¬¡ã®ã¯ã©ã€ã¢ã³ãç¹æ§èšå®ããããå®çŸ©ããã Client Characteristic Configuration èšè¿°åã®ããã©ã«ãå€ã¯ 0x0000 ã§ããã GATT ãµãŒããåäžããã€ã¹ããã®è€æ°ã® ATT ãã¢ã©ããµããŒãããŠããå Žåãå ATT ãã¢ã©ã¯å¥åã® GATT ã¯ã©ã€ã¢ã³ãã€ã³ã¹ã¿ã³ã¹ãæã€ãã®ãšã¿ãªãããã®ãããå GATT ã¯ã©ã€ã¢ã³ãã¯åå¥ã®ã¯ã©ã€ã¢ã³ãç¹æ§èšå®ãæã€ãã®ãšããã
3.3.3.4 ãµãŒããŒç¹æ§èšå®
ãµãŒããŒç¹æ§æ§æå®£èšã¯ãç¹æ§ããµãŒããŒã«å¯ŸããŠã©ã®ããã«æ§æãããããå®çŸ©ãããªãã·ã§ã³ã®ç¹æ§èšè¿°åã§ãããç¹æ§èšè¿°åã®å€ã¯ãããããã£ãŒã«ãã§ãããããããèšå®ãããŠããå Žåããã®ã¢ã¯ã·ã§ã³ã¯æå¹ã«ããªããã°ãªãããããã§ãªãå Žåã¯äœ¿çšãããªãããµãŒããŒç¹æ§æ§æèšè¿°åã¯ãç¹æ§å®çŸ©å ã®ç¹æ§å€ã®åŸã®ä»»æã®äœçœ®ã«åºçŸããããšãã§ããã1 ã€ã®ç¹æ§å®çŸ©ã«ã¯ã1 ã€ã®ãµãŒããŒç¹æ§æ§æå®£èšã®ã¿ãååšããªããã°ãªããªãããµãŒããŒç¹æ§æ§æå®£èšã¯ãèªã¿åãå¯èœã§ãããæžã蟌ã¿å¯èœã§ãªããã°ãªããªãã ã¯ã©ã€ã¢ã³ãã¯ïŒãã®æ§æèšè¿°åãèšè¿°ããŠïŒãã¹ãŠã®ã¯ã©ã€ã¢ã³ãã«å¯ŸããŠãµãŒãäžã®ãã®ç¹æ§ã®æ§æãå¶åŸ¡ããããšãã§ããããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã«å¯ŸããŠïŒãµãŒããŒç¹æ§æ§æã®åäžã®ã€ã³ã¹ã¿ã³ã¹ãååšããããµãŒããŒç¹æ§æ§æã®èªã¿åãã¯ãã¹ãŠã®ã¯ã©ã€ã¢ã³ãã®æ§æã瀺ããæžã蟌ã¿ã¯ãã¹ãŠã®ã¯ã©ã€ã¢ã³ãã®æ§æã«åœ±é¿ãäžããŸããæ§æèšè¿°åã®æžã蟌ã¿ã«ã¯ããµãŒããŒã«ãã£ãŠèªèšŒãšèªå¯ãå¿ èŠãªå ŽåããããŸãã ç¹æ§èšè¿°åã¯ã屿§ã«å«ãŸãããAttribute Type ã«ã¯ããServer Characteristic Configurationãã® UUID ãèšå®ããªããã°ãªããªãã屿§å€ã«ã¯ãç¹æ§èšè¿°åã®å€ãèšå®ããªããã°ãªããªãã屿§ã®æš©éã¯ããããã¡ã€ã«ã§æå®ããããæå®ããªãå Žåã¯å®è£ åºæã®ãã®ãšããã
以äžã®ãµãŒããŒç¹æ§èšå®ããããå®çŸ©ããã
3.3.3.5 ç¹æ§æç€ºåœ¢åŒ
ç¹æ§æç€ºåœ¢åŒå®£èšã¯ãç¹æ§å€ã®åœ¢åŒãå®çŸ©ãããªãã·ã§ã³ã®ç¹æ§èšè¿°åã§ãããç¹æ§èšè¿°åã¯ãç¹æ§å®çŸ©å ã®ç¹æ§å€ã®åŸã®ã©ã®äœçœ®ã«ãååšããããšãã§ãããç¹æ§å®çŸ©å ã«ïŒã€ä»¥äžã®ç¹æ§æç€ºãã©ãŒããã宣èšãååšããå Žåãç¹æ§å®çŸ©ã®äžéšãšããŠç¹æ§éçŽãã©ãŒããã宣èšãååšããªããã°ãªããªãã ç¹æ§æžåŒå€ã¯ïŒæžåŒïŒææ°ïŒåäœïŒåå空éïŒèšè¿°ã®5ã€ã®éšåããæ§æãããã ç¹æ§èšè¿°åã¯ïŒå±æ§ã«å«ãŸããã屿§çš®å¥ã«ã¯ããç¹æ§æç€ºåœ¢åŒãã®UUIDãèšå®ããªããã°ãªããªãããŸãã屿§ã®çš®é¡ã¯ããç¹æ§æç€ºåœ¢åŒãã®UUIDãèšå®ããã
屿§å€ã¯ãç¹æ§èšè¿°åã®å€ãèšå®ããã屿§å€ã¯ãç¹æ§èšè¿°åã®å€ã« èš±å¯ã¯ãèªã¿åãã®ã¿ãšããèªèšŒãèªå¯ãå¿ èŠãšããªãããšãšããã
Characteristic Presentation Format èšè¿°åã®å±æ§å€ãã£ãŒã«ãã®å®çŸ©ã¯æ¬¡ã®ãšããã§ããã
3.3.3.5.1 ãããé åº
æå衚瀺ãã©ãŒãããã®ãããé ã¯ããªãã«ãšã³ãã£ã¢ã³ãšããã
3.3.3.5.2 ãã©ãŒããã
ãã©ãŒããããã£ãŒã«ãã¯ãç¹æ§å€ã«å«ãŸããåäžã®å€ãã©ã®ããã«ãã©ãŒããããããããæ±ºå®ããããã©ãŒãããããªã¯ãããã®æŽæ°ã§ãªãå ŽåãããŒã¿ã¯ãå€ãå«ãããšãã§ããæå°ã®ãªã¯ãããæ°ã«æ ŒçŽãããªããã°ãªããªããããŒã¿ã¯ïŒæåŸã®ãªã¯ãããã®æäžäœããããé€ããŠïŒåãªã¯ãããã®å šäœãå ããªããã°ãªããªãã 笊å·ä»ãæŽæ°ã¯ 2 ã®è£æ°è¡šçŸã䜿çšããã
IPv4 ã¢ãã¬ã¹ããšã³ã³ãŒãããå Žåã¯ãuint32 圢åŒã䜿çšãããIPv4 ã¢ãã¬ã¹ããšã³ã³ãŒãããå Žå㯠uint32 圢åŒãIPv6 ã¢ãã¬ã¹ããšã³ã³ãŒãããå Žå㯠uint128 圢åŒãšãããBluetooth BD_ADDR ããšã³ã³ãŒãããå Žåã¯ãuint48 ãã©ãŒãããã䜿çšãããduint16 ã¯ãuint16 ã® 2 ã€ã®å€ãé£çµãããã®ã§ããã
3.3.3.5.3 ææ°
ææ°ãã£ãŒã«ãã¯ãæŽæ°ããŒã¿åã§äœ¿çšãããå€ãã©ã®ããã«ãã©ãŒããããããããæ±ºå®ããŸããææ°ãã£ãŒã«ãã¯ã衚3.16ã®ãã©ãŒããããã£ãŒã«ãã§ç€ºãããŠããããã«ãæŽæ°ãã©ãŒãããã¿ã€ãã§ã®ã¿äœ¿çšãããŸããææ°ãã£ãŒã«ãã¯ã2ã®è£æ°ã®ç¬Šå·ä»ãæŽæ°ã§ãã
å®éã®å€ = ç¹æ§å€ * 10Exponent äžã®åŒãããããããã«ãå®éã®å€ã¯ãç¹æ§å€ãšå€ïŒïŒã®çޝ乿æ°ã®çµã¿åããã§ããããããå®ç¹æ°ãšåŒã¶ããšãããã äŸãã°ãææ°ãïŒã§ãç¹æ§å€ãïŒïŒã§ããã°ãå®éã®å€ã¯ïŒïŒïŒïŒãšãªãã äŸãã°ãææ°ã-3ã§ç¹æ§å€ã3892ã®å Žåãå®éã®å€ã¯3.892ãšãªããŸãã
3.3.3.5.4 åäœ
ãŠãããã¯ãAssigned Numbers[1]ã§å®çŸ©ãããŠããUUIDã§ããã
3.3.3.5.5 åå空é
åå空éãã£ãŒã«ãã¯ãAssigned Numbers[1]ã§å®çŸ©ãããŠããããã«ãèšè¿°ãã£ãŒã«ãã®åæãå®çŸ©ãã責任ã®ããçµç¹ãèå¥ããããã«äœ¿çšãããã
3.3.3.5.6 説æ
説æãã¯ããåå空éããã£ãŒã«ãã§èå¥ãããçµç¹ã®ãå²ãåœãŠçªå·ã[1]ã§å®çŸ©ãããåæå€ã§ããã
3.3.3.6 ç¹æ§éçŽãã©ãŒããã
Characteristic Aggregate Format 宣èšã¯ãéçŽããããã£ã©ã¯ã¿ãªã¹ãã£ãã¯å€ã®ãã©ãŒããããå®çŸ©ãããªãã·ã§ã³ã®ç¹æ§èšè¿°åã§ããã ç¹æ§èšè¿°åã¯ãç¹æ§å®çŸ©å ã®ç¹æ§å€ã®åŸã®ã©ã®äœçœ®ã«ãååšããããšãã§ãããç¹æ§å®çŸ©å ã«ã¯ã1ã€ã®ç¹æ§å®çŸ©å ã«1ã€ã®ç¹æ§éçŽãã©ãŒããã宣èšã®ã¿ãååšãããã®ãšããã ç¹æ§éåãã©ãŒãããå€ã¯ãç¹æ§æç€ºãã©ãŒããã宣èšã®å±æ§ãã³ãã«ã®ãªã¹ãã§æ§æãããå屿§ãã³ãã«ã¯ãç¹æ§æç€ºãã©ãŒããã宣èšãæãã 屿§æš©éã¯ãèªã¿åãå°çšã§ãããèªèšŒãèªå¯ãå¿ èŠãšããªãã 屿§ãã³ãã«ã®ãªã¹ãã¯ãè€æ°ã®16ãããã®å±æ§ãã³ãã«å€ã1ã€ã®å±æ§å€ã«é£çµãããã®ã§ããããã®ãªã¹ãã«ã¯ãç¹æ§æç€ºãã©ãŒããã宣èšã®ããã®å°ãªããšã 2 ã€ã®å±æ§ãã³ãã«ãå«ãŸããªããã°ãªããªããç¹æ§å€ã¯ã屿§ãã³ãã«ãæãç¹æ§æç€ºåœ¢åŒã®å®£èšããšã«åè§£ãããªããã°ãªããªãããªã¹ãå ã®å±æ§ãã³ãã«ã®é åºã¯ãéèŠã§ããã ç¹æ§å®çŸ©ã«è€æ°ã®ç¹æ§æç€ºåœ¢åŒå®£èšãååšããå ŽåïŒç¹æ§éçŽåœ¢åŒå®£èšã1ã€ååšããªããã°ãªããªããç¹æ§éå圢åŒå®£èšã¯ãç¹æ§å®çŸ©å ã®åç¹æ§æç€ºåœ¢åŒå®£èšã屿§ãã³ãã«ã®ãªã¹ãã«å«ããªããã°ãªããªããä»ã®ç¹æ§å®çŸ©ããã®ç¹æ§æç€ºåœ¢åŒå®£èšã䜿çšããããšãã§ããã ç¹æ§å®çŸ©ã«ååšããç¹æ§æç€ºåœ¢åŒå®£èšããªããŠãïŒç¹æ§éçŽåœ¢åŒå®£èšãååšããŠããããç¹æ§éçŽåœ¢åŒå®£èšã¯ãä»ã®ç¹æ§å®çŸ©ããã®ç¹æ§æç€ºåœ¢åŒå®£èšã䜿çšããããšãã§ããã
3.4 ã¬ãããããã£ãŒã«å±æ§ã¿ã€ãã®æŠèŠ
衚 3.18 ã¯ïŒGATT ãããã¡ã€ã«ã§å®çŸ©ããã屿§ã¿ã€ãããŸãšãããã®ã§ããã
äžç¥
7 å®çŸ©æžã¿ãžã§ããªãã¯å±æ§ãããã¡ã€ã«ãµãŒãã¹
ãã®ç¯ã§å®çŸ©ãããŠãããã¹ãŠã®ç¹æ§ã¯ã第3.1ç¯ã§å®çŸ©ãããŠããããã«ããµãŒãã¹UUIDããGATTãµãŒãã¹ãã«èšå®ãããŠãããã©ã€ããªãµãŒãã¹ã«å«ãŸããŠããªããã°ãªããªããGATTãµãŒãã¹ã®1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã®ã¿ãïŒGATTãµãŒãäžã§å ¬éãããªããã°ãªããªãã 衚 7.1 ã«ããµãŒãã«ååšããå¯èœæ§ã®ããç¹æ§ãšãã¯ã©ã€ã¢ã³ãããµããŒãããå¯èœæ§ã®ããç¹æ§ã瀺ãã
7.1 ãµãŒãã¹ã®å€æŽ
Service Changedãç¹æ§ã¯ããµãŒãã¹ã倿ŽãããããšïŒããªãã¡ã远å ãåé€ã倿ŽïŒãæ¥ç¶ãããæ©åšã«ç€ºãããã«äœ¿çšãããå¶åŸ¡ç¹å±æ§ïŒ[Vol 3] Part Fã3.2.6 ç¯ã§å®çŸ©ïŒã§ããããã®ç¹æ§ã¯ããµãŒããšä¿¡é Œé¢ä¿(ããªãã¡çµå)ãæã€ã¯ã©ã€ã¢ã³ãããµãŒãã«åæ¥ç¶ããéã«ãGATTããŒã¹ã®ãµãŒãã¹ã倿Žãããå Žåã«ããµãŒããšã®éã§ä¿¡é Œé¢ä¿(ããªãã¡çµå)ãæã€ã¯ã©ã€ã¢ã³ãã«ç€ºãããã«äœ¿çšãããªããã°ãªããªãã2.5.2ç¯ãåç §ã®ããšã ãã®ç¹æ§å€ã¯ãã¯ã©ã€ã¢ã³ããã¯ã©ã€ã¢ã³ãç¹æ§èšå®èšè¿°åã䜿çšããŠè¡šç€ºããããã«èšå®ããªããã°ãªããªããã¯ã©ã€ã¢ã³ããã¯ã©ã€ã¢ã³ãç¹æ§èšå®èšè¿°åã§ã®è¡šç€ºãæå¹ã«ããŠããªãå Žåã¯ã ãµãŒãã¹å€æŽåŸç¹æ§å€ã®å€æŽã«ãã衚瀺ã¯ã倱ããããã®ãšã¿ãªãã 倿ŽããããµãŒãã¹ç¹æ§å€ã¯ããµãŒãäžã® GATT ããŒã¹ã®ãµãŒãã¹ãžã®è¿œå ãåé€ããŸãã¯å€æŽã«ãã£ãŠåœ±é¿ãåãã屿§ãã³ãã«ã®å é ãšæ«å°Ÿã瀺ã 2 ã€ã® 16 ãããã®å±æ§ãã³ãã«ãé£çµãããã®ã§ãããç¹æ§å€ã®å€æŽã¯ããµãŒãã¹ã®å€æŽãšã¯ã¿ãªãããªããGATT ãµãŒãã¹å®çŸ©ã®ç¹æ§å€ã®ãã¡ã倿ŽããããµãŒãã¹ã®ç¹æ§å€ãšã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœã®ç¹æ§å€ä»¥å€ã«å€æŽããã£ãå Žåããã®ç¯å²ã«ã¯ GATT ãµãŒãã¹å®çŸ©ã®éå§ãšçµäºã®å±æ§ãã³ãã«ãå«ãŸããªããã°ãªããªãã GATT ãµãŒãã¹å®çŸ©å ã«ã¯ã倿ŽåŸã®ãµãŒãã¹ç¹æ§ã®ã€ã³ã¹ã¿ã³ã¹ã¯ 1 ã€ã®ã¿ãšããã倿ŽããããµãŒãã¹ç¹æ§å€ã¯ãä¿¡é Œãããé¢ä¿ãæã€åã¯ã©ã€ã¢ã³ãã«å¯ŸããŠååšããªããã°ãªããªãã GATT ããŒã¹ã®ãµãŒãã¹ã®ãªã¹ããšãµãŒãã¹å®çŸ©ãããã€ã¹ã®å¯¿åœã®é倿Žã§ããªãå Žåã¯ããã®ç¹æ§ã¯ååšããŠã¯ãªãããããã§ãªãå Žåã¯ããã®ç¹æ§ã¯ååšããªããã°ãªããªãã Service Changedç¹æ§ããµãŒãäžã«ååšããå ŽåããµãŒãäžã§ã®ç¹æ§å€è¡šç€ºã®ãµããŒãã¯å¿ é ã§ããã ã¯ã©ã€ã¢ã³ãã¯ããµãŒãã¹å€æŽåŸã®ç¹æ§ã®ç¹æ§å€è¡šç€ºããµããŒãããªããã°ãªããªãã
7.2 ã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœ
ã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœç¹æ§ã¯ãã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœããµãŒããŒã«éç¥ããããã«ãã¯ã©ã€ã¢ã³ãã䜿çšããããã®ç¹æ§ããµãŒãäžã«ååšããå Žåãã¯ã©ã€ã¢ã³ãã¯ãã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœããããã£ãŒã«ããæŽæ°ããŠããããã¯ã©ã€ã¢ã³ãã«ãã£ãŠã¯ã©ã€ã¢ã³ãç¹åŸŽããããèšå®ããããµãŒããŒããã®ç¹åŸŽããµããŒãããŠããå ŽåããµãŒããŒã¯ããã®ã¯ã©ã€ã¢ã³ããšéä¿¡ããéã«ããã®ç¹åŸŽã«é¢é£ãããã¹ãŠã®èŠä»¶ãæºãããªããã°ãªããªãã ã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœç¹æ§ã®ãã©ãŒãããã衚7.5ã«å®çŸ©ããã ã¯ã©ã€ã¢ã³ãããµããŒãããæ©èœç¹æ§ã®å€ã¯ããªã¯ãããã®é åã§ããããããããããããã£ãŒã«ãã§ããããããã®ãããã®å²ãåœãŠã衚 7.6 ã«ç€ºãããªã¹ããããŠããªããã¹ãŠã®ãããã¯å°æ¥ã®äœ¿çšã®ããã«äºçŽãããŠããããã®é åã¯ïŒæ«å°Ÿã«ãŒããªã¯ãããããã£ãŠã¯ãªããªãã 衚 7.6 ã®ãªã¯ãããçªå·ãçãããããã«å±æ§å€ã«çŸããªãå ŽåããµãŒãã¯ããã®ãªã¯ãããããŒãã®å€ã§ååšãããã®ããã«æ¯ãèããªããã°ãªããªãã ã¯ã©ã€ã¢ã³ããµããŒãæ©èœç¹æ§å€ã®ããã©ã«ãå€ã¯ããã¹ãŠã®ãããããŒãã«èšå®ãããŠããªããã°ãªããªãã GATT ãµãŒãã¹å®çŸ©å ã«ã¯ãã¯ã©ã€ã¢ã³ããµããŒãæ©èœç¹æ§ã®ã€ã³ã¹ã¿ã³ã¹ã¯ 1 ã€ã ãã§ãªããã°ãªããªãã ã¯ã©ã€ã¢ã³ããµããŒãæ©èœç¹æ§å€ã¯ãæ¥ç¶ããŠããã¯ã©ã€ã¢ã³ãããšã«ååšããªããã°ãªããªããä¿¡é Œãããé¢ä¿ãæã€ã¯ã©ã€ã¢ã³ãã®å Žåãç¹æ§å€ã¯ãæ¥ç¶ããŸããã§æ°žç¶çã§ãªããã°ãªããªããä¿¡é Œé¢ä¿ã®ãªãã¯ã©ã€ã¢ã³ãã®å Žåãç¹æ§å€ã¯æ¥ç¶ããšã«ããã©ã«ãå€ã«èšå®ãããªããã°ãªããªãã ãµãŒãäžã®ã¯ã©ã€ã¢ã³ããµããŒãæ©èœç¹æ§ã®å±æ§ãã³ãã«ã¯ãæ¥ç¶äžåã¯ãµãŒããã¯ã©ã€ã¢ã³ããšä¿¡é Œé¢ä¿ãæã£ãŠããå Žåã«ã¯ã倿ŽããŠã¯ãªããªãã ã¯ã©ã€ã¢ã³ãã¯ïŒèšå®ããããããã¯ãªã¢ããŠã¯ãªããªãããµãŒãã¯ããã®ãããªèŠæ±ã«å¯ŸããŠããšã©ãŒã³ãŒãããèš±å¯ãããŠããªãå€ãã«èšå®ããŠå¿çããªããã°ãªããªãã
7.3 ããŒã¿ããŒã¹ããã·ã¥
ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã¯ãGATT ããŒã¿ããŒã¹å ã®ãµãŒãã¹å®çŸ©ã«é©çšãããããã·ã¥é¢æ°ã®çµæãå«ããã¯ã©ã€ã¢ã³ãã¯ããµãŒãã¹ã远å ãããããåé€ããããããŸãã¯å€æŽããããã©ããã倿ããããã«ããã€ã§ããã®ç¹æ§ãèªãããšãã§ãããããã·ã¥é¢æ°ãžã®å ¥åãã£ãŒã«ãïŒ7.3.1é ã«èšèŒïŒã®ããããã倿Žãããå ŽåããµãŒãã¯æ°ããããŒã¿ããŒã¹ããã·ã¥ãèšç®ããç¹æ§å€ãæŽæ°ããªããã°ãªããªãã ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã¯ïŒèªã¿åãå°çšå±æ§ã§ããã ç¹æ§å€ã¯ 128 ãããã®ç¬Šå·ãªãæŽæ°å€ã§ãããããŒã¿ããŒã¹ããã·ã¥ã®èšç®ã¯ 7.3.1 ç¯ã«èŠå®ããã ããŒã¿ããŒã¹ããã·ã¥ç¹æ§ã®ã€ã³ã¹ã¿ã³ã¹ã¯ GATT ãµãŒãã¹å®çŸ©å ã« 1 ã€ã ãååšãããä¿¡é Œé¢ä¿ãååšãããåŠãã«é¢ããããå šãŠã®ã¯ã©ã€ã¢ã³ãã§åãããŒã¿ããŒã¹ããã·ã¥å€ã䜿çšãããã ãã®ç¹æ§ã®å€ãèªã¿èŸŒãããã«ãã¯ã©ã€ã¢ã³ãã¯åžžã« GATT Read Using Characteristic UUID ãµãããã·ãŒãžã£ã䜿çšããªããã°ãªããªãã ãµãŒããããŒã¿ããŒã¹ãžã®å€æŽåŸã«ããã·ã¥ãåèšç®ããŠããéã«ã¯ã©ã€ã¢ã³ãããã®ç¹æ§ã®å€ãèªã¿åºãå ŽåããµãŒãã¯æ°ããããã·ã¥ãè¿ãããããå©çšå¯èœã«ãªããŸã§å¿çãé ããããã®ãšããã
7.3.1 ããŒã¿ããŒã¹ããã·ã¥èšç®
ããŒã¿ããŒã¹ããã·ã¥ã¯ãRFC-4493[2]ã«åŸã£ãŠç®åºããããã®RFCã§ã¯ããããã¯æå·é¢æ°ãšããŠAES-128ãçšããæå·ããŒã¹ã®ã¡ãã»ãŒãžèªèšŒã³ãŒã(CMAC)ãå®çŸ©ããŠãããAES-CMACãšãåŒã°ããŠããã AES-CMACãžã®å ¥åã¯ä»¥äžã®éãã§ããã
m ã¯ããã·ã¥åãããå¯å€é·ããŒã¿ã§ããïŒ k 㯠128 ãããã®éµã§ããããã¹ãŠãŒãïŒ0x00000000_00000000_00000000_00000000ïŒãšããã
128ãããã®ããŒã¿ããŒã¹ããã·ã¥ã¯ã以äžã®ããã«çæãããã ããŒã¿ããŒã¹ããã·ã¥ = AES-CMACk(m) ããã§ïŒm ã¯ä»¥äžã®ããã«èšç®ãããïŒ
屿§ãã³ãã«ã®æé ã«ïŒæåã®ãã³ãã«ããé ã«ïŒAttribute HandleïŒAttribute TypeïŒAttribute Value ãé£çµãïŒå±æ§ã以äžã®ããããã®ã¿ã€ããæã€å Žåã«ã¯ïŒAttribute HandleïŒAttribute TypeïŒAttribute Value ãé£çµããïŒ"ãã©ã€ããªãµãŒãã¹ãããã»ã«ã³ããªãµãŒãã¹ãããã€ã³ã¯ã«ãŒããµãŒãã¹ãããç¹æ§ãããç¹æ§æ¡åŒµããããã£ãã®ãããããæã€å±æ§ã®å Žåã¯ã屿§ãã³ãã«ã屿§ã¿ã€ãã屿§å€ãé£çµããã屿§ã "ç¹æ§ãŠãŒã¶èšè¿°"ã"ã¯ã©ã€ã¢ã³ãç¹æ§èšå®"ã"ãµãŒãç¹æ§èšå®"ã"ç¹æ§ãã©ãŒããã"ããŸã㯠"ç¹æ§éèšãã©ãŒããã "ã®ããããã®ã¿ã€ããæã£ãŠããå Žåã¯ã屿§ãã³ãã«ãšå±æ§ã¿ã€ããé£çµãããã以å€ã®ã¿ã€ããæã£ãŠããå Žåã¯ããã®å±æ§ãç¡èŠããïŒãã®ãããªå±æ§ã¯é£çµã®äžéšã§ã¯ãªãïŒã å屿§ãã³ãã«ã«ã€ããŠããã£ãŒã«ãã¯äžèšã®é åºã§é£çµãããªããã°ãªããªããåãã£ãŒã«ãåã¯ãµããã£ãŒã«ãå€ã«äœ¿çšããããã€ãé åºã¯ãªãã«ãšã³ãã£ã¢ã³ã§ãªããã°ãªããªãããã£ãŒã«ãããµããã£ãŒã«ããå«ãå Žåããµããã£ãŒã«ãã¯ãã»ã¯ã·ã§ã³3(ãµãŒãã¹çžäºéçšæ§èŠä»¶)ã«ç€ºãããŠããé åºã§é£çµãããªããã°ãªããªããäŸãã°ã{0x02, 0x0005, 0x2A00}ã®ç¹æ§å®£èšå€ã¯ãé£çµåŸã« 02 05 00 00 2A ãšããŠè¡šçŸãããã
äžèšã®å±æ§ã¿ã€ãã®å±æ§ãã³ãã«ã屿§ã¿ã€ãã屿§å€ã®ãã©ãŒãããã¯ã第 3 ç¯ïŒãµãŒãã¹çžäºéçšæ§èŠä»¶ïŒã§èŠå®ããã m ã®é·ãã AES-CMAC ã®ãããã¯é· 128 ãããã®åæ°ã§ãªãå Žåã¯ãRFC-4493 ç¯ 2.4 ã«èŠå®ãããŠããããã«ããã£ã³ã°ãè¡ãã
8 ã»ãã¥ãªãã£ã«é¢ããèå¯
8.1 èªèšŒèŠä»¶
GATTãããã¡ã€ã«ã«ãããèªèšŒã¯ïŒåç¹æ§ã«ç¬ç«ããŠé©çšããããèªèšŒèŠä»¶ã¯ïŒãã®ãããã¡ã€ã«ïŒé¢é£ããäžäœå±€ã®ä»æ§ã§èŠå®ãããŠãããïŒãããã¯ïŒç¹ã«æå®ãããŠããªãå Žåã«ã¯å®è£ åºæã®ãã®ã§ããã GATTãããã¡ã€ã«ã®æé ã¯ãç¹æ§ãèªã¿æžããããåã«ãã¯ã©ã€ã¢ã³ããèªèšŒãããæå·åãããæ¥ç¶ãæã€ããšãèŠæ±ããå¯èœæ§ãããæ å ±ã«ã¢ã¯ã»ã¹ããããã«äœ¿çšãããã ç©çãªã³ã¯ãèªèšŒãããŠããªããïŒåã¯æå·åãããŠããªããšãã«ãã®ãããªèŠæ±ãåºãããå ŽåïŒãµãŒãã¯ïŒãšã©ãŒå¿çãéããªããã°ãªããªãããã®ç¹æ§ã®èªã¿åãåã¯æžã蟌ã¿ãæãã¯ã©ã€ã¢ã³ãã¯ïŒãã®åŸïŒç©çãªã³ã¯ãGAPèªèšŒæé ãçšããŠèªèšŒãããããã«èŠæ±ããããšãã§ãïŒãããå®äºãããïŒååºŠèŠæ±ãéä¿¡ããã ããã€ã¹ããµããŒããããµãŒãã¹åã³ç¹æ§ã®ãªã¹ãã¯ïŒãã©ã€ããŒãæ å ±åã¯æ©å¯æ å ±ãšã¯ã¿ãªãããªãã®ã§ïŒãµãŒãã¹åã³ç¹æ§çºèŠæé ã¯åžžã«èš±å¯ãããªããã°ãªããªããããã¯ïŒäžååãªèªèšŒãšã©ãŒã³ãŒããïŒæ å ±æ€çŽ¢èŠæ±ã«å¯Ÿãããšã©ãŒå¿çã§äœ¿çšãããŠã¯ãªããªãããšãæå³ããã åèïŒç¹æ§ã¯ãã©ã®ããã€ã¹ã§ãèªã¿åããèš±å¯ãããŠãããããæžã蟌ãŸããã®ã¯èªèšŒãããããã€ã¹ã®ã¿ã§ãããå®è£ ã¯ããããèæ ®ã«å ¥ããªããã°ãªãããç¹æ§å€ãèªã¿åãããšãã§ããã°ãç¹æ§å€ãæžã蟌ãããšãã§ãããšä»®å®ããŠã¯ãªããªããåæ§ã«ãããç¹æ§ãæžã蟌ããå Žåããã®ç¹æ§ãèªã¿èŸŒãããšã¯éããªããåã ã®ç¹æ§ã¯ãããããç°ãªãã»ãã¥ãªãã£ç¹æ§ãæã€å¯èœæ§ãããã ãµãŒãã¹å®çŸ©å ã®ïŒã€ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãèš±å¯ããããã«ã¯ã©ã€ã¢ã³ãã®ååãªèªèšŒã確ç«ããããšïŒãµãŒãã¯ïŒããé«ãã¬ãã«ã®èŠä»¶åã¯å®è£ åºæã®èŠä»¶ã«å¿ããŠïŒãµãŒãã¹å®çŸ©å ã®ä»ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãèš±å¯ããŠãããã ãµãŒãã¯ïŒååãªèªèšŒãè¡ããããšïŒãµãŒãã¹å®çŸ©å ã®ã»ãšãã©ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãèš±å¯ããŠããããïŒåããµãŒãã¹å®çŸ©å ã®ä»ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãå¶éããŠããããããã¯ãçŸåšæå¹ã«ãªã£ãŠããèªèšŒèŠä»¶ããã匷ãèªèšŒèŠä»¶ãå¿ èŠãšããç¹æ§ãããããã«çããããšãããã ãµãŒãããããµãŒãã¹å®çŸ©å ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ã®ããã«ã¯ã©ã€ã¢ã³ããèªèšŒãããšïŒãµãŒãã¯ïŒä»ã®ãµãŒãã¹å®çŸ©å ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãèªåçã«èš±å¯ããŠãããã
8.2 èªèšŒèŠä»¶
GATTãããã¡ã€ã«ã«ãããèªå¯ã¯ïŒåç¹æ§ã«ç¬ç«ããŠé©çšããããæ¿èªèŠä»¶ã¯ïŒãã®ãããã¡ã€ã«ïŒé¢é£ããäžäœå±€ä»æ§ã§èŠå®ãããŠããŠããããïŒå¥æ®µã®èŠå®ããªãå Žåã¯ïŒå®è£ åºæã®ãã®ã§ããã GATTãããã¡ã€ã«ã¯ïŒç¹æ§ãèªã¿æžããããåã«èªå¯ãå¿ èŠãšããå¯èœæ§ã®ããæ å ±ã«ã¢ã¯ã»ã¹ããããã«äœ¿çšããããšãã§ããã ãã®ãããªèŠæ±ãïŒèªå¯ãããŠããªããµãŒãã¹å®çŸ©ã«å«ãŸããç¹æ§ã«å¯ŸããŠçºè¡ãããå ŽåïŒã¬ã¹ãã³ãã¯ïŒãšã©ãŒã³ãŒããInsufficient Authorizationã«èšå®ãããšã©ãŒå¿çãéä¿¡ããªããã°ãªããªãã ãµãŒããïŒäžã€ã®ã°ã«ãŒãåã¯ãµãŒãã¹å®çŸ©å ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãã¯ã©ã€ã¢ã³ãã«èš±å¯ãããšïŒãµãŒãã¯ïŒä»ã®ãµãŒãã¹å®çŸ©å ã®ç¹æ§ãžã®ã¢ã¯ã»ã¹ãèªåçã«èš±å¯ããŠãããã