0

有人知道任何(免费)工具可以帮助创建/编辑蓝牙的 SDP(服务发现)记录吗?

首选基于 Windows 的工具。

4

2 回答 2

1

You can use my 32feet.NET library. There's no UI for this but there's library code which could be easily used for this. Use class ServiceRecordBuilder. Some docs at Creating Records. For example:

ServiceRecordBuilder bldr = new ServiceRecordBuilder();
bldr.AddServiceClass(BluetoothService.SerialPort);
bldr.ServiceName = "Alan's SPP service";
bldr.AddBluetoothProfileDescriptor(BluetoothService.AVRemoteControl, 1, 0);
bldr.AddCustomAttribute(new ServiceAttribute(0x8001,
    ServiceElement.CreateNumericalServiceElement(ElementType.UInt16, 0xFEDC)));
//
ServiceRecord record = bldr.ServiceRecord;
//
var txt = ServiceRecordUtilities.Dump(record);
Console.WriteLine(txt);
//
var byteArr = record.ToByteArray();
var txtBA = BitConverter.ToString(byteArr);
Console.WriteLine(txtBA);

Output is:

ElementSequence
    ElementSequence
        Uuid16: 0x100 -- L2CapProtocol
    ElementSequence
        Uuid16: 0x3 -- RFCommProtocol
        UInt8: 0x0
( ( L2Cap ), ( Rfcomm, ChannelNumber=0 ) )

AttrId: 0x0006 -- LanguageBaseAttributeIdList
ElementSequence
    UInt16: 0x656E
    UInt16: 0x6A
    UInt16: 0x100

AttrId: 0x0009 -- BluetoothProfileDescriptorList
ElementSequence
    ElementSequence
        Uuid16: 0x110E -- AVRemoteControl
        UInt16: 0x100

AttrId: 0x0100 -- ServiceName
TextString: [en] 'Alan's SPP service'

AttrId: 0x8001
UInt16: 0xFEDC

array:

35-51-09-00-01-35-03-19-11-01-09-00-04-35-0C-35-03-19-01-00-35-05-19-00-03-08-00-09-00-06-35-09-09-65-6E-09-00-6A-09-01-00-09-00-09-35-08-35-06-19-11-0E-09-01-00-09-01-00-25-12-41-6C-61-6E-27-73-20-53-50-50-20-73-65-72-76-69-63-65-09-80-01-09-FE-DC
于 2012-08-08T10:47:00.153 回答
0

BlueZ 是 linux 蓝牙堆栈,它带有 sdptool 实用程序,用于与 SDP 一起工作。这个页面有一些例子,http://alanjmcf.wordpress.com/2011/08/09/bluez-sdptool-usage-notes/

于 2012-08-07T14:45:57.317 回答