2012-04-20 12 views
13

मैं कस्टम प्रोफाइल का उपयोग कर एक साधारण ब्लूटूथ कम ऊर्जा-आधारित एप्लिकेशन बनाना चाहता हूं। गोद लेने वाली प्रोफाइल/सेवाएं/विशेषताओं/वर्णनकर्ता 16-बिट यूयूआईडी का उपयोग करते हैं जैसा कि official site पर देखा गया है।विक्रेता परिभाषित प्रोफाइल के लिए ब्लूटूथ यूयूआईडी का किस प्रकार उपयोग किया जा सकता है?

16-बिट UUIDs एक इसी 128 बिट UUID के लिए शॉर्टकट हैं और Bluetooth_Base_UUID जा रहा है 00000000-0000-1000-8000-00805F9B34FB साथ

128-bit UUID = 16-bit Attribute UUID * 2^96 + Bluetooth_Base_UUID 

के रूप में अनुवाद किया है। (स्रोत: ब्लूटूथ कोर विशिष्टता खंड 3 भाग एफ अनुभाग 3.2.1)

चूंकि मैं एक कस्टम प्रोफ़ाइल का उपयोग कर रहा हूं, इसलिए मुझे आश्चर्य है कि यूयूआईडी का उपयोग करने की अनुमति है।

  • कौन सा 128 बिट UUIDs की सीमा ब्लूटूथ निम्न ऊर्जा में विक्रेता परिभाषित विशेषताओं के वर्णन के लिए इस्तेमाल किया जा सकता है?

उत्तर

18

बेस यूयूआईडी के ऊपर 16-बिट और 32-बिट यूयूआईडी के ऊपर जो आप ऊपर दिखाते हैं, वे spec (या भविष्य के चश्मा) में वस्तुओं के लिए आरक्षित हैं। इसलिए विक्रेता ऐप्स बेस यूयूआईडी से कम 128-बिट यूयूआईडी का उपयोग करने के लिए स्वतंत्र हैं। 16-बिट या 32-बिट यूयूआईडी का उपयोग करने के लिए विक्रेताओं के लिए कोई आरक्षित जगह नहीं है।

+2

क्या आप एक स्रोत निर्दिष्ट कर सकते हैं जहां यह पुष्टि की गई है कि आधार यूयूआईडी से कम सभी यूयूआईडी किसी के लिए उपयोग करने के लिए स्वतंत्र हैं? – Etan

+7

वॉल्यूम 3 भाग एफ अनुभाग 3.2.1 "अनुप्रयोग तुलना के लिए 128-बिट यूयूआईडी को 16-बिट यूयूआईडी में परिवर्तित नहीं करेगा क्योंकि 128-बिट यूयूआईडी ब्लूटूथ बेस यूयूआईडी पर आधारित है, यह गारंटी नहीं दे सकती है; 128-बिट यूयूआईडी परिभाषित एक विक्रेता बनें। " वॉल्यूम 3 भाग बी 2.5 भी देखें, और सबसे स्पष्ट रूप से https://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm (पंजीकरण आवश्यक) – TJD

+0

https://developer.bluetooth.org/gatt/services/Pages में स्पष्ट रूप से बताया गया है /ServicesHome.aspx – Tobias

8

आप Bluetooth SIG साथ 16-बिट UUIDs रजिस्टर कर सकते हैं: https://www.bluetooth.org/en-us/Pages/LoginRestrictedAll/16-bit-UUIDs-member.aspx अगर आप बाइट (अंतरिक्ष, ऊर्जा या अन्य प्रदर्शन के कारणों के लिए) को बचाने की जरूरत यह उपयोगी है।

ब्लूटूथ कल्पना की मेरी व्याख्या यह है कि आप स्वतंत्र रूप से "सीमा" ब्लूटूथ UUID बेस के बाहर किसी भी 128 बिट UUID उपयोग कर सकते हैं, यह है:

xxxxxxxx-0000-1000-8000-00805F9B34FB 

मैं उद्धरण चिह्नों में सीमा डाल दिया है क्योंकि, आपके द्वारा उद्धृत किया गया spec का 16-बिट 128-बिट रूपांतरण फ़ॉर्मूला, सुझाव देता है कि बाएं सबसे बाइट सबसे महत्वपूर्ण (बड़े एंडियन!) हैं। ध्यान दें, कि यदि आप यूयूआईडी को 128-बिट पूर्णांक के रूप में देखते हैं, तो ब्लूटूथ यूयूआईडी बेस "रेंज" मूल्यों की निरंतर श्रृंखला नहीं है।

0

आप 16-बिट या 32-बिट यूयूआईडी का उपयोग नहीं कर सकते हैं जब तक उन्हें registering तक आपको असाइन नहीं किया जाता है।

पंजीकृत एक छोटा यूयूआईडी का उपयोग करने से आपके डिवाइस और भविष्य के मानकों और अन्य डिवाइस के पंजीकृत नंबरों के साथ असंगतताएं मिलेंगी। ब्लूटूथ योग्यता के लिए वैध संख्या की आवश्यकता होगी।

जब दर्ज की नहीं, उत्पन्न अपनी खुद की वैध 128 बिट UUIDs: एक उपकरण के रूप में

  • समझे