hello
i am using the dsps device and host (da1458)
我想知道where in the dsps_device code can i find the uuid that is advertised by dsps_device (which i can see in the dsps iphone app : DA:3CB1DKFR-RRJF-........)
tnx
设备:
hello
i am using the dsps device and host (da1458)
我想知道where in the dsps_device code can i find the uuid that is advertised by dsps_device (which i can see in the dsps iphone app : DA:3CB1DKFR-RRJF-........)
tnx
Check in the file sps_serverc.c , search "SPS_SERVICE_UUID"....
i found it in sps_server.h, not in sps_server.c
但其:#define sps_service_uuid {0xb7,0x5c,0x49,0xd2,0x04,0xa3,0x40,0x71,0xa0,0xb5,0x35,0x85,0x3e,0xb0,0x83,0x07}
so
a)its 16 byte and not 32 like i see in the dsps app
b)its constant, but every device i have advertises different uuid.
does every module advertises its uuid or something else?
我在见e app, when i operate 2 modules, are 2 different unique strings, after the "DA:3FJCNV........"
是什么让这些字符串?
how can i copy/use these strings? is there an api command to copy them?
roinovi,
由于其自定义配置文件,DSP的UUID是一个128位,广告字符串中的UUID应该是此特定的UUID,以指示设备实现特定的配置文件。您应该在广告消息中看到的字符串是您指示的字符串。您的意思是,当您在不同的设备下载相同的FW时,广告字符串更改?没有特定的API填写广告字符串使用ADV数据,您可以在DSPS SDK3中查看App_adv_Func,以便查看当前应用程序的完成。请检查app_dflt_addata,这是填充广告字符串的定义。
Thanks MT_dialog
我的意思是我需要不同的设备唯一的ID
i thought that the advertising string is compiled out of a mac address for each device to make it unique.
因为当我有2个设备时,我打开DSPS iPhone应用程序,我看到2个设备,但每个设备都有不同的32个字符串
我想知道
1)what does it symbols?
2)how it is populated (different string for each device) is it based on a mac? or a different unique identifier?
3)如何使用此唯一标识符?它保存在我可以使用的字符串中吗?
我在app_dflt_addata中看到它只是一个#define app_dflt_add_data“\ xb7 \ x5c \ x49 \ xd2 \ x04 \ xa3 \ x40 \ x71 \ x85 \ x3e \ x35 \ x85 \ x3e \ xb0 \ x85 \ x3e \ xb0 \ x85 \ x3e \ xb0 \ x85 \ x3e \ xb0 \ x85 \ x3e \ xb0 \ x85 \ x3e \ xb0 \ x85 \ x3e \ xb0 \ x85 \ x32“
so how does a unique identifier is made for each device?
i am missing something
roinovi,
The unique id for the device has nothing to do with the advertising string of the device that advertises. The unique advestising id is the bd address that each device has. There are a number of ways to provide a unique id to your 580 based device. You can either set it by firmware through the nvds structure, or you can set it in the OTP NVDS. When the device boots up, the NVDS structure is populated from the OTP, and not by firmware, also you can set it in the OTP Header, the device checks if the OTP header is burned with an MAC address and if it is, it advertises with that address, if not it uses the NVDS structure. In the DSPS firmware, if there is nothing written on the OTP header the device gets its bd address from the nvds structure that is located in the nvds.c file. If you see different bd addresses for each device with the same firmware that means that the unique identifier field in the OTP Header is burned with an address.
Thanks MT_dialog
hello
i have 2 devices as you can see in the pic attached
我没有任何东西无法烧焦,只是经过智能片段spi(相同的固件)定期烧伤
you can see in the pic that every device has a different 32 charecters string under the advertising name (1-biobeat,2-DA1458x)
please answer my questions 1,2,3 above.
in general, i want to know how to get a unique id for each device based on its mac address (i need to incorporate this unique id to a string that i am sending-different for each device so i want to know in which variable it is stored)
what does the BD_ADD represent? is it different for each device.
tnx
roinovi,
The android DSPS application shows the bd address of the current device not the advertising string, from the pdf that you ve send i suppose that the device you are working with is an iOS device, in iOS the phone device assigns a special UUID in every bluetooth device it gets (it doesn't show the bd address), it has nothing to do with the advertising string or the bd address its something that depends on the phone and not the DSPS application. If you run the android application you should be able to see the phone's bd address as is. You can check the advertising string of your device with a generic application.
Thanks MT_dialog
i am not using OTP
so the bd address for each device is set by the nvds structure in the .NVDS_TAG_BD_ADDRESS ?
so both of my devices will have the same bd address when i burn the same firmware? because by firmware the .NVDS_TAG_BD_ADDRESS = {0x01, 0x00, 0x00, 0xCA, 0xEA, 0x80},
how can i read the device's mac address?
我想为每个设备唯一使用它
roinovi,
Yes, if the OTP of your device is empty, the device should take the bd address of your NVDS_TAG_BD_ADDRESS, and yes your devices will have the same bd address if you burn the same firmware.
What do you mean how you can read the MAC address of your device, this is address that is used from the device as a unique address, the device by itself doesn't have any credentials to identify the device as unique when shipped out of the factory. If you mean to retrieve the bd address by the stack you can use the GAPM_GET_DEV_INFO_CMD with the GAPM_GET_DEV_BDADDR.
Thanks MT_dialog