Протокол простого сенсорного интерфейса - Simple Sensor Interface protocol

В Простой сенсорный интерфейс (SSI) протокол это простой протокол связи, предназначенный для передачи данных между компьютерами или пользовательскими терминалами и интеллектуальными датчиками. Протокол SSI - это Уровень приложения протокол, как в Модель OSI.

Протокол SSI был разработан совместно Nokia, Vaisala, Suunto, Ионные, Mermit и Университет Оулу. В настоящее время SSI разрабатывается в рамках проекта Mimosa Project, входящего в Евросоюз Рамочные программы исследований и технологического развития.

Протокол SSI используется для связи точка-точка через UART и сетевые приложения nanoIP. SSI также предоставляет датчики опроса и данные датчиков потоковой передачи. За RFID Теги датчиков SSI определяет карту памяти для данных датчиков.

Критерии для разработки протокола SSI:

  • общее назначение
  • простой - минимальные накладные расходы
  • небольшая занимаемая площадь на стороне сервера (датчика)

Пример реализации протокола SSI для MSP430 микроконтроллеры будет опубликовано как Открытый исходный код в августе 2006 года компанией Nokia.

Структура сообщения SSI

Сообщение SSI состоит из 2-байтового заголовка и п-байтная полезная нагрузка. Заголовок состоит из однобайтового адреса (подстановочный знак - '?', 0x3F в ASCII ) и однобайтовое сообщение / тип команды. Различные возможные значения для типа сообщения / команды представлены в базе команд SSI v1.2.

База команд SSI v1.2

Командный байтНаправлениеОписание
Q, q (0x51, 0x71)C->Запрос
А, а (0x41, 0x61)<-SОтвет на запрос
C, c (0x43, 0x63)C->Откройте для себя датчики
N, n (0x4E, 0x6E)<-SОтвет на открытие
Z, z (0x5A, 0x7A)C->Сбросить датчик устройства
G, г (0x47, 0x67)C->Получите данные конфигурации для датчика.
Х, х (0x58, 0x78)<-SОтвет данных конфигурации
S, s (0x53, 0x73)C->Установить данные конфигурации для датчика
R, r (0x52, 0x72)C->Запросить данные датчика
V, v (0x56, 0x76)<-SОтвет данных датчика
D, d (0x44, 0x64)<-SОтклик датчика с однобайтовым полем состояния
M, м (0x4D, 0x6D)<-SОтклик датчика с множеством точек данных
О, о (0x4F, 0x6F)C->Создать наблюдателя датчика
Y, y (0x59, 0x79)<-SНаблюдатель создан
К, к (0x4B, 0x6B)<->Удалить наблюдателя / слушателя датчика
U, u (0x55, 0x75)<->Наблюдатель / слушатель закончил
L, l (0x4C, 0x6C)<-SЗапросить прослушиватель датчика
J, j (0x4A, 0x6A)C->Слушатель датчика создан
E, e (0x45, 0x65)<->Ошибка
F, f (0x46, 0x66)<->Бесплатные данные для индивидуальных целей

Группа команд:

  • Q - запрос
  • A - ответ на запрос
  • C - обнаружение датчика
  • N - ответ обнаружения
  • Z - сбросить
  • G - получить конфигурацию датчика
  • S - установить конфигурацию датчика

используются для поиска и настройки сенсорных блоков, использующих протокол SSI.

Группа команд:

  • R - запросить данные датчика
  • V - ответ данных
  • D - ответ данных с полем статуса

используются для чтения данных датчика нечасто.

Для потоковой передачи данных определены следующие команды:

  • O - создать сенсор-наблюдатель
  • Y - наблюдатель создан
  • K - удалить наблюдателя
  • U - наблюдатель закончил
  • L - запрос слушателя датчика
  • J - сенсорный слушатель создан.
  • V - ответ данных
  • M - ответ данных с множеством точек данных

Точка-точка SSI

Обмен сообщениями точка-точка с SSI может осуществляться с помощью SSI / UART. Сообщение SSI UART состоит из 3-байтового заголовка UART, сообщения SSI в качестве полезной нагрузки и необязательного Циклическая проверка избыточности контрольная сумма. Использование контрольной суммы определяется типом сообщения / команды SSI, при этом команды нижнего регистра указывают на использование CRC. Заголовок состоит из начального байта (0xFE), 2-байтовой (общей) длины сообщения и 2-байтового побитовый Отрицание длина, чтобы помочь определить начало кадра.

Сеть SSI

Сеть SSI в переменной среде выполняется с помощью nanoIP. В типичном случае использования SSI отдельное сообщение не имеет значения, поэтому nanoUDP (упрощенное UDP определяется nanoIP) используется в качестве формата сообщения. Если важны отдельные сообщения, можно использовать nanoTCP, поскольку он обеспечивает управление потоком и повторную передачу за счет размера сообщения и увеличения сетевого трафика.

Сообщение nanoUDP состоит из 5-байтового заголовка nanoUDP, п-байтная полезная нагрузка сообщения и необязательная 2-байтовая контрольная сумма CRC. Заголовок состоит из одного байта протокола, 2-байтовой длины сообщения (общая длина, включая заголовок и CRC), 1-байтового порта источника и 1-байтового номера порта назначения. Номер порта назначения должен быть 0x28 для сообщений SSI.

История версий

  • 0.1 14 марта 2003 г.
  • 0.2 29 апреля 2003 г.
  • 0.3 20 мая 2003 г.
  • 0.4 2 октября 2003 г.
  • 0.5 5 декабря 2003 г., несовместимо с предыдущими
  • 0.6 3 ноября 2004 г.
  • 0.7 22 декабря 2004 г.
  • 0.8 14 января 2005 г.
  • 1.0 11 апреля 2005 г.
  • 1.1 27 октября 2005 г.
  • 1.2 27 мая 2006 г., несовместимо с предыдущими

внешняя ссылка