Basit Sensör Arayüz protokolü - Simple Sensor Interface protocol

Basit Sensör Arayüzü ( SSI ) protokolü bilgisayarlar veya kullanıcı terminalleri ve akıllı sensörler arasındaki veri aktarımı için tasarlanmış basit bir iletişim protokolüdür. SSI protokolü, bir uygulama katmanı olarak protokol OSI modeli .

SSI protokolü tarafından ortaklaşa geliştirilen Nokia , Vaisala , Suunto'nun , Ionific, Mermit ve Oulu Üniversitesi . Şu SSI Mimosa Projesi kapsamında dahilinde geliştiriliyor Avrupa Birliği Araştırma ve Teknolojik Geliştirme Çerçeve Programları .

SSI protokolü üzerinden noktadan-noktaya iletişimde kullanılan UART ve ağ nanoIP uygulamaları. SSI ayrıca yoklama sensörleri ve akış sensörü verileri sağlar. İçin RFID algılayıcı etiketleri SSI sensör verileri için bellek haritası belirler.

SSI protokol gelişimi için kriterler şunlardır:

  • genel amaçlı
  • Basit - Minimal havai
  • Sunucu (sensör) tarafında küçük boyut

SSI protokolünün örnek uygulama MSP430 mikrodenetleyiciler olarak yayınlanacaktır açık kaynak Nokia tarafından Ağustos 2006'da sırasında.

SSI mesajı yapısı

SSI mesajı 2 baytlık bir başlık ve bir oluşur , n -byte yükü. Başlığı (içinde, '?' Joker olan 0x3f bir bayt adresi oluşur ASCII ) ve bir byte mesaj / komut türü. Mesaj / komut tipi için farklı olası değerler SSI v1.2 komut tabanı sunulmuştur.

SSI v1.2 komut tabanı

Komut bayt yön Açıklama
S, q (0x51, 0x71) C-> Sorgu
A, bir (0x41, 0x61) <S Sorgu cevap
C, C (0x43, 0x63) C-> Discover sensörleri
N, N (0x4E, 0x6E) <S Keşif cevap
Z, Z (0x5A, 0x7A) C-> Sıfırlama sensör cihazı
G, G (0x47, 0x67) C-> Bir sensör için yapılandırma verileri alın.
X, X (0x58, 0x78) <S Konfigürasyon verileri tepkisi
S, S (0x53, 0x73) C-> Bir sensör için ayarlama konfigürasyon verileri
R, R (0x52, 0x72) C-> Talep sensör verileri
V, V (0x56, 0x76) <S Sensör verileri tepkisi
D, D (0x44, 0x64) <S bir byte durum alanı ile Sensör tepkisi
E, m, (0x4D, 0x6D) <S çok sayıda veri noktası Sensör tepkisi
O, O (0x4F, 0x6F) C-> Sensör gözlemci oluştur
Y (0x59, 0x79) <S Gözlemci yarattı
K k (0x4B, 0x6B) <-> Sensör gözlemci / dinleyici Sil
U, U (0x55, 0x75) <-> Gözlemci / dinleyici bitmiş
L, L (0x4C, 0x6C) <S Talep sensörü dinleyici
J, J (0x4A, 0x6A) C-> Sensör dinleyici yarattı
E, e (0x45, 0x65) <-> Hata
F, K (0x46, 0x66) <-> özel amaçlı Ücretsiz verileri

komutları grubu:

  • S - sorgu
  • A - Sorgu cevap
  • Cı - sensör bulma
  • N - keşif cevap
  • Z - reset
  • G - Sensör konfigürasyonu olsun
  • S - set sensör konfigürasyonu

SSI-protokolünü kullanan sensör birimlerini bulmak ve yapılandırmak için kullanılır.

komutları grubu:

  • R - talep sensör verileri
  • V - veri tepkisi
  • D - durum alan veri tepkisi

seyrek sensör verilerini okumak için kullanılır.

veri akışı amacıyla tanımlı komutlar şunlardır:

  • O - sensör gözlemci oluşturmak
  • Y - gözlemci yarattı
  • K - gözlemci silmek
  • U - gözlemci bitmiş
  • L - istek sensör dinleyici
  • J - sensör dinleyici oluşturulur.
  • V - veri tepkisi
  • M - çok sayıda veri noktası, veri tepkisi

Noktadan noktaya SSI

SGK ile Noktadan noktaya mesajlaşma SSI / UART ile yapılabilir. SSI UART bir mesaj, 3 baytlık bir UART başlığı, yük olarak SSI mesajı ve opsiyonel oluşur Çevrimsel artıklık sağlama . Alt durum CRC kullanımına işaret komutları bir sağlama kullanımı SSI mesaj / komut türü ile tanımlanır. Başlık başlangıç bayt (0xFE) oluşur, mesajın bir 2 bayt (toplam) uzunluğu ve 2 bayt bit düzeyinde Olumsuz uzunluğu çerçeve başlangıcını tanımlamak yardımcı olur.

Ağ SSI

Değişken bir ortamda SSI ağ nanoIP kullanılarak yapılır. SSI kullanılarak Tipik bir durumda, bağımsız bir mesaj önemli değildir ve bu nedenle nanoUDP (basitleştirilmiş UDP nanoIP tarafından tanımlanır), mesaj biçiminde kullanılır. Tekil mesajlar önemliyse mesajın boyutta bir maliyetle kontrol ve yeniden iletim akış ve ağ trafiğinde artış sağladığından, nanoTCP, kullanılabilir.

Bir nanoUDP mesajı 5 bayt nanoUDP başlığının, bir oluşur , n -byte mesaj yükü ve isteğe bağlı 2 baytlık CRC sağlama. Başlık, bir protokol byte (üstbilgi ve CRC de dahil olmak üzere toplam uzunluğu) bir 2 bayt mesaj uzunluğu, 1 baytlık bir kaynak port ve 1 baytlık bir hedef noktası numarasından oluşur. Hedef port numarası SSI mesajları için 0x28 olmalıdır.

Sürüm geçmişi

  • 0.1 14 Mart 2003
  • 0.2 29 Nisan 2003
  • 0.3 May 20, 2003
  • 0.4 2 Ekim 2003
  • 0.5 önceki ile 5 Aralık 2003, uyumlu değildir
  • 0.6 3 Kasım 2004
  • 0.7 22 Aralık 2004
  • 0.8 14 Ocak 2005
  • 1.0 11 Nisan 2005
  • 1.1 27 Ekim 2005
  • 1.2 önceki ile May 27, 2006, uyumlu değildir

Dış bağlantılar