é¡åŸ®é¡äžã§ã® BLE (ATTÑ GATTÑâŠ)
ããŒã 1ãæŠèŠ
Bluetooth 4.0 ã®æåã®ä»æ§ããªãªãŒã¹ãããŠããããã§ã«ããªãé·ãæéãçµéããŸããã ãŸããBLE ã®ãããã¯ã¯éåžžã«èå³æ·±ããã®ã§ããããã®è€éãã®ãããå€ãã®éçºè
ã¯äŸç¶ãšããŠå
延ã°ãã«ããŠããŸãã ååã®èšäºã§ã¯ãäž»ã«æäžäœã®ãªã³ã¯å±€ãšç©çå±€ã«ã€ããŠèª¬æããŸããã ããã«ãããå±æ§ãããã³ã« (ATT) ãäžè¬å±æ§ãããã¡ã€ã« (GATT) ãªã©ã®è€éã§ãããã«ããæŠå¿µã«é Œãå¿
èŠããªããªããŸããã ãããããããç解ããªããšå¯Ÿå¿æ©åšã®éçºã¯ã§ããŸããã ä»æ¥ã¯ãã®ç¥èãçãããšå
±æããããšæããŸãã ç§ã®èšäºã§ç§ãé Œãã®ã¯
ãªããã¹ãŠããããªã«é£ããã®ã§ããïŒ
ç§ã®æèŠã§ã¯ãã¹ããŒããã©ã³ãä»ããããã€ã¹ã®ç®¡çã¯éåžžã«ææã§é·æã«ãããããŒãã§ããããšã¯ããã«æããã§ããã ãããã£ãŠã圌ãã¯ãããå³åº§ã«æ倧éã«æ§ç¯ããããšã«æ±ºããŸããã ãã®ãããããŸããŸãªã¬ãžã§ããã®ã¡ãŒã«ãŒãäºææ§ã®ãªãç¬èªã®ãããã³ã«ãéçºããããšã¯ãããŸããã ãããã£ãŠå°é£ã§ãã ãã§ã«æåã®æ®µéã§ã圌ãã¯å¯èœãªéããã¹ãŠã BLE ãããã³ã«ã«è©°ã蟌ãããšããŸããã ãããŠããããåŸã§åœ¹ã«ç«ã€ãã©ããã¯é¢ä¿ãããŸããã ããã«ãå°æ¥çã«ããã€ã¹ã®ãªã¹ããæ¡åŒµããå¯èœæ§ãæäŸãããŸããã
BLE ãããã³ã«å³ãæãããŠããå³ãèŠãŠã¿ãŸãããã ããã€ãã®å±€ã§æ§æãããŠããŸãã æäžäœã®ç©çå±€ (PHY) ã¯ãããã€ã¹ã®ç¡ç·ãã£ãã«ãæ åœããŸãã ãªã³ã¯å±€ (LL) ã«ã¯ãéä¿¡ã¡ãã»ãŒãžå ã®ãã€ã ã·ãŒã±ã³ã¹å šäœãå«ãŸããŸãã 以åã®èšäºã§ã¯ããŸãã«ããã«ã€ããŠç 究ããŸããã ãã¹ã ã³ã³ãããŒã©ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ (HCI) ã¯ãã³ã³ãããŒã©ãŒãšãã¹ããç°ãªããããã«å®è£ ãããŠããå Žåã® BLE ã¬ã€ã€ãŒãŸãã¯ãããéã®äº€æãããã³ã«ã§ãã Logical Link Control and Adaptation Protocol (L2CAP) ã¯ããã±ããã®åœ¢æããã¬ãŒãã³ã°ããšã©ãŒå¶åŸ¡ãããã³ãã±ããã®çµã¿ç«ãŠãæ åœããŸãã Security Manager Protocol (SMP) ã¯ãã±ããã®æå·åãæ åœããŸãã General Access Profile (GAP) ã¯ãã誰ã誰ãªã®ãããå€æããããã®ããã€ã¹éã®æåã®ããŒã¿äº€æãæ åœããŸãã ã¹ãã£ã³ãåºåãå«ãŸããŸãã ãã®èšäºã§ã¯ããããã³ã«ã®æ®ãã® XNUMX ã€ã®éšåãGATT ãš ATT ã«çŠç¹ãåœãŠãŸãã GATT 㯠ATT ã®äžéšæ§é ã§ããããããããã¯å¯æ¥ã«çµ¡ã¿åã£ãŠããŸãã
話ãç°¡åã«ããããã«ãäŸã話ã«ç§»ããããšæããŸãã ã©ããã§èããã®ã§å¿æŽããããšæããŸãã BLE ããã€ã¹ããããã€ãã®æ£ãããæ¬æ£ãšèããŠãã ããã åæ£ã«ã¯åå¥ã®ããŒãããããŸãã ããšãã°ãSFãæ°åŠãçŸç§äºå
žã®æ£ããããŸãã åæ£ã«ã¯ãæå®ããããããã¯ã®æ¬ã眮ãããŠããŸãã ãŸããæ¬ã«ãã£ãŠã¯ã¡ã¢ãæžãããçŽã®ããããä»ããŠããããšããããŸãã ããã«ããã¹ãŠã®æžç±ããŸãšããå°ããªçŽã®ã«ã¿ãã°ããããŸãã èŠããŠãããšæããŸãããåŠæ ¡å³æžé€šã¯çŽã®ã«ãŒããå
¥ã£ãçãç®±ã§ãã ãã®äŸãã§èšãã°ããã£ããããã¯ããã€ã¹ã®ãããã¡ã€ã«ã§ãã æ£ã¯ãµãŒãã¹ãæ¬ã¯ç¹æ§ãã«ã¿ãã°ã¯å±æ§ããŒãã«ã§ãã ããã¯å
ã®ããã¯ããŒã¯ã¯èšè¿°åã§ãããããã«ã€ããŠã¯åŸã»ã©è©³ãã説æããŸãã
ããã€ã¹ãéçºããããšããã人ãªã誰ã§ããå€ãã®ãããžã§ã¯ãã«åæ§ã®ã³ãŒããå«ãŸããŠããããšãç¥ã£ãŠããŸãã å®éãå€ãã®ããã€ã¹ãåæ§ã®æ©èœãåããŠããŸãã ããšãã°ãããã€ã¹ãããããªãŒã§é§åãããŠããå Žåãå é»ãšãã®ã¬ãã«ã®ç£èŠã®åé¡ã¯åãã«ãªããŸãã ã»ã³ãµãŒã«ã€ããŠãåæ§ã§ãã å®ã¯ãããã°ã©ãã³ã°ã«å¯Ÿãããªããžã§ã¯ãæåã®ã¢ãããŒã ãããããã£ãšåäœãèªå·±å®çµåã®ãŠããªã³ã«çµåããåå©çšã§ãããªããžã§ã¯ããäœæããæ©èœãæäŸããŸãããã ç§ã®æèŠã§ã¯ãBLE ãåæ§ã®ã¢ãããŒããè©Šã¿ãŸããã ãããã¡ã€ã«ã¯ Bluetooth Special Interest Group (SIG) ã«ãã£ãŠéçºãããŸããã åããããã¡ã€ã«ãæã€ç°ãªãã¡ãŒã«ãŒã®ããã€ã¹ã¯ãåé¡ãªãçžäºã«åäœããã¯ãã§ãã ãããã¡ã€ã«ã¯ããµãŒãã¹ãšãèšè¿°åã«ãã£ãŠè£è¶³ãããç¹æ§ã®ãµãŒãã¹ã§æ§æãããŸãã äžè¬çã«ã¯æ¬¡ã®ããã«ãªããŸãã
ããšãã°ãå¿ææ°ã¢ãã¿ãŒ (ãã£ãããã¹ ãã¬ã¹ã¬ãã) ã®ãããã¡ã€ã«å³ãèããŠã¿ãŸãããã ãã㯠XNUMX ã€ã®ãµãŒãã¹ãšããã€ãã®ç¹åŸŽã§æ§æãããŸãã ããããããããã¡ã€ã«ã®éå±€ãããã«æããã«ãªããŸãã ãã§ãã¯ãã€ã³ãç¹æ§ã«ãããç·æ¶è²»ã«ããªãŒæ°ããŒãã«ãªã»ãããããŸãã
1. å¿ææ°ãµãŒãã¹ã«ã¯ 0 ã€ã®ç¹æ§ (180xXNUMXD) ãå«ãŸããŸãã
a) å¿
é ã®å¿ææ°ç¹æ§ (0x2A37)
b) ãªãã·ã§ã³ã®ããã£ã»ã³ãµãŒäœçœ®ç¹æ§ (0x2A38)
c) å¿ææ°å¶åŸ¡ãã€ã³ã (0x2A39) ã®æ¡ä»¶ç¹æ§
2. ããããªãŒä¿å®ãµãŒãã¹ (0x180F):
a) å¿
é ã®ããããªãŒå
é»ã¬ãã«ç¹æ§ (0x2A19)
UUID
ãããã¡ã€ã«èŠçŽ (ãµãŒãã¹ãç¹æ§ãèšè¿°å) ã«äžæã«ã¢ã¯ã»ã¹ããã«ã¯ãäœããã®æ¹æ³ã§ãã¹ãŠã«çªå·ãä»ããå¿
èŠããããŸãã ãã®ç®çã®ããã«ãUniversally Unique ID (UUID) ã Universally Unique Identifier ãªã©ã®æŠå¿µãå°å
¥ãããŸãã UUID ã¯åè¡ã®æ¬åŒ§å
ã«ç€ºãããŠããŸãã ãããŠããã«ã¯äžã€ã®ç¹åŸŽããããŸãã UUID ã«ã€ããŠã¯ãé·ã 16 ããããš 128 ãããã®ã³ãŒãã䜿çšããããšã«ããŸããã ãªãèãã®ïŒ BLE ãããã³ã«ã§ã¯ããã¹ãŠãçãšãã§ãã ãããã£ãŠã16 ãããã®ãµã€ãºã¯éåžžã«åççã§ãã è¿ãå°æ¥ã65 ãè¶
ããæ°ãäœæãããå¯èœæ§ã¯äœãã§ãã ãŠããŒã¯ãªãµãŒãã¹ãšç¹åŸŽã çŸæç¹ã§ã¯ãæ°ãããããã®ã¯ãã¹ãŠãã§ã«æ°ããããŠããŸã (ãããã©ãããæ¥ãã®ãèŠããŠãããŠãã ãã - ã圌ã¯ããªããæ°ããŸããã:-)) çªå·ä»ãã®èŠçŽ
ããããã€ã³ã¿ãŒãããäžã® 4 ãã€ãã® IP ã¢ãã¬ã¹ã®è©±ã誰ããèŠããŠãããšæããŸãã æåã¯ããã§ååã ãšæã£ãŠããŸããããä»ã§ã¯ãŸã 6 ãã€ãã®ã¢ãã¬ã¹ã«åãæ¿ããããšãã§ããŸããã ãã®ééããç¹°ãè¿ãããDIY ãŠãŒã¶ãŒã®éã³å¿ã«èªç±ãäžããããã«ãSIG ã¯ãã ã¡ã« 128 ããã UUID ã®å°å ¥ã決å®ããŸããã ããã¯å人çã«ãç¡ç·ãã£ã³ãã«ããããããçš®é¡ã®ã¯ãªãã³ã«äžããããç¡èªå¯ã® 433 MHz 垯åãæãåºãããŸãã ç§ãã¡ã®å ŽåããµãŒãã¹ãšç¹æ§ã® 128 ãããèå¥åãæœåºãããŸããã ããã¯ããµãŒãã¹ãããã€ã¹ã§ã»ãŒãã¹ãŠã® 128 ãããå€ã䜿çšã§ããããšãæå³ããŸãã ããã§ããåã UUID ãèŠã€ãã確çã¯ãŒãã«ãªãåŸåããããŸãã
å®éãçã 16 ããã UUID ã«ã¯ 128 ãããå€ãžã®æ¡åŒµããããŸãã ä»æ§ã§ã¯ããã®æ¡åŒµå㯠Bluetooth Base UUID ãšåŒã°ããå€ã¯ 00000000-0000-1000-8000-00805F9B34FB ã§ãã ããšãã°ã16 ãããå±æ§ UUID ã®å€ã 0x1234 ã§ããå Žåãåçã® 128 ããã UUID ã®å€ã¯ 00001234-0000-1000-8000-00805F9B34FB ã«ãªããŸãã ãããŠã察å¿ããåŒãäžããããŸãã
128 ãããå€ = 16 ãããå€ * 2^96 + Bluetooth_Base_UUID
ãã®éæ³ã®æ°åãã©ãããæ¥ãã®ãã¯ããããŸããã èªè
ã®äžã«ç¥ã£ãŠãã人ãããããã³ã¡ã³ãã«æžã蟌ãã§ãã ãã (Sinopteek ãšããããã¯ããŒã ã®ãŠãŒã¶ãŒããã§ã«ãããè¡ã£ãŠããŸããã³ã¡ã³ããåç
§ããŠãã ãã)ã 128 ããã UUID ã®ååŸã«é¢ããŠã¯ãååãšããŠç¹å¥ãª UUID ã䜿çšã§ããŸãã
ã¢ããã£ã¬ããã£...
å®éããããã楜ããããšãå§ãŸããŸãã ATT ã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒã®é¢ä¿ã«åºã¥ããŠããããšãæãåºããŠãã ããã 次ã«ããµãŒããŒããã€ã¹ã«æ³šç®ããŸãã ã»ã³ãµãŒå€ãç §æã¹ã€ããã®ç¶æ ãäœçœ®ããŒã¿ãªã©ã®æ å ±ãå«ãŸããŸãã ãã¹ãŠã®ããã¬ãŒãã®åå è ãã«çªå·ãä»ããããã®ã§ãäœããã®æ¹æ³ã§ããããããã€ã¹ã®ã¡ã¢ãªã«é 眮ããå¿ èŠããããŸãã ãããè¡ãããã«ãå±æ§ããŒãã«ãšåŒã°ããããŒãã«ã«ããããé 眮ããŸãã ãããããèŠããŠãããŠãã ããã ããã¯ãŸãã« BLE ã®æ žå¿ã§ãã ããã«ã€ããŠã¯ããã«æ€èšããŠãããŸãã ããã§ãåè¡ãå±æ§ãšåŒã³ãŸãã ãã®ããŒãã«ã¯ã¹ã¿ãã¯ã®å¥¥æ·±ãã«äœçœ®ããŠãããååãšããŠãããŒãã«ã«çŽæ¥ã¢ã¯ã»ã¹ããããšã¯ã§ããŸããã ç§ãã¡ã¯ãããåæåããŠã¢ã¯ã»ã¹ããŸãããå éšã§äœãèµ·ãã£ãŠããã㯠XNUMX ã€ã®å°å°ã®èåŸã«é ãããŠããŸãã
ä»æ§ããå
šäœåãèŠãŠã¿ãŸããããããã®åã«ãçšèªãã€ãŸãèšè¿°åã«ãããŠé »ç¹ã«æ··åãããŠããç¹ã«ããã«æ³šæãåèµ·ããããšæããŸãã èšè¿°åã®åœ¹å²ã¯ãç¹æ§ã®èª¬æãè£å®ããããšã§ãã æ©èœãæ¡åŒµããå¿
èŠãããå Žåã¯ãèšè¿°åã䜿çšãããŸãã ãããã¯å±æ§ã§ãããããµãŒãã¹ãç¹æ§ãšåæ§ã«ãå±æ§ããŒãã«ã«é
眮ãããŸãã èšäºã®åŸåã§è©³ããèŠãŠãããŸãã ãã ããèšè¿°åãå±æ§ããŒãã«ã®è¡çªå·ãåç
§ããå ŽåããããŸãã ãã®ããšã念é ã«çœ®ããŠãããªããã°ãªããŸããã æ··ä¹±ãé¿ããããã«ããããã®ç®çã«ã¯ãå±æ§ãã€ã³ã¿ãŒããšããçšèªã䜿çšããŸãã
ãããã£ãŠãå±æ§ã¯ã次ã®ããããã£ãé¢é£ä»ããããåå¥ã®å€ã§ãã
1. å±æ§ãã³ãã«ã¯ãå±æ§ã«å¯Ÿå¿ããããŒãã« ã€ã³ããã¯ã¹ã§ãã
2. å±æ§ã¿ã€ãã¯ããã®ã¿ã€ãã説æãã UUID ã§ãã
3. å±æ§å€ã¯ãå±æ§ãã€ã³ã¿ã«ãã£ãŠã€ã³ããã¯ã¹ä»ããããããŒã¿ã§ãã
4. å±æ§ããŒããã·ã§ã³ã¯å±æ§ã®äžéšã§ãããå±æ§ãããã³ã«ã䜿çšããŠèªã¿æžãããããšã¯ã§ããŸããã
ããããã¹ãŠãã©ããã£ãŠç解ããã°ããã§ããããïŒ å±æ§ãã€ã³ã¿ã¯ãçžå¯Ÿçã«èšãã°ãããŒãã«å
ã®ãã®çªå·ã§ãã
ããã«ãããã¯ã©ã€ã¢ã³ãã¯èªã¿åããŸãã¯æžã蟌ã¿ãªã¯ãšã¹ãã§å±æ§ãåç
§ã§ããããã«ãªããŸãã è¡ (å±æ§) ã«ã¯ 0x0001 ãã 0xFFFF ãŸã§ã®çªå·ãä»ããããšãã§ããŸãã æ¬æ£ãšã®é¢ä¿ã§ã¯ãããã¯çŽã®ã«ã¿ãã°ã®ã«ãŒãçªå·ã§ãã åæ§ã«ãå³æžé€šã«ã¿ãã°ãšåæ§ã«ãã«ãŒãã¯çªå·ã®æé ã«é
眮ãããŸãã åŸç¶ã®åè¡ã®çªå·ã¯ãåã®è¡ã®çªå·ãã倧ãããªããã°ãªããŸããã å³æžé€šãšåãããã«ãæã
ã«ãŒãã倱ãããããšãããã®ã§ãç§ãã¡ã®å Žåãè¡çªå·ã«ã®ã£ãããçããå¯èœæ§ããããŸãã ããã¯èš±å¯ãããŠããŸãã éèŠãªããšã¯ããããã¯åŸã
ã«é²ããšããããšã§ãã
å±æ§ã¿ã€ãã«ãã£ãŠãå±æ§ãäœãè¡šããã決ãŸããŸãã Cèšèªããé¡æšãããšã
ããã«ã¯ããŒã«å€ãæ°å€å€æ°ãæååããããããããã«ãããŸãã èªèãããå±æ§ã¿ã€ãããšã«
ç§ãã¡ãäœã«åãçµãã§ããã®ãããããŠã©ã®ããã«ããŠãã®å±æ§ãæ±ãç¶ããããšãã§ããã®ãã 以äžã§ã¯ãããã€ãã®ç¹å®ã®çš®é¡ã®å±æ§ãèŠãŠãããŸãã äŸãã°ãããµãŒãã¹å®£èšã(0x2800)ããç¹æ§å®£èšã(0x2803)ããèšè¿°å宣èšã(0x2902)ã
å±æ§ã®å€ã¯ãåèªå埩ãèš±ããŠãã ããããã®å®éã®æå³ã§ãã å±æ§ã¿ã€ããæååã®å Žåãå±æ§å€ã¯ãããšãã°ã¹ããŒã¬ã³ãHello World !!!ãã«ãªããŸãã å±æ§ã¿ã€ããããµãŒãã¹å®£èšãã®å Žåããã®å€ã¯ãµãŒãã¹èªäœã§ãã ãŸããããã¯ä»ã®å±æ§ãšãã®ããããã£ãèŠã€ããå Žæã«é¢ããæ å ±ã§ããå ŽåããããŸãã
å±æ§ã®ã¢ã¯ã»ã¹èš±å¯ã«ããããµãŒããŒã¯èªã¿åããŸãã¯æžã蟌ã¿ã¢ã¯ã»ã¹ãèš±å¯ãããŠãããã©ãããèªèã§ããŸãã
ãããã®ã¢ã¯ã»ã¹èš±å¯ã¯å±æ§å€ã«ã®ã¿é©çšããããã€ã³ã¿ãŒãã¿ã€ãããŸãã¯ã¢ã¯ã»ã¹èš±å¯ãã£ãŒã«ãèªäœã«ã¯é©çšãããªãããšã«æ³šæããŠãã ããã ãããã®ã å±æ§ã®èšé²ãèš±å¯ãããŠããå Žåã¯ãããšãã°ãHello World !!!ããšããè¡ãå€æŽã§ããŸãã ããã¯ãããã®ã©ã€ã³ã«ã ãã ããæ¹è¡ãçŠæ¢ããããå±æ§ã®åãå€æŽããŠãã®è¡ãããµãŒãã¹å®£èšããšããããšã¯ã§ããŸããã ã¯ã©ã€ã¢ã³ãããµãŒããŒã«æ¥ç¶ãããšãã¯ã©ã€ã¢ã³ãã¯ãã®å±æ§ãèŠæ±ããŸãã ããã«ãããã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒãäœãæäŸã§ããããç¥ãããšãã§ããŸãã ãã ããå€ãèªã¿æžãããå¿
èŠã¯ãããŸããã
ãããã©ã®ãããªãã®ã
GATT ã®æŠå¿µã¯ãå±æ§ããŒãã«å ã®å±æ§ãéåžžã«å ·äœçãã€è«ççãªé åºã§ã°ã«ãŒãåããããšã§ãã 以äžã®å¿ææ°ãããã¡ã€ã«ã詳ããèŠãŠã¿ãŸãããã ãã®è¡šã®å·Šç«¯ã®åã¯ãªãã·ã§ã³ã§ãã ããã¯ããã®è¡ (å±æ§) ãäœã§ããããåã«èª¬æããŠããã ãã§ãã ä»ã®ãã¹ãŠã®åã¯ãã§ã«ããç¥ãããŠããŸãã
åã°ã«ãŒãã®å
é ã«ã¯åžžã«ãµãŒãã¹å®£èšå±æ§ããããŸãã ãã®ã¿ã€ãã¯åžžã« 0x2800 ã§ããã€ã³ã¿ãŒã¯ããŒãã«å
ã«ãã§ã«ååšããå±æ§ã®æ°ã«ãã£ãŠç°ãªããŸãã ãã®æš©éã¯åžžã«èªã¿åãå°çšã§ãããèªèšŒãèš±å¯ã¯ãããŸããã ãããã®æŠå¿µã«ã€ããŠã¯åŸã»ã©èª¬æããŸãã å€ã¯ããµãŒãã¹ãäœã§ããããèå¥ããå¥ã® UUID ã§ãã è¡šã§ã¯ãå€ã¯ 0x180D ã§ãBluetooth SIG ã«ãã£ãŠå¿ææ°ãµãŒãã¹ãšããŠå®çŸ©ãããŠããŸãã
ãµãŒãã¹ã®çºè¡šã«ç¶ããŠãç¹åŸŽã®çºè¡šã 圢åŒçã«ã¯ãµãŒãã¹å®£èšã«äŒŒãŠããŸãã ãã® UUID ã¯åžžã« 0x2803 ã§ããã®ã¢ã¯ã»ã¹èš±å¯ã¯èªèšŒãæ¿èªãªãã§åžžã«èªã¿åãå°çšã§ãã ããã€ãã®ããŒã¿ãå«ãå±æ§å€ãã£ãŒã«ããèŠãŠã¿ãŸãããã ããã«ã¯åžžã«ããã€ã³ã¿ãŒãUUIDãããã³äžé£ã®ããããã£ãå«ãŸããŸãã ããã XNUMX ã€ã®èŠçŽ ã¯ããã®åŸã®ç¹æ§å€ã®å®£èšãèšè¿°ããŸãã ãã€ã³ã¿ã¯åœç¶ãå±æ§ããŒãã«å ã®ç¹æ§å€å®£èšã®äœçœ®ã瀺ããŸãã UUID ã¯ãã©ã®ãããªçš®é¡ã®æ å ±ãŸãã¯å€ãæåŸ ã§ãããã瀺ããŸãã ããšãã°ã枩床å€ãç §æã¹ã€ããã®ç¶æ ããŸãã¯ãã®ä»ã®ä»»æã®å€ã§ãã ãããŠæåŸã«ãç¹æ§å€ãã©ã®ããã«æäœã§ããããèšè¿°ããããããã£ã§ãã
ããã§ãŸãå¥ã®èœãšãç©ŽãåŸ ã£ãŠããŸãã ããã¯ãå±æ§æš©éãšç¹æ§ããããã£ã«é¢é£ä»ããããŠããŸãã ä»æ§ã®ããã ãã£ãŒã«ã ããããã£ã®å³ãèŠãŠã¿ãŸãããã
ã芧ã®ãšãããããã«ã¯èªã¿åãããã³æžã蟌ã¿æ©èœãæäŸãããã£ãŒã«ãããããŸãã ãªãå±æ§ãšããããã£ã«å¯Ÿããèªã¿åã/æžã蟌ã¿æš©éãããã®ãââçåã«æããããããããŸããã
ç¹æ§å€ã®èªã¿åã/æžã蟌ã¿? ãããã¯åžžã«åãã§ããã¹ãã§ã¯ãªãã§ãããã? å®éã®ãšãããç¹æ§å€ã®ããããã£ã¯ãå®éã«ã¯ GATT å±€ããã³ã¢ããªã±ãŒã·ã§ã³å±€ã§äœ¿çšãããã¯ã©ã€ã¢ã³ãã«å¯Ÿããæšå¥šã«ãããŸããã ãããã¯ãã¯ã©ã€ã¢ã³ããç¹æ§å®£èšå±æ§ããäœãæåŸ
ãããã«ã€ããŠã®åãªããã³ãã§ãã ãããããã«è©³ããèŠãŠã¿ãŸãããã å±æ§ã«ã¯ã©ã®ãããªçš®é¡ã®æš©éããããŸãã?
1. ã¢ã¯ã»ã¹èš±å¯:
- èªã
- èšé²
- èªã¿æžã
2. èªèšŒèš±å¯:
- èªèšŒãå¿
èŠã§ã
- èªèšŒã¯å¿
èŠãããŸãã
3. èªå¯æš©éïŒ
- èªèšŒãå¿
èŠã§ã
- èš±å¯ã¯å¿
èŠãããŸãã
å±æ§è§£æ±ºãšç¹æ§ããããã£ã®äž»ãªéãã¯ãåè ã¯ãµãŒããŒã«é©çšãããåŸè ã¯ã¯ã©ã€ã¢ã³ãã«é©çšãããããšã§ãã ãµãŒããŒã¯ç¹æ§å€ã®èªã¿åããèš±å¯ãããŠããå ŽåããããŸãããèªèšŒãŸãã¯èš±å¯ãå¿ èŠãªå ŽåããããŸãã ãããã£ãŠãã¯ã©ã€ã¢ã³ããç¹æ§ã®ããããã£ããªã¯ãšã¹ããããšãèªã¿åããèš±å¯ãããããšãåãåããŸãã ããããèªã¿åãããšãããšãšã©ãŒãçºçããŸãã ãããã£ãŠãããããã£ã«å¯Ÿããã¢ã¯ã»ã¹èš±å¯ã®åªå é äœã«ã€ããŠã¯ãå®å šã«è°è«ã§ããŸãã ã¯ã©ã€ã¢ã³ãåŽã§ã¯ãå±æ§ã«ã©ã®ãããªæš©éããããã«ã€ããŠã®æ å ±ãååŸã§ããŸããã
ãã£ã¹ã¯ãªãã¿
ããŒãã«ã«æ»ããŸãããã ç¹æ§ã®å€ã宣èšããåŸã次ã®å±æ§å®£èšãå¯èœã«ãªããŸãã
1. ç¹æ§ã®æ°ããå®£èš (ãµãŒãã¹ã¯å€ãã®ç¹æ§ãæã€ããšãã§ããŸã)
2. æ°ãããµãŒãã¹å®£èš (è¡šã«ã¯å€æ°ã®ãµãŒãã¹å®£èšãå«ãŸããå¯èœæ§ããããŸã)
3. ãã³ãã«ã®å®£èš
å¿ææ°æž¬å®ç¹æ§ã®å Žåããã®è¡šã§ã¯ãç¹æ§å€ã®å®£èšã«èšè¿°åã®å®£èšã䌎ããŸãã èšè¿°åã¯ãç¹æ§ã«é¢ããè¿œå æ å ±ãå«ãå±æ§ã§ãã èšè¿°åã«ã¯ããã€ãã®çš®é¡ããããŸãã ãããã«ã€ããŠã¯ããã®èšäºã®åŸåã§è©³ãã説æããŸãã ããã§ã¯ãClient Characteristic Configuration Descriptor (CCCD) ã«ã€ããŠã®ã¿è§ŠããŸãã UUID 㯠0x2902 ã§ãã ãã®èšè¿°åã䜿çšãããšãã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒäžã§ã®è¡šç€ºãŸãã¯éç¥ãæå¹ã«ããããšãã§ããŸãã ãããã®å·®ã¯å°ããã§ãããããã§ãååšããŸãã éç¥ã«ã¯ã¯ã©ã€ã¢ã³ãããã®å信確èªã¯å¿ èŠãããŸããã 衚瀺ã«ã¯ãããå¿ èŠã§ãããGATT ã¬ãã«ã§çºçããã¢ããªã±ãŒã·ã§ã³ ã¬ãã«ã«ã¯éããŸããã ãªããããªãã®ã§ããïŒ ãããããã¯ããããŸããã å欧ã®å°é家ã¯éç¥ã®äœ¿çšãæšå¥šããŠãããšã ãèšã£ãŠãããŸãã ããã«ãã©ã¡ãã®å Žåã§ããããã±ãŒãžã®æŽåæ§ã®ãã§ã㯠(CRC ã䜿çš) ãè¡ãããŸãã
ãŸãšã
èšäºã®æåŸã«ãããèšããããšæããŸãã æåŸã®è¡šã¯å°ããããã«ããã§ãã ããããäžããããã®ã§ãããéžã³ãŸãã
ã°ã«ãŒãäŒæ¥ã®åŸæ¥å¡
ããã§ã«ã¹ããã»ãŠã©ãžããŒã«
åºæïŒ habr.com