แนวคิดของ GATT

เพื่อดำเนินการพัฒนาที่เกี่ยวข้องกับ BLE, เราต้องมีความรู้พื้นฐานบางอย่าง, แน่นอน, มันจะต้องง่ายมาก.

คัท บทบาทของอุปกรณ์:

สิ่งแรกที่ต้องเข้าใจคือความแตกต่างระหว่างสองบทบาทนี้อยู่ที่ระดับฮาร์ดแวร์, และเป็นแนวคิดที่เกี่ยวข้องกันซึ่งปรากฏเป็นคู่:

“อุปกรณ์ส่วนกลาง”: ค่อนข้างทรงพลัง, ใช้ในการสแกนและเชื่อมต่ออุปกรณ์ต่อพ่วง, เช่นโทรศัพท์มือถือ, แท็บเล็ต, ฯลฯ.

“อุปกรณ์ต่อพ่วง”: ฟังก์ชั่นนี้ค่อนข้างง่าย, การใช้พลังงานมีน้อย, และอุปกรณ์ส่วนกลางเชื่อมต่อเพื่อให้ข้อมูล, เช่น สายรัดข้อมือ, เครื่องวัดอุณหภูมิอัจฉริยะ, ฯลฯ.

ในความเป็นจริง, ในระดับพื้นฐานที่สุด, มันควรจะเป็นความแตกต่างระหว่างบทบาทที่แตกต่างกันในกระบวนการสร้างการเชื่อมต่อ. เรารู้ว่าหากอุปกรณ์บลูทูธต้องการให้ผู้อื่นทราบว่าอุปกรณ์บลูทูธมีอยู่จริง, จึงต้องถ่ายทอดสู่โลกภายนอกอย่างต่อเนื่อง, ในขณะที่อีกฝ่ายต้องสแกนและตอบกลับแพ็กเก็ตการออกอากาศ, เพื่อให้สามารถสร้างการเชื่อมต่อได้. ในกระบวนการนี้, ผู้รับผิดชอบในการออกอากาศคืออุปกรณ์ต่อพ่วง , และเซ็นทรัลมีหน้าที่สแกน.

หมายเหตุเกี่ยวกับกระบวนการเชื่อมต่อระหว่างทั้งสอง:

อุปกรณ์ส่วนกลางสามารถเชื่อมต่อกับอุปกรณ์ต่อพ่วงหลายเครื่องพร้อมกันได้เมื่อเชื่อมต่ออุปกรณ์ต่อพ่วงแล้ว, จะหยุดออกอากาศทันที, และออกอากาศต่อไปหลังจากขาดการเชื่อมต่อ มีเพียงอุปกรณ์เดียวเท่านั้นที่สามารถพยายามเชื่อมต่อได้ตลอดเวลา, การเชื่อมต่อคิว.

คัท โปรโตคอล

เทคโนโลยี BLE สื่อสารตาม GATT. GATT เป็นโปรโตคอลการส่งแอตทริบิวต์. ถือได้ว่าเป็นโปรโตคอลชั้นแอปพลิเคชันสำหรับการส่งแอตทริบิวต์.

โครงสร้างของมันเรียบง่ายมาก:   

1671506971 1

คุณสามารถเข้าใจมันเป็น xml:

GATT แต่ละอันประกอบด้วยบริการที่ทำหน้าที่ต่างกัน;

แต่ละบริการจะมีลักษณะเฉพาะที่แตกต่างกัน;

ลักษณะเฉพาะแต่ละรายการประกอบด้วยค่าและตัวอธิบายอย่างน้อยหนึ่งตัว;

บริการและลักษณะเทียบเท่ากับแท็ก (การบริการเทียบเท่ากับหมวดหมู่ของมัน, และลักษณะเฉพาะเทียบเท่ากับชื่อของมัน), ในขณะที่ค่ามีข้อมูลอยู่จริง, และ Descriptor คือคำอธิบายและคำอธิบายของค่านี้. แน่นอน, เราสามารถอธิบายและอธิบายได้จากมุมที่ต่างกัน. คำอธิบาย, ดังนั้นจึงมีคำอธิบายได้หลายรายการ.

ตัวอย่างเช่น:Xiaomi Mi Band ทั่วไปคืออุปกรณ์ BLE, (ถือว่า) ประกอบด้วยบริการสามอย่าง, ซึ่งเป็นบริการที่ให้ข้อมูลอุปกรณ์, บริการที่ให้ขั้นตอน, และบริการที่ตรวจจับอัตราการเต้นของหัวใจ;

คุณลักษณะที่มีอยู่ในบริการข้อมูลอุปกรณ์รวมถึงข้อมูลผู้ผลิตด้วย, ข้อมูลฮาร์ดแวร์, ข้อมูลเวอร์ชัน, ฯลฯ; บริการอัตราการเต้นของหัวใจรวมถึงคุณลักษณะอัตราการเต้นของหัวใจด้วย, ฯลฯ, และค่าในลักษณะอัตราการเต้นของหัวใจประกอบด้วยข้อมูลอัตราการเต้นของหัวใจจริงๆ, และตัวอธิบายคือค่า. คำอธิบาย, เช่น หน่วยของมูลค่า, คำอธิบาย, การอนุญาต, ฯลฯ.

