BLE ಅಭಿವೃದ್ಧಿ: GATT ಎಂದರೇನು ಮತ್ತು ಅದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?

ಪರಿವಿಡಿ

GATT ಪರಿಕಲ್ಪನೆ

BLE- ಸಂಬಂಧಿತ ಅಭಿವೃದ್ಧಿಯನ್ನು ಕೈಗೊಳ್ಳಲು, ನಾವು ಕೆಲವು ಮೂಲಭೂತ ಜ್ಞಾನವನ್ನು ಹೊಂದಿರಬೇಕು, ಸಹಜವಾಗಿ, ಇದು ತುಂಬಾ ಸರಳವಾಗಿರಬೇಕು.

ಗ್ಯಾಟ್ ಸಾಧನದ ಪಾತ್ರ:

ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾದ ಮೊದಲ ವಿಷಯವೆಂದರೆ ಈ ಎರಡು ಪಾತ್ರಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಹಾರ್ಡ್‌ವೇರ್ ಮಟ್ಟದಲ್ಲಿದೆ ಮತ್ತು ಅವು ಜೋಡಿಯಾಗಿ ಕಂಡುಬರುವ ಸಾಪೇಕ್ಷ ಪರಿಕಲ್ಪನೆಗಳಾಗಿವೆ:

"ಕೇಂದ್ರ ಸಾಧನ": ತುಲನಾತ್ಮಕವಾಗಿ ಶಕ್ತಿಯುತ, ಮೊಬೈಲ್ ಫೋನ್‌ಗಳು, ಟ್ಯಾಬ್ಲೆಟ್‌ಗಳು ಇತ್ಯಾದಿಗಳಂತಹ ಬಾಹ್ಯ ಸಾಧನಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಮತ್ತು ಸಂಪರ್ಕಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.

"ಪೆರಿಫೆರಲ್ ಸಾಧನ": ಕಾರ್ಯವು ತುಲನಾತ್ಮಕವಾಗಿ ಸರಳವಾಗಿದೆ, ವಿದ್ಯುತ್ ಬಳಕೆ ಚಿಕ್ಕದಾಗಿದೆ ಮತ್ತು ರಿಸ್ಟ್‌ಬ್ಯಾಂಡ್‌ಗಳು, ಸ್ಮಾರ್ಟ್ ಥರ್ಮಾಮೀಟರ್‌ಗಳು ಇತ್ಯಾದಿಗಳಂತಹ ಡೇಟಾವನ್ನು ಒದಗಿಸಲು ಕೇಂದ್ರ ಸಾಧನವನ್ನು ಸಂಪರ್ಕಿಸಲಾಗಿದೆ.

ವಾಸ್ತವವಾಗಿ, ಅತ್ಯಂತ ಮೂಲಭೂತ ಮಟ್ಟದಲ್ಲಿ, ಇದು ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ವಿಭಿನ್ನ ಪಾತ್ರಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವಾಗಿರಬೇಕು. ಬ್ಲೂಟೂತ್ ಸಾಧನವು ತನ್ನ ಅಸ್ತಿತ್ವವನ್ನು ಇತರರಿಗೆ ತಿಳಿಸಲು ಬಯಸಿದರೆ, ಅದು ನಿರಂತರವಾಗಿ ಹೊರಗಿನ ಪ್ರಪಂಚಕ್ಕೆ ಪ್ರಸಾರ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ, ಆದರೆ ಇತರ ಪಕ್ಷವು ಬ್ರಾಡ್‌ಕಾಸ್ಟ್ ಪ್ಯಾಕೆಟ್‌ಗೆ ಸ್ಕ್ಯಾನ್ ಮತ್ತು ಪ್ರತ್ಯುತ್ತರ ನೀಡಬೇಕಾಗುತ್ತದೆ, ಇದರಿಂದ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಬಹುದು. ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ಪ್ರಸಾರಕ್ಕೆ ಜವಾಬ್ದಾರರಾಗಿರುವ ವ್ಯಕ್ತಿಯು ಬಾಹ್ಯವಾಗಿದೆ ಮತ್ತು ಸ್ಕ್ಯಾನಿಂಗ್‌ಗೆ ಕೇಂದ್ರವು ಜವಾಬ್ದಾರನಾಗಿರುತ್ತಾನೆ.

