Content deleted Content added
Category corrected |
m More citations needed |
||
(22 intermediate revisions by 17 users not shown) | |||
Line 1:
{{More citations needed|date=December 2015}}
The SSI protocol has been developed jointly by [[Nokia]], [[Vaisala]], [[Suunto]], Ionific, Mermit and [[University of Oulu]] and released its first version in March 2003. Currently SSI is being developed within
▲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]].
The SSI protocol is used in point-to-point communications over [[UART]] and networking
▲SSI protocol has been developed jointly by [[Nokia]], [[Vaisala]], [[Suunto]], Ionific, Mermit and [[University of Oulu]]. Currently SSI is being developed within [http://www.mimosa-fp6.com/ Mimosa project] which is a part of [[European Union Framework Programmes on Research]].
▲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 specifies 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 the SSI protocol for [[MSP430]] [[microcontrollers]] will be published as [[open source]] during August 2006 by Nokia.
== SSI message structure ==
An SSI message
=== SSI v1.2 command base ===
{| class="wikitable"
|-▼
! 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
Line 73:
| 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
Line 104:
| <->
| Free data for custom purposes
▲|-
|}
The group of commands:
* Q – query
* A – query reply
* C – sensor discovery
* N – discovery reply
* Z – reset
* G – get sensor configuration
* S – set sensor configuration
are used to find and configure sensor units utilizing the SSI-protocol.
The group of commands:
* R – request sensor data
* V – data response
* D – data response with status field
are used to read sensor data infrequently.
For data streaming purposes defined commands are:
* O – create sensor observer
* Y – observer created
* K – delete observer
* U – observer finished
* L – request sensor listener
* J – sensor listener created.
* V – data response
* M – data response with many data points
=== Point-to-point SSI ===
Point-to-point messaging with SSI can be done with SSI/UART. An SSI UART message consists of a 3-byte UART header, an SSI message as the payload and an optional [[
=== Networking SSI ===
SSI networking in a variable environment is done
A nanoUDP message consists of a 5-byte nanoUDP header, an ''n''-byte message payload and an optional 2-byte CRC checksum. The header consists of one protocol byte, a 2-byte message length (total length, including header and CRC), a 1-byte source port and a 1-byte destination port number. The destination port number should be 0x28 for SSI messages.
==
*0.1 March 14, 2003
Line 131 ⟶ 156:
*1.2 May 27, 2006, not compatible with previous
== References ==
{{Reflist}}
== External links ==
* [http://www.cwc.oulu.fi/nanoip/ nanoIP]
[[Category:Network protocols]]
[[Category:Application layer protocols]]
|