แกตต์ ซี/เอส

ด้วยความเข้าใจเบื้องต้นเกี่ยวกับ GATT, เรารู้ว่า GATT เป็นโหมด C/S ทั่วไป. เนื่องจากเป็น C/S, จำเป็นสำหรับเราที่จะแยกแยะระหว่างเซิร์ฟเวอร์และไคลเอนต์.

“เซิร์ฟเวอร์ GATT” เทียบกับ. “ลูกค้า GAT”. ขั้นที่ทั้งสองบทบาทมีอยู่คือหลังจากสร้างการเชื่อมต่อแล้ว, และจำแนกตามสถานะของบทสนทนา. เข้าใจได้ง่ายว่าฝ่ายที่เก็บข้อมูลเรียกว่าเซิร์ฟเวอร์ GATT, และฝ่ายที่เข้าถึงข้อมูลเรียกว่าไคลเอ็นต์ GATT.

นี่เป็นแนวคิดในระดับที่แตกต่างจากบทบาทของอุปกรณ์ที่เรากล่าวถึงก่อนหน้านี้, และจำเป็นต้องแยกแยะให้ออก. ลองใช้ตัวอย่างง่ายๆ เพื่ออธิบาย:

ยกตัวอย่างโทรศัพท์มือถือและนาฬิกามาเป็นตัวอย่าง. ก่อนทำการเชื่อมต่อระหว่างโทรศัพท์มือถือกับโทรศัพท์มือถือ, เราใช้ฟังก์ชันค้นหาบลูทูธของโทรศัพท์มือถือเพื่อค้นหาอุปกรณ์บลูทูธของนาฬิกา. ในระหว่างกระบวนการนี้, เห็นได้ชัดว่านาฬิกากำลังออกอากาศ BLE เพื่อให้อุปกรณ์อื่นรู้ว่ามีอยู่จริง. , มันเป็นบทบาทของอุปกรณ์ต่อพ่วงในกระบวนการนี้, และโทรศัพท์มือถือมีหน้าที่สแกน, และมีบทบาทเป็นเซ็นเตอร์อย่างเป็นธรรมชาติ; หลังจากที่ทั้งสองสร้างการเชื่อมต่อ GATT แล้ว, เมื่อโทรศัพท์มือถือจำเป็นต้องอ่านข้อมูลเซ็นเซอร์ เช่น จำนวนก้าวจากนาฬิกา, ทั้งสอง ข้อมูลเชิงโต้ตอบจะถูกบันทึกไว้ในนาฬิกา, ดังนั้นในเวลานี้นาฬิกาจึงเป็นบทบาทของเซิร์ฟเวอร์ GATT, และโทรศัพท์มือถือก็เป็นไคลเอนต์ GATT โดยธรรมชาติ; และเมื่อนาฬิกาต้องการอ่าน SMS และข้อมูลอื่นๆ จากโทรศัพท์มือถือ, ผู้พิทักษ์ข้อมูลจะกลายเป็นโทรศัพท์มือถือ, ดังนั้นโทรศัพท์มือถือจึงเป็นเซิร์ฟเวอร์ในเวลานี้, และนาฬิกาคือลูกค้า.

การบริการ/ลักษณะเฉพาะ

เรามีความเข้าใจในการรับรู้ข้างต้นแล้ว, แล้วเราก็มีข้อมูลที่เป็นประโยชน์บ้าง:

  1. คุณลักษณะเป็นหน่วยข้อมูลเชิงตรรกะที่เล็กที่สุด.
  2. การวิเคราะห์ข้อมูลที่จัดเก็บไว้ในค่าและตัวอธิบายจะถูกกำหนดโดยวิศวกรเซิร์ฟเวอร์, ไม่มีข้อกำหนด.
  3. บริการ/ลักษณะเฉพาะมีการระบุ UUID ที่ไม่ซ้ำกัน, UUID มีทั้ง 16 บิตและ 128 บิต, สิ่งที่เราต้องเข้าใจคือ UUID 16 บิตได้รับการรับรองโดยองค์กร Bluetooth และจำเป็นต้องซื้อ, แน่นอนว่ามี UUID 16 บิตทั่วไปอยู่บ้างตัวอย่างเช่น, UUID ของบริการ Heart Rate คือ 0X180D, ซึ่งแสดงเป็น 0X00001800-0000-1000-8000-00805f9b34fb ในโค้ด, และบิตอื่นๆ ได้รับการแก้ไขแล้ว. UUID 128 บิตสามารถปรับแต่งได้.
  4. การเชื่อมต่อ GATT เป็นเอกสิทธิ์.