ಇವೆರಡರ ನಡುವಿನ ಸಂಪರ್ಕ ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ಗಮನಿಸಿ:

ಕೇಂದ್ರೀಯ ಸಾಧನವು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಅನೇಕ ಬಾಹ್ಯ ಸಾಧನಗಳಿಗೆ ಸಂಪರ್ಕಿಸಬಹುದು. ಒಮ್ಮೆ ಬಾಹ್ಯ ಸಾಧನವನ್ನು ಸಂಪರ್ಕಿಸಿದರೆ, ಅದು ತಕ್ಷಣವೇ ಪ್ರಸಾರವನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ ಮತ್ತು ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡ ನಂತರ ಪ್ರಸಾರವನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ. ಕೇವಲ ಒಂದು ಸಾಧನವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಸಂಪರ್ಕಗಳನ್ನು ಸರದಿಯಲ್ಲಿ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು.

ಗ್ಯಾಟ್ ಪ್ರೋಟೋಕಾಲ್

BLE ತಂತ್ರಜ್ಞಾನವು GATT ಅನ್ನು ಆಧರಿಸಿ ಸಂವಹನ ನಡೆಸುತ್ತದೆ. GATT ಒಂದು ಗುಣಲಕ್ಷಣ ಪ್ರಸರಣ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ಗುಣಲಕ್ಷಣ ಪ್ರಸರಣಕ್ಕಾಗಿ ಇದನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಲೇಯರ್ ಪ್ರೋಟೋಕಾಲ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು.

ಇದರ ರಚನೆಯು ತುಂಬಾ ಸರಳವಾಗಿದೆ:   

ನೀವು ಇದನ್ನು xml ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು:

ಪ್ರತಿಯೊಂದು GATT ವಿವಿಧ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸೇವೆಗಳಿಂದ ಕೂಡಿದೆ;

ಪ್ರತಿಯೊಂದು ಸೇವೆಯು ವಿಭಿನ್ನ ಗುಣಲಕ್ಷಣಗಳಿಂದ ಕೂಡಿದೆ;

ಪ್ರತಿಯೊಂದು ಗುಣಲಕ್ಷಣವು ಮೌಲ್ಯ ಮತ್ತು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ವಿವರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ;

ಸೇವೆ ಮತ್ತು ಗುಣಲಕ್ಷಣವು ಟ್ಯಾಗ್‌ಗಳಿಗೆ ಸಮನಾಗಿರುತ್ತದೆ (ಸೇವೆಯು ಅದರ ವರ್ಗಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ ಮತ್ತು ಗುಣಲಕ್ಷಣವು ಅದರ ಹೆಸರಿಗೆ ಸಮನಾಗಿರುತ್ತದೆ), ಆದರೆ ಮೌಲ್ಯವು ವಾಸ್ತವವಾಗಿ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಈ ಮೌಲ್ಯದ ವಿವರಣೆ ಮತ್ತು ವಿವರಣೆಯಾಗಿದೆ. ಸಹಜವಾಗಿ, ನಾವು ಅದನ್ನು ವಿವಿಧ ಕೋನಗಳಿಂದ ವಿವರಿಸಬಹುದು ಮತ್ತು ವಿವರಿಸಬಹುದು. ವಿವರಣೆ, ಆದ್ದರಿಂದ ಬಹು ವಿವರಣೆಗಳು ಇರಬಹುದು.

ಉದಾಹರಣೆಗೆ:ಸಾಮಾನ್ಯ Xiaomi Mi ಬ್ಯಾಂಡ್ BLE ಸಾಧನವಾಗಿದೆ, (ಊಹಿಸಲಾಗಿದೆ) ಇದು ಮೂರು ಸೇವೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಸಾಧನದ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುವ ಸೇವೆ, ಹಂತಗಳನ್ನು ಒದಗಿಸುವ ಸೇವೆ ಮತ್ತು ಹೃದಯ ಬಡಿತವನ್ನು ಪತ್ತೆಹಚ್ಚುವ ಸೇವೆ;

