嗨,对话,
我修改了sample128程序,根据I2C包的值在advertive包中设置设备名。连接管理器软件下的设备名称正确。但是,在推荐的iOS测试软件中,设备名称将显示为NVDS中的值存储。
我在app\u adv\u func中替换了程序的一部分,我不认为我在NVDS中使用了device name值。
/*#如果(NVDS\U支持)
设备\u名称\u长度=NVDS \u长度\u设备\u名称;
if(nvds\u get(nvds\u TAG\u DEVICE\u NAME,&DEVICE\u NAME\u length,&DEVICE\u NAME\u temp\u buf[0])!=NVDS(正常)
#endif//(支持NVDS\U)
{
//获取默认设备名称(如果没有足够的空间,则没有名称)
设备\名称\长度=strlen(应用\设备\名称);
memcpy(&device\u name\u temp\u buf[0]、APP\u device\u name、device\u name\u length);
}
*/
设备名称长度=12;
memcpy(&device\u name\u temp\u buf[0],buf,12);
我确信buf中的数据是正确的。你能帮我一下吗。
谢谢,
你好,
不幸的是,iOS会记录它在过去看到的设备,并且不会刷新设备名称,除非你关闭和打开蓝牙。Android应用程序BlueLoupe(googleplay上提供)将反映正确的名称。
嗨,MHv\U对话,
非常感谢你的迅速答复。这解决了我的很多问题。我一整天都对那些疯狂的名字感到困惑。
谢谢,
不久前我花了一天时间做同样的事情。非常令人沮丧!
一般来说,对于那些拥有带加密狗的专家工具包的人来说,最好的设置是运行连接管理器并将加密狗作为一个中心引导。此设置不会受到iOS和Android的任何问题的影响。每一次扫描都是一次新的扫描,每一次连接都会导致一次完整的发现。您将确切地看到设备正在传输什么,而不是一些来自内存的旧数据。