WikiDer > Протокол простого сенсорного интерфейса
Эта статья не цитировать любой источники. (Декабрь 2015 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
Модель OSI к слой |
---|
В Простой сенсорный интерфейс (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 г., несовместимо с предыдущими