ಸಾಧನದ ಮಾಹಿತಿಯ ಸೇವೆಯಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಗುಣಲಕ್ಷಣವು ತಯಾರಕರ ಮಾಹಿತಿ, ಯಂತ್ರಾಂಶ ಮಾಹಿತಿ, ಆವೃತ್ತಿ ಮಾಹಿತಿ ಇತ್ಯಾದಿಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಹೃದಯ ಬಡಿತ ಸೇವೆಯು ಹೃದಯ ಬಡಿತದ ಗುಣಲಕ್ಷಣ ಇತ್ಯಾದಿಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಮತ್ತು ಹೃದಯ ಬಡಿತದ ಗುಣಲಕ್ಷಣದಲ್ಲಿನ ಮೌಲ್ಯವು ವಾಸ್ತವವಾಗಿ ಹೃದಯ ಬಡಿತದ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ವಿವರಣೆಯು ಮೌಲ್ಯವಾಗಿದೆ. ವಿವರಣೆ, ಮೌಲ್ಯದ ಘಟಕ, ವಿವರಣೆ, ಅನುಮತಿ, ಇತ್ಯಾದಿ.

GATT C/S

GATT ನ ಪ್ರಾಥಮಿಕ ತಿಳುವಳಿಕೆಯೊಂದಿಗೆ, GATT ಒಂದು ವಿಶಿಷ್ಟವಾದ C/S ಮೋಡ್ ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ. ಇದು C/S ಆಗಿರುವುದರಿಂದ, ನಾವು ಸರ್ವರ್ ಮತ್ತು ಕ್ಲೈಂಟ್ ನಡುವೆ ವ್ಯತ್ಯಾಸವನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಅವಶ್ಯಕ.

"GATT ಸರ್ವರ್" ವಿರುದ್ಧ "GATT ಕ್ಲೈಂಟ್". ಈ ಎರಡು ಪಾತ್ರಗಳು ಇರುವ ಹಂತವು ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಮತ್ತು ಸಂಭಾಷಣೆಯ ಸ್ಥಿತಿಗೆ ಅನುಗುಣವಾಗಿ ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲಾಗುತ್ತದೆ. ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ಪಕ್ಷವನ್ನು GATT ಸರ್ವರ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸುವ ಪಕ್ಷವನ್ನು GATT ಕ್ಲೈಂಟ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಸುಲಭ.

ಇದು ನಾವು ಮೊದಲು ಹೇಳಿದ ಸಾಧನದ ಪಾತ್ರಕ್ಕಿಂತ ವಿಭಿನ್ನ ಮಟ್ಟದಲ್ಲಿ ಪರಿಕಲ್ಪನೆಯಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದು ಅವಶ್ಯಕ. ವಿವರಿಸಲು ಸರಳ ಉದಾಹರಣೆಯನ್ನು ಬಳಸೋಣ:

ವಿವರಿಸಲು ಮೊಬೈಲ್ ಫೋನ್ ಮತ್ತು ಗಡಿಯಾರದ ಉದಾಹರಣೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ. ಮೊಬೈಲ್ ಫೋನ್ ಮತ್ತು ಮೊಬೈಲ್ ಫೋನ್ ನಡುವಿನ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುವ ಮೊದಲು, ವಾಚ್‌ನ ಬ್ಲೂಟೂತ್ ಸಾಧನವನ್ನು ಹುಡುಕಲು ನಾವು ಮೊಬೈಲ್ ಫೋನ್‌ನ ಬ್ಲೂಟೂತ್ ಹುಡುಕಾಟ ಕಾರ್ಯವನ್ನು ಬಳಸುತ್ತೇವೆ. ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ಗಡಿಯಾರವು BLE ಅನ್ನು ಪ್ರಸಾರ ಮಾಡುತ್ತಿದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ ಇದರಿಂದ ಇತರ ಸಾಧನಗಳು ಅದರ ಅಸ್ತಿತ್ವವನ್ನು ತಿಳಿಯುತ್ತವೆ. , ಇದು ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಬಾಹ್ಯ ಪಾತ್ರವಾಗಿದೆ, ಮತ್ತು ಮೊಬೈಲ್ ಫೋನ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಕಾರ್ಯಕ್ಕೆ ಕಾರಣವಾಗಿದೆ ಮತ್ತು ಸ್ವಾಭಾವಿಕವಾಗಿ ಕೇಂದ್ರದ ಪಾತ್ರವನ್ನು ವಹಿಸುತ್ತದೆ; ಎರಡು GATT ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಮೊಬೈಲ್ ಫೋನ್ ವಾಚ್‌ನಿಂದ ಹಂತಗಳ ಸಂಖ್ಯೆಯಂತಹ ಸಂವೇದಕ ಡೇಟಾವನ್ನು ಓದಬೇಕಾದಾಗ, ಎರಡು ಸಂವಾದಾತ್ಮಕ ಡೇಟಾವನ್ನು ವಾಚ್‌ನಲ್ಲಿ ಉಳಿಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಈ ಸಮಯದಲ್ಲಿ ಗಡಿಯಾರವು GATT ನ ಪಾತ್ರವಾಗಿದೆ ಸರ್ವರ್, ಮತ್ತು ಮೊಬೈಲ್ ಫೋನ್ ಸ್ವಾಭಾವಿಕವಾಗಿ GATT ಕ್ಲೈಂಟ್ ಆಗಿದೆ; ಮತ್ತು ಗಡಿಯಾರವು ಮೊಬೈಲ್ ಫೋನ್‌ನಿಂದ SMS ಕರೆಗಳು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ಓದಲು ಬಯಸಿದಾಗ, ಡೇಟಾದ ಗಾರ್ಡಿಯನ್ ಮೊಬೈಲ್ ಫೋನ್ ಆಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಮೊಬೈಲ್ ಫೋನ್ ಈ ಸಮಯದಲ್ಲಿ ಸರ್ವರ್ ಆಗಿರುತ್ತದೆ ಮತ್ತು ವಾಚ್ ಕ್ಲೈಂಟ್ ಆಗಿದೆ.

