CJON v1.0 (Compact JSON)

Развивая идею цифрового шага назад для решения актуальных задач по альтернативной передаче цифровых данных, я начал проектировать прототип устройства на Arduino, выполняющего функции модема и приёмника. В процессе погружения в задачу, пришла идея задействовать также SMS-канал для коротких данных, где хватит 160-символьных SMS (GSM 7-bit). Во многих случаях этого объёма хватает, а для передачи более крупных пакетов можно использовать разбиение на блоки с последующей сборкой на стороне приёмника.
Чтобы связать такие фрагменты, каждому сообщению можно добавить метаданные: порядковый номер, общее количество блоков и идентификатор. Это похоже на стандарт UDH (User Data Header), но поскольку для его использования требуется режим PDU, который часто недоступен на Arduino, то можно использовать более простой способ - собственный формат псевдозаголовка.
Для этого каждый фрагмент будет начинаться со специального символа #, за которым следует:
- идентификатор сообщения (2–3 символ),
- номер текущего фрагмента (1 символ, от 0...9, a...Z),
- общее количество фрагментов (1 символ, от 0...9, a...Z).
Пример заголовка: #0010Z, где:
- 00 - ID сообщения (можно генерировать в виде свертки текущего времени, например на устройстве источнике),
- 1 - порядковый номер фрагмента,
- Z - общее количество фрагментов.

Спецификация формата CJON (Compact JSON-like Object Notation) v1.0

Бинарные форматы

Текстовые форматы