ну да хер с ним ,допустим получатель конкретная точка. допустим есть известные метрики: температура, влажность, давление. Для каждой метрики мы вводит ее идентификатор, например 'A' - температура, 'B' - влажность, 'C' - давление, и т.д. Далее, если 'A' - то это signed int (2 байта), 'B' - то unsigned int (2 байта), 'C' - unsigned long (4 байта), и т.д., описали все метрики прилетел пакет A01B02C01234 запустился парсер, выгреб первый байт, 'A' - ок, такой тип знаем, два след. байта наша температура, считали и тд
Комментарии: 12
Firelander
Оверхерд на текстовый формат?
Anonim
это не текстовый пусть будет так "A\x01\x02"
Firelander
Ну да ок. Но ручками писать сериализаторы десериализаторы
Anonim
не вижу проблем описать базовые 4/8 типов
Anonim
для вменяемого получения всё равно оверхед будет пушо в идеале как мне кажется надо length metric_id device_id value
Firelander
Не так удобно как структуру данными забить
Anonim
Я не уверен какой протокол общения вы обсуждаете, но в случае BLE GATT оно легко реализовывается
Firelander
Надо не только тип а назначение поля
Anonim
ну, минимально
Anonim
Есть сервис, есть характеристики. Клиенты подключаются и пишут значения куда надо
Anonim
ппц
Anonim
зачем отдельно length? шоп если конечный, отправляющий девайс более новый и шлёт чот о чём не знает "маршрутизатор" - тот будет точно знать сколько байт дропать xD