ಸೇವೆ/ವಿಶಿಷ್ಟ

ನಾವು ಈಗಾಗಲೇ ಅವುಗಳ ಬಗ್ಗೆ ಗ್ರಹಿಕೆಯ ತಿಳುವಳಿಕೆಯನ್ನು ಹೊಂದಿದ್ದೇವೆ ಮತ್ತು ನಂತರ ನಾವು ಕೆಲವು ಪ್ರಾಯೋಗಿಕ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿದ್ದೇವೆ:

  1. ಗುಣಲಕ್ಷಣವು ಡೇಟಾದ ಚಿಕ್ಕ ತಾರ್ಕಿಕ ಘಟಕವಾಗಿದೆ.
  2. ಮೌಲ್ಯ ಮತ್ತು ವಿವರಣೆಯಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಡೇಟಾದ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಸರ್ವರ್ ಎಂಜಿನಿಯರ್ ನಿರ್ಧರಿಸುತ್ತಾರೆ, ಯಾವುದೇ ನಿರ್ದಿಷ್ಟತೆ ಇಲ್ಲ.
  3. ಸೇವೆ/ಗುಣಲಕ್ಷಣವು ವಿಶಿಷ್ಟವಾದ UUID ಗುರುತನ್ನು ಹೊಂದಿದೆ, UUID 16-ಬಿಟ್ ಮತ್ತು 128-ಬಿಟ್ ಎರಡನ್ನೂ ಹೊಂದಿದೆ, 16-ಬಿಟ್ UUID ಅನ್ನು ಬ್ಲೂಟೂತ್ ಸಂಸ್ಥೆಯಿಂದ ಪ್ರಮಾಣೀಕರಿಸಲಾಗಿದೆ ಮತ್ತು ಖರೀದಿಸಬೇಕಾಗಿದೆ, ಸಹಜವಾಗಿ ಕೆಲವು ಸಾಮಾನ್ಯಗಳಿವೆ 16-ಬಿಟ್ UUID.ಉದಾಹರಣೆಗೆ, ಹೃದಯ ಬಡಿತ ಸೇವೆಯ UUID 0X180D ಆಗಿದೆ, ಇದನ್ನು ಕೋಡ್‌ನಲ್ಲಿ 0X00001800-0000-1000-8000-00805f9b34fb ಎಂದು ವ್ಯಕ್ತಪಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಇತರ ಬಿಟ್‌ಗಳು ಸ್ಥಿರವಾಗಿರುತ್ತವೆ. 128-ಬಿಟ್ UUID ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು.
  4. GATT ಸಂಪರ್ಕಗಳು ಪ್ರತ್ಯೇಕವಾಗಿವೆ.

ಟಾಪ್ ಗೆ ಸ್ಕ್ರೋಲ್