我可以把我的BLE设备广播成Eddystone信标。它正在用"http://www.cypress.com“广播Eddystone。现在,我想将该URL更改为特定于国家的扩展,例如"---.com.tr"。
这里是Eddystone协议的GitHub源代码。它并没有给出使用特殊URL扩展的任何线索。你知道怎样才能实现它吗?
下面还有我的项目中的代码片段:
cyBle_discoveryData.advData[13] = 0x00; /* URL scheme- http://www. */
cyBle_discoveryData.advData[14] = 0x63; /* Encoded URL - 'c' */
cyBle_discoveryData.advData[15] = 0x79; /* Encoded URL - 'y' */
cyBle_discoveryData.advData[16] = 0x70; /* Encoded URL - 'p' */
cyBle_discoveryData.advData[17] = 0x72; /* Encoded URL - 'r' */
cyBle_discoveryData.advData[18] = 0x65; /* Encoded URL - 'e' */
cyBle_discoveryData.advData[19] = 0x73; /* Encoded URL - 's' */
cyBle_discoveryData.advData[20] = 0x73; /* Encoded URL - 's' */
cyBle_discoveryData.advData[21] = 0x00; /* Expansion - .com */
/* ADV packet length */
cyBle_discoveryData.advDataLen = 22;发布于 2016-03-16 11:56:38
要知道,像.com这样的扩展的特殊扩展代码对于保存字节很有用,但完全是可选的。您还可以简单地将扩展名的字节放入如下所示:
...
cyBle_discoveryData.advData[20] = 0x73; /* Encoded URL - 's' */
cyBle_discoveryData.advData[21] = 0x00; /* Expansion - .com */
cyBle_discoveryData.advData[22] = 0x2e; /* Encoded URL - '.' */
cyBle_discoveryData.advData[23] = 0x74; /* Encoded URL - 't' */
cyBle_discoveryData.advData[24] = 0x72; /* Encoded URL - 'r' */
/* ADV packet length */
cyBle_discoveryData.advDataLen = 25;因此,虽然.tr没有特殊的代码,但您可以简单地将它的ASCII字节放在广告中。
https://stackoverflow.com/questions/36030596
复制相似问题