Bluetooth Low Energy - updating a characteristic value repeatedly

后端 未结 3 2084
夕颜
夕颜 2021-01-30 02:54

Follow-Up question on Electrical Engineering Stackexchange

I want to write the value of a Bluetooth Low Energy characteristic repeatedly in a short amou

3条回答
  •  醉梦人生
    2021-01-30 03:27

    Issuing a Connection Parameters Update solved the problem and increased throughput from 5 kbit/s to ~33 kbit/s. However, this is still below the expected ~305 kbit/s.

    Conn_Interval = 0x000f = 18.75 ms
    Conn_Latency  = 0x0000
    Supervision_Timeout = 0x00fc
    

    Are there any methods to reach the full ~305 kbit/s?

    Follow-Up question on Electrical Engineering Stackexchange

    Could get a reply from Apple by burning a TSI and waiting for a month.

    Basically, they tell that the behavior is intended in iOS 5.1. It somehow makes sense, because they don't want that your app's performance depends on whether another app uses Bluetooth or WiFi.

    Per the engineers comments - Under iOS 5.1 there should be 6 pairs of notifications during a connection interval, meaning 6*packetSize*1000/interval . This should translate to ~55kbps max (min interval is 20ms, packetsize is 23 bytes). We made the decision to limit the number of pairs per interval and have a minimum interval due to the fact that the iPhone and iPad both have shared antenna between BT classic, BT LE and WiFi.

    iOS LE is designed to be a low power transport. For higher throughput BT classic is a better transport method.

    Back to me - Based on the engineers comments above, if the desire is to achieve a 200 kbs throughput, Classic bluetooth is the answer. However, if the desire is to work with an application on the iPhone, I can understand that this is no simple change - Classic BT requires MFI licensing.

提交回复
热议问题