การพัฒนา BLE: Gatt คืออะไรและทำงานอย่างไร?
แนวคิดของ Gatt
เพื่อดำเนินการพัฒนาที่เกี่ยวข้องกับ BLE, เราต้องมีความรู้พื้นฐานบางอย่าง, แน่นอน, มันต้องง่ายมาก.
คัท บทบาทอุปกรณ์:
สิ่งแรกที่ต้องเข้าใจคือความแตกต่างระหว่างสองบทบาทนี้อยู่ที่ระดับฮาร์ดแวร์, และพวกเขาเป็นแนวคิดที่สัมพันธ์กันที่ปรากฏเป็นคู่:
“อุปกรณ์กลาง”: ค่อนข้างทรงพลัง, ใช้ในการสแกนและเชื่อมต่ออุปกรณ์ต่อพ่วง, เช่นโทรศัพท์มือถือ, เม็ด, ฯลฯ.
“อุปกรณ์ต่อพ่วง”: ฟังก์ชั่นค่อนข้างง่าย, การใช้พลังงานมีขนาดเล็ก, และอุปกรณ์กลางเชื่อมต่อเพื่อให้ข้อมูล, เช่นสายรัดข้อมือ, เครื่องวัดอุณหภูมิอัจฉริยะ, ฯลฯ.
ในความเป็นจริง, ในระดับพื้นฐานที่สุด, มันควรจะเป็นความแตกต่างระหว่างบทบาทที่แตกต่างกันในกระบวนการสร้างการเชื่อมต่อ. เรารู้ว่าหากอุปกรณ์บลูทู ธ ต้องการให้ผู้อื่นรู้ว่ามีอยู่จริง, จำเป็นต้องออกอากาศอย่างต่อเนื่องไปยังโลกภายนอก, ในขณะที่อีกฝ่ายจำเป็นต้องสแกนและตอบกลับแพ็คเก็ตออกอากาศ, เพื่อให้สามารถสร้างการเชื่อมต่อได้. ในกระบวนการนี้, บุคคลที่รับผิดชอบในการออกอากาศคืออุปกรณ์ต่อพ่วง , และเซ็นทรัลเป็นผู้รับผิดชอบในการสแกน.
หมายเหตุเกี่ยวกับกระบวนการเชื่อมต่อระหว่างสอง:
อุปกรณ์กลางสามารถเชื่อมต่อกับอุปกรณ์ต่อพ่วงหลายเครื่องในเวลาเดียวกันเมื่ออุปกรณ์ต่อพ่วงเชื่อมต่อกัน, มันจะหยุดการออกอากาศทันที, และดำเนินการออกอากาศต่อหลังจากการตัดการเชื่อมต่อเพียงอุปกรณ์เดียวเท่านั้นที่สามารถพยายามเชื่อมต่อได้ตลอดเวลา, การเชื่อมต่อที่เข้าคิว.
คัท โปรโตคอล
เทคโนโลยี BLE สื่อสารตาม GATT. GATT เป็นโปรโตคอลการส่งแอตทริบิวต์. มันถือได้ว่าเป็นโปรโตคอลเลเยอร์แอปพลิเคชันสำหรับการส่งแอตทริบิวต์.
โครงสร้างของมันง่ายมาก:

