Я никогда раньше не работал с Bluetooth. Я должен отправлять данные через BLE, и я нашел ограничение в 20 байт на кусок.Упаковка 20 байтов через BLE
Отправитель - это Arduino, а приемник может быть как Android, так и Node.js на ПК.
Мне нужно отправить 9 значений, сохраненных в значениях float, так что 4 байта * 9 = 36 байт. Мне нужно 2 куска для всех моих данных через BLE. Принимающей стороне нужны оба куска для их обработки. Если некоторые данные потеряны, мне все равно.
Я не являюсь экспертом в сетевых протоколах, и я думаю, что я должен дать каждому сообщению инкрементную метку времени, чтобы получатель мог приклеить два куска с одинаковой меткой времени или отбросить последний, если новая метка времени выше. Но я не уверен, как делать контрольную сумму, если мне это действительно нужно или нет, если мне действительно нужно это делать, или если - для простой бета-версии моей системы - я могу игнорировать все эти проблемы.
Может ли кто-нибудь дать мне совет? Как примеры аналогичных ситуаций, связанных с BLE-связью?
BLE отличается от классического Bluetooth многими способами, поскольку вы не можете назначить два устройства как «отправитель» и «приемник». Вам необходимо понять основной принцип профиля общих атрибутов (GATT) в BLE, который определяет, как получить доступ к службе с сервера GATT с помощью Gatt Client, который основан на UUID. –
@OsmanEsen: можете ли вы быть немного более ясными, пожалуйста? Вы правы, что BLE отличается от обычного bluetooth, но мне нужно подключаться к одному устройству за раз. Вы имеете в виду, что с другим профилем я могу отправить более 20 байтов? – nkint
Нет. Я много работал с устройствами BLE от Texas Instruments, у которых также есть ограничение на 20 байтов. Это ограничение является общим пределом для BLE, поэтому вы не сможете отправлять более 20 байтов за раз. –