Enkelt sensorgränssnittsprotokoll
OSI modell för lager |
---|
Simple Sensor Interface ( SSI ) -protokollet är ett enkelt kommunikationsprotokoll designat för dataöverföring mellan datorer eller användarterminaler och smarta sensorer. SSI-protokollet är ett applikationslagerprotokoll som i OSI-modellen .
SSI-protokollet har utvecklats gemensamt av Nokia , Vaisala , Suunto , Ionific, Mermit och Uleåborgs universitet . För närvarande utvecklas SSI inom Mimosa-projektet, en del av Europeiska unionens ramprogram för forskning och teknisk utveckling .
SSI-protokollet används i punkt-till-punkt-kommunikation över UART och nätverkande nanoIP-applikationer. SSI tillhandahåller även pollingsensorer och strömmande sensordata. För RFID- sensortaggar anger SSI minneskarta för sensordata.
Kriterierna för utveckling av SSI-protokoll är:
- generell mening
- enkel – minimal overhead
- litet fotavtryck på serversidan (sensor).
Exempel på implementering av SSI-protokollet för MSP430 -mikrokontroller kommer att publiceras som öppen källkod under augusti 2006 av Nokia.
SSI-meddelandestruktur
Ett SSI-meddelande består av en 2-byte header och en n -byte nyttolast. Rubriken består av en adress på en byte (jokertecken är '?', 0x3F i ASCII ) och ett meddelande/kommandotyp på en byte. De olika möjliga värdena för meddelande-/kommandotypen presenteras i SSI v1.2 kommandobas.
SSI v1.2 kommandobas
Kommandobyte | Riktning | Beskrivning |
---|---|---|
Q,q (0x51, 0x71) | C-> | Fråga |
A,a (0x41, 0x61) | <-S | Fråga svar |
C,c (0x43, 0x63) | C-> | Upptäck sensorer |
N,n (0x4E, 0x6E) | <-S | Discovery svar |
Z,z (0x5A, 0x7A) | C-> | Återställ sensorenheten |
G,g (0x47, 0x67) | C-> | Få konfigurationsdata för en sensor. |
X,x (0x58, 0x78) | <-S | Konfigurationsdatasvar |
S,s (0x53, 0x73) | C-> | Ställ in konfigurationsdata för en sensor |
R,r (0x52, 0x72) | C-> | Begär sensordata |
V,v (0x56, 0x76) | <-S | Sensordatasvar |
D,d (0x44, 0x64) | <-S | Sensorsvar med ett bytestatusfält |
M,m (0x4D, 0x6D) | <-S | Sensorsvar med många datapunkter |
O,o (0x4F, 0x6F) | C-> | Skapa sensorobservatör |
Y,y (0x59, 0x79) | <-S | Observatör skapad |
K,k (0x4B, 0x6B) | <-> | Ta bort sensorobservatör/lyssnare |
U,u (0x55, 0x75) | <-> | Observatör/lyssnare avslutad |
L,l (0x4C, 0x6C) | <-S | Begär sensoravlyssnare |
J,j (0x4A, 0x6A) | C-> | Sensorlyssnare skapad |
E,e (0x45, 0x65) | <-> | Fel |
F,f (0x46, 0x66) | <-> | Gratis data för anpassade ändamål |
Gruppen av kommandon:
- Q – fråga
- A – fråga svar
- C – sensorupptäckt
- N – upptäcktssvar
- Z – återställ
- G – få sensorkonfiguration
- S – ställ in sensorkonfiguration
används för att hitta och konfigurera sensorenheter som använder SSI-protokollet.
Gruppen av kommandon:
- R – begär sensordata
- V – datasvar
- D – datasvar med statusfält
används för att läsa sensordata sällan.
För dataströmningsändamål är definierade kommandon:
- O – skapa sensorobservatör
- Y – observatör skapad
- K – ta bort observatör
- U – observatör klar
- L – begär sensorlyssnare
- J – sensorlyssnare skapad.
- V – datasvar
- M – datasvar med många datapunkter
Punkt-till-punkt SSI
Punkt-till-punkt-meddelanden med SSI kan göras med SSI/UART. Ett SSI UART-meddelande består av en 3 - byte UART-header, ett SSI-meddelande som nyttolast och en valfri cyklisk redundanskontrollsumma . Användningen av en kontrollsumma definieras av typen SSI-meddelande/kommando, med kommandon med små bokstäver som indikerar användningen av CRC. Rubriken består av en startbyte (0xFE), en 2-byte (total) längd på meddelandet och en 2-byte bitvis Negation -längd för att hjälpa till att identifiera ramstarten.
Nätverk SSI
SSI-nätverk i en variabel miljö görs med nanoIP. I ett typiskt fall med SSI är ett individuellt meddelande inte viktigt, och därför används nanoUDP (förenklad UDP definierad av nanoIP) som meddelandeformat. Om enskilda meddelanden är viktiga kan nanoTCP användas, eftersom det ger flödeskontroll och återsändning till en kostnad av meddelandestorlek och ökad nätverkstrafik.
Ett nanoUDP-meddelande består av en 5-byte nanoUDP-huvud, en n -byte meddelandenyttolast och en valfri 2-byte CRC-kontrollsumma. Rubriken består av en protokollbyte, en 2-byte meddelandelängd (total längd, inklusive header och CRC), en 1-byte källport och ett 1-byte destinationsportnummer. Destinationsportnumret bör vara 0x28 för SSI-meddelanden.
Versionshistorik
- 0,1 14 mars 2003
- 0,2 29 april 2003
- 0,3 20 maj 2003
- 0,4 2 oktober 2003
- 0,5 5 december 2003, inte kompatibel med tidigare
- 0,6 3 november 2004
- 0,7 22 december 2004
- 0,8 14 januari 2005
- 1.0 11 april 2005
- 1.1 27 oktober 2005
- 1.2 27 maj 2006, inte kompatibel med tidigare
externa länkar
- ^ "X.225: Informationsteknologi – Öppen systemsammankoppling – Anslutningsorienterat sessionsprotokoll: Protokollspecifikation" . Arkiverad från originalet den 1 februari 2021 . Hämtad 10 mars 2023 .