ну да хер с ним ,допустим получатель конкретная точка. допустим есть известные метрики: температура, влажность, давление. Для каждой метрики мы вводит ее идентификатор, например 'A' - температура, 'B' - влажность, 'C' - давление, и т.д. Далее, если 'A' - то это signed int (2 байта), 'B' - то unsigned int (2 байта), 'C' - unsigned long (4 байта), и т.д., описали все метрики прилетел пакет A01B02C01234 запустился парсер, выгреб первый байт, 'A' - ок, такой тип знаем, два след. байта наша температура, считали и тд

Комментарии: 12

  1. 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

Не нашли ответ?

Вам также может быть интересно