簡(jiǎn)述藍(lán)牙服務(wù)UUID自定義功能
目前市面上流行在BLE應(yīng)用中,UUID“Universally Unique Identifier”用于標(biāo)識(shí)藍(lán)牙服務(wù)以及通訊特征訪問(wèn)屬性,不同的藍(lán)牙服務(wù)和屬性使用不同的訪問(wèn)方法,就像人們語(yǔ)言交流一樣,語(yǔ)言相同才能正常交流。
藍(lán)牙技術(shù)聯(lián)盟SIG定義UUID共用了一個(gè)基本的UUID:0x0000xxxx-0000-1000-8000-00805F9B34FB??偣?/span>128位,為了進(jìn)一步簡(jiǎn)化基本UUID,每一個(gè)藍(lán)牙技術(shù)聯(lián)盟定義的屬性有一個(gè)唯一的16位UUID,以代替上面的基本UUID的‘x’部分。使用16位的UUID便于記憶和操作,如SIG定義了“Device Information”的16位UUID為0x180A。
藍(lán)牙不同服務(wù)各自定義了“特征字段”用于實(shí)現(xiàn)數(shù)據(jù)訪問(wèn),允許定義read、write、notification不同的特征屬性,實(shí)現(xiàn)對(duì)應(yīng)通道的讀寫操作,而“特征字段”也采用了UUID來(lái)唯一標(biāo)識(shí),如SIG在“Device Information”服務(wù)下定義了“Manufacture Name String”實(shí)現(xiàn)“Read”屬性,其16位UUID為0x2A29。
可見(jiàn),藍(lán)牙服務(wù)UUID以及服務(wù)特征字段,在藍(lán)牙服務(wù)交互過(guò)程中起著非常重要的作用,而SIG標(biāo)準(zhǔn)中允許用戶自定義服務(wù),采用128位完成藍(lán)牙服務(wù),以及128位特征字段定義。在實(shí)際應(yīng)用中,通常不同廠商的藍(lán)牙模塊都會(huì)各自定義藍(lán)牙服務(wù)以及特征字,這就導(dǎo)致了市面上不同廠商生產(chǎn)的藍(lán)牙模塊相互間無(wú)法通訊。
為了更好的兼容不同廠商的藍(lán)牙服務(wù)定義,藍(lán)牙模塊需要支持服務(wù)自定義配置功能,通過(guò)支持自定義藍(lán)牙服務(wù)和特征字兼容不同的藍(lán)牙定義,從而實(shí)現(xiàn)不同廠商模塊間的互通。
信馳達(dá)科技的nRF52832 USB Dongle支持藍(lán)牙服務(wù)UUID和服務(wù)特征UUID的配置,可靈活兼容不同廠商藍(lán)牙模塊,實(shí)現(xiàn)透?jìng)魍ㄓ崱?/span>