Simples protocolo de interface Sensor - Simple Sensor Interface protocol

O Simples Sensor Interface ( SSI ) protocolo é um protocolo de comunicação simples projetado para transferência de dados entre computadores ou terminais de usuário e sensores inteligentes. O protocolo SSI é uma camada de Aplicação protocolo como no modelo OSI .

O protocolo SSI foi desenvolvido em conjunto pela Nokia , Vaisala , Suunto , Ionific, Mermit e Universidade de Oulu . Atualmente SSI está a ser desenvolvido no âmbito do Projecto Mimosa, parte das União Europeia Programas-Quadro de Investigação e Desenvolvimento Tecnológico .

O protocolo SSI é usado em comunicações ponto-a-ponto ao longo do UART aplicações e nanoIP rede. SSI também fornece sensores de votação e os dados do sensor de fluxo contínuo. Para RFID Tag do sensor SSI especifica mapa de memória para dados do sensor.

Os critérios para o desenvolvimento protocolo SSI são:

  • propósito geral
  • simples - sobrecarga mínima
  • pegada pequena no lado (sensor) do servidor

Implementação de exemplo do protocolo SSI para MSP430 microcontroladores será publicado como código aberto em Agosto de 2006 pela Nokia.

estrutura mensagem SSI

Uma mensagem SSI consiste de um cabeçalho de 2-byte e um n carga -byte. O cabeçalho é constituído por um endereço de um byte (asterisco é '?', 0x3F em ASCII ) e um tipo de mensagem / comando de um byte. Os diferentes valores possíveis para o tipo de mensagem / comando são apresentados em SSI base de comando v1.2.

base de comando v1.2 SSI

byte de comando Direção Descrição
Q, Q (0x51, 0x71) C-> Inquerir
A, uma (0x41, 0x61) <-S resposta de consulta
C, c (0x43, 0x63) C-> sensores Descubra
N, N (0x4E, 0x6E) <-S resposta descoberta
Z, z (0x5A, 0x7A) C-> dispositivo sensor de redefinição
G, g (0x47, 0x67) C-> Obter dados de configuração para um sensor.
X, X (0x58, 0x78) <-S resposta de dados de configuração
S, s (0x53, 0x73) C-> os dados de configuração definidos para um sensor
R, r (0x52, 0x72) C-> Solicitar dados do sensor
V, v (0x56, 0x76) <-S resposta dados do sensor
D, d (0x44, 0x64) <-S resposta do sensor com campo de status de um byte
H, m (0x4D, 0x6D) <-S resposta do sensor com muitos pontos de dados
O, S (0x4F, 0x6F) C-> Criar observador do sensor
Y, y (0x59, 0x79) <-S Observer criado
K, K (0x4B, 0x6B) <-> Excluir observador do sensor / ouvinte
U, u (0x55, 0x75) <-> Observador / ouvinte terminou
L, L (0x4C, 0x6C) <-S Pedido ouvinte do sensor
J, j (0x4A, 0x6A) C-> ouvinte Sensor criado
E, e (0x45, 0x65) <-> Erro
F, f (0x46, 0x66) <-> dados livres para fins personalizados

O grupo de comandos:

  • Q - consulta
  • A - resposta de consulta
  • C - descoberta do sensor
  • N - resposta descoberta
  • Z - redefinir
  • G - obter configuração do sensor
  • S - definir a configuração do sensor

são usados ​​para localizar e configurar unidades de sensores que utilizam o SSI-protocolo.

O grupo de comandos:

  • R - dados do sensor pedido
  • V - resposta dados
  • D - resposta dados com campo de estado

são usados ​​para ler os dados do sensor com pouca frequência.

Para fins de streaming de dados comandos definidos são:

  • O - criar observador do sensor
  • Y - observador criado
  • K - excluir observador
  • U - observador terminou
  • L - pedido ouvinte do sensor
  • J - ouvinte do sensor criado.
  • V - resposta dados
  • resposta de dados com muitos pontos de dados - M

Ponto-a-ponto SSI

Mensagens ponto a ponto com SSI pode ser feito com SSI / UART. Uma mensagem SSI UART consiste de um cabeçalho UART 3 bytes, uma mensagem SSI como a capacidade de carga e um opcional cíclica verificação de redundância de soma de verificação . A utilização de uma soma de verificação é definida pelo tipo de mensagem / comando SSI, com comandos caso inferior indicando o uso de CRC. O cabeçalho é constituído por um byte de início (0xFE), um 2-byte de comprimento (total) da mensagem e um 2-byte bit a bit Negação comprimento para ajudar a identificar o arranque da trama.

Networking SSI

SSI networking em um ambiente variável é feito usando nanoIP. Num caso típico usando SSI, uma mensagem individual não é importante, e assim nanoUDP (simplificado UDP definido por nanoIP) é usado como o formato da mensagem. Se as mensagens individuais são importantes, nanoTCP pode ser utilizado, uma vez que fornece controle de fluxo e de retransmissão a um custo de tamanho da mensagem e aumento do tráfego de rede.

Uma mensagem nanoUDP consiste de um cabeçalho nanoUDP 5-byte, um n mensagem carga -byte e um 2-byte de soma de verificação CRC opcional. O cabeçalho é constituído por um byte de protocolo, um comprimento de mensagem de 2 bytes (comprimento total, incluindo cabeçalho e CRC), uma porta de origem 1-byte e um número de porta de destino de 1 byte. O número da porta de destino deve ser 0x28 para mensagens SSI.

histórico de versões

  • 0.1 14 de março, 2003
  • 0.2 29 de abril de 2003
  • 0.3 20 de maio de 2003
  • 0.4 02 de outubro de 2003
  • 0.5 05 de dezembro de 2003, não é compatível com anterior
  • 0.6 03 de novembro de 2004
  • 0.7 22 de dezembro de 2004
  • 0.8 14 de janeiro de 2005
  • 1.0 abril 11, 2005
  • 1.1 27 de outubro de 2005
  • 1.2 27 de maio de 2006, não é compatível com anterior

links externos