hi:
我有一个问题,ble4.0协议栈中,广播数据的数据包中advData段最大是31个字节吗,如果是的话,通过广播方式传送数据只能是每个数据包的拼接,
这样传输的数据大小和传输速率很不理想;
如果能让advData段字节加长如100个字节,可以吗,怎么做,限制字节数,应该是为了降低功耗,因为想做一个广播推送广告基站,所以不用考虑功耗问题。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
hi:
我有一个问题,ble4.0协议栈中,广播数据的数据包中advData段最大是31个字节吗,如果是的话,通过广播方式传送数据只能是每个数据包的拼接,
这样传输的数据大小和传输速率很不理想;
如果能让advData段字节加长如100个字节,可以吗,怎么做,限制字节数,应该是为了降低功耗,因为想做一个广播推送广告基站,所以不用考虑功耗问题。
Hi Viki shi:
谢谢你的回答,还有就是一个问题:
我想把我的广播数据分成两种类型,一种是广播数据一样的,一种是将大的数据分包的,这两种数据包之间间隔30ms更新一次;我试过在
peripheralStateNotificationCB中的GAPROLE_ADVERTISING下用GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertDataNew ), advertDataNew )更新数据,但是没有成功;又在SimpleBLEPeripheral_ProcessEvent中用同样的方法还是没有更新成功;是不是用新的定时器中断来做这件事呢,如果不是该怎么做?
Hi shaokai Lin:
因为需要交互的主机较多,想不到别的办法,由于传输的信息量不是很大,所以容许一定的丢失率,现在就是还不了解怎么更新广播包!
hi yuhong liu:
我早前就在app中用GAP_UpdateAdvertisingData( simpleBLEPeripheral_TaskID, TRUE, sizeof( advertData ), advertData );更新广播只更新了一次,最后我采用的是这个函数:HCI_LE_SetAdvDataCmd(len ,advertData);来20ms更新一次广播,结果是主机收到的数据会有一定的丢失率,但是基本是可行的,因为我的数据不多最多300个字节;
我有一个问题,请知道的工程师帮我解答一下,就是我要连接更新我的广告,要更新的数据大概在300字节,连接发送的时候最大时20个字节,也就是我得自行分包和组包,如果是这样,主机发送是连续的发送数据包,还是数据包之间有一定的时间间隔?
各位大神:
请问:
GAP_UpdateAdvertisingData( simpleBLEPeripheral_TaskID, TRUE, sizeof( advertData ); 或
HCI_LE_SetAdvDataCmd(len ,advertData);
要更新广播数据,些更新函数应该放在哪个地方,我试了几个地方都不行
我用的例程是:SimpleBLEBroadcaster
放在这里面,结果不行
uint16 SimpleBLEBroadcaster_ProcessEvent( uint8 task_id, uint16 events )
{
}
谢谢