คุณสามารถเข้าใจได้ว่าเป็น XML:
แต่ละ Gatt ประกอบด้วยบริการที่ทำหน้าที่แตกต่างกัน;
แต่ละบริการประกอบด้วยลักษณะที่แตกต่างกัน;
แต่ละลักษณะประกอบด้วยค่าและตัวบ่งชี้หนึ่งตัวขึ้นไป;
บริการและคุณลักษณะเทียบเท่ากับแท็ก (บริการเทียบเท่ากับหมวดหมู่, และลักษณะเทียบเท่ากับชื่อของมัน), ในขณะที่ค่ามีข้อมูลจริง, และ descriptor เป็นคำอธิบายและคำอธิบายของค่านี้. แน่นอน, เราสามารถอธิบายและอธิบายได้จากมุมที่แตกต่างกัน. คำอธิบาย, ดังนั้นจึงมีคำอธิบายหลายตัว.
ตัวอย่างเช่น:Xiaomi Mi Band ทั่วไปเป็นอุปกรณ์ BLE, (สันนิษฐาน) มันมีสามบริการ, ซึ่งเป็นบริการที่ให้ข้อมูลอุปกรณ์, บริการที่ให้ขั้นตอน, และบริการที่ตรวจพบอัตราการเต้นของหัวใจ;
ลักษณะที่มีอยู่ในบริการของข้อมูลอุปกรณ์รวมถึงข้อมูลผู้ผลิต, ข้อมูลฮาร์ดแวร์, ข้อมูลเวอร์ชัน, เป็นต้น; บริการอัตราการเต้นของหัวใจรวมถึงลักษณะอัตราการเต้นของหัวใจ, เป็นต้น, และค่าในลักษณะอัตราการเต้นของหัวใจมีข้อมูลอัตราการเต้นของหัวใจ, และตัวบ่งชี้คือค่า. คำอธิบาย, เช่นหน่วยของค่า, คำอธิบาย, การอนุญาต, ฯลฯ.
GATT C/S
ด้วยความเข้าใจเบื้องต้นของ Gatt, เรารู้ว่า Gatt เป็นโหมด C/S ทั่วไป. เนื่องจากเป็น c/s, เป็นสิ่งจำเป็นสำหรับเราที่จะแยกแยะระหว่างเซิร์ฟเวอร์และไคลเอนต์.
“เซิร์ฟเวอร์ Gatt” Vs. “ลูกค้า Gatt”. ขั้นตอนที่มีบทบาททั้งสองนี้อยู่หลังจากการเชื่อมต่อถูกสร้างขึ้น, และพวกเขามีความโดดเด่นตามสถานะของบทสนทนา. เป็นเรื่องง่ายที่จะเข้าใจว่าฝ่ายที่เก็บข้อมูลเรียกว่าเซิร์ฟเวอร์ GATT, และบุคคลที่เข้าถึงข้อมูลเรียกว่าไคลเอนต์ GATT.
นี่เป็นแนวคิดในระดับที่แตกต่างจากบทบาทอุปกรณ์ที่เรากล่าวถึงก่อนหน้านี้, และจำเป็นต้องแยกแยะความแตกต่าง. มาใช้ตัวอย่างง่ายๆเพื่ออธิบาย:
นำตัวอย่างของโทรศัพท์มือถือและนาฬิกาเพื่อแสดง. ก่อนที่จะมีการเชื่อมต่อระหว่างโทรศัพท์มือถือและโทรศัพท์มือถือ, เราใช้ฟังก์ชั่นการค้นหาบลูทู ธ ของโทรศัพท์มือถือเพื่อค้นหาอุปกรณ์บลูทู ธ ของนาฬิกา. ในระหว่างกระบวนการนี้, เห็นได้ชัดว่านาฬิกากำลังออกอากาศเพื่อให้อุปกรณ์อื่น ๆ รู้ว่ามีอยู่ของมัน. , มันเป็นบทบาทของอุปกรณ์ต่อพ่วงในกระบวนการนี้, และโทรศัพท์มือถือรับผิดชอบงานสแกน, และมีบทบาทเป็นศูนย์กลาง; หลังจากทั้งสองสร้างการเชื่อมต่อ GATT, เมื่อโทรศัพท์มือถือต้องการอ่านข้อมูลเซ็นเซอร์เช่นจำนวนขั้นตอนจากนาฬิกา, ข้อมูลแบบโต้ตอบทั้งสองจะถูกบันทึกไว้ในนาฬิกา, ดังนั้นในเวลานี้นาฬิกาเป็นบทบาทของเซิร์ฟเวอร์ GATT, และโทรศัพท์มือถือเป็นไคลเอนต์ Gatt ตามธรรมชาติ; และเมื่อนาฬิกาต้องการอ่านการโทร SMS และข้อมูลอื่น ๆ จากโทรศัพท์มือถือ, ผู้พิทักษ์ข้อมูลกลายเป็นโทรศัพท์มือถือ, ดังนั้นโทรศัพท์มือถือจึงเป็นเซิร์ฟเวอร์ในเวลานี้, และนาฬิกาคือลูกค้า.
บริการ/ลักษณะ
เรามีความเข้าใจในการรับรู้เกี่ยวกับพวกเขาแล้ว, แล้วเรามีข้อมูลที่เป็นประโยชน์บางอย่าง:
- ลักษณะเป็นหน่วยตรรกะที่เล็กที่สุดของข้อมูล.
- การวิเคราะห์ข้อมูลที่เก็บไว้ในค่าและ descriptor ถูกกำหนดโดยวิศวกรเซิร์ฟเวอร์, ไม่มีข้อกำหนด.
- บริการ/คุณลักษณะมีการระบุ UUID ที่ไม่ซ้ำกัน, UUID มีทั้ง 16 บิตและ 128 บิต, สิ่งที่เราต้องเข้าใจคือ UUID 16 บิตได้รับการรับรองจากองค์กรบลูทู ธ และจำเป็นต้องซื้อ, แน่นอนว่ามีบางคนทั่วไป uuid 16 บิตตัวอย่างเช่น, บริการอัตราการเต้นของหัวใจคือ 0x180d, ซึ่งแสดงเป็น 0x00001800-0000-1000-8000-00805F9B34FB ในรหัส, และบิตอื่น ๆ ได้รับการแก้ไข. UUID 128 บิตสามารถปรับแต่งได้.
- การเชื่อมต่อ GATT เป็นเอกสิทธิ์.