Jump to content

Simple Sensor Interface protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ifroggie (talk | contribs) at 13:02, 14 August 2006 (Overview). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Overview

SSI (Simple Sensor Interface) protocol is a simple communications protocol designed for data transfer between computers or user terminals and smart sensors. SSI protocol is an Application layer protocol as in OSI model.

SSI protocol has been developed jointly by Nokia, Vaisala, Suunto, Ionific, Mermit and University of Oulu.

SSI protocol is used in point-to-point communications over UART and networking nanoIP applications. SSI also provides polling sensors and streaming sensor data. For RFID sensor tags SSI spesifies memory map for sensor data.

The criterion for SSI protocol development are:

  • general purpose
  • simple – minimal overhead
  • small footprint on the server (sensor) side

Sample implementation of SSI protocol for MSP430 microcontrollers will be published as open source during August 2006 by Nokia.

SSI v1.2 command base

Command byte Direction Description
Q,q (0x51,0x71) C-> Query
A,a (0x41,0x61) <-S Query reply
C,c (0x43,0x63) C-> Discover sensors
N,n (0x4E,0x6E) <-S Discovery reply
Z,z (0x5A,0x7A) C-> Reset sensor device
G,g (0x47,0x67) C-> Get configuration data for a sensor.
X,x (0x58,0x78) <-S Configuration data response
S,s (0x53,0x73) C-> Set configuration data for a sensor
R,r (0x52,0x72) C-> Request sensor data
V,v (0x56,0x76) <-S Sensor data response
D,d (0x44,0x64) <-S Sensor response with one byte status field
M,m (0x4D, 0x6D) <-S Sensor response with many data points
O,o (0x4F,0x6F) C-> Create sensor observer
Y,y (0x59,0x79) <-S Observer created
K,k (0x4B,0x6B) <-> Delete sensor observer / listener
U,u (0x55,0x75) <-> Observer / listener finished
L,l (0x4C,0x6C) <-S Request sensor listener
J,j (0x4A,0x6A) C-> Sensor listener created
E,e (0x45, 0x65) <-> Error
F,f (0x46, 0x66) <-> Free data for custom purposes