Çok Basit Kontrol Protokolü - Very Simple Control Protocol

Resmi VSCP logo.png

Çok Basit Denetim Protokolü ( VSCP yerde) otomasyon görev için her türlü uygun ücretsiz bir otomasyon protokoldür building- veya ev otomasyonu ana noktasını oluşturur.

Ana avantajı, her VSCP düğümünün, diğer düğümlerin dağıtılmış ağının bir parçası olarak tamamen özerk çalışabilmesidir.

VSCP, otomasyon ağ veri yolunu oluşturmak için ayrı düğümleri bağlayan fiziksel katmandan (örn. CAN veriyolu , Ethernet , RS-485 , RS-232 , MiWi ) bağımsızdır. Otobüste anahtarları okuyan, aydınlatmayı , panjurları , pencereleri veya bilgi ekranlarını kontrol eden, fiziksel ölçümleri yayınlayan (örn. Sıcaklık , parlaklık , güç tüketimi, vb.), Multimedya kontrolü, hırsız veya yangın alarmı vb.

CAN veriyoluna ve kaynak kısıtlamalı mikro denetleyicilere göre uyarlanmış bir protokol alt kümesi (Seviye I) vardır . Protokol Seviye II, Ethernet (UDP, TCP ve kendi Ethernet türü Raw-Ethernet ) ve kablosuz fiziksel katmanlar için tasarlanmıştır. Hepsi aynı ortak mesaj alanlarını ve çerçeveyi paylaşır ve ağ geçitleri aracılığıyla bağlanabilir.

Etkinlik

VSCP olaylara dayalıdır . Bir olay her gerçekleştiğinde diğer tüm düğümlere yayınlanır. Ağdaki her düğüm olayı alacak ve bu olayın ele alınması gerekip gerekmediğine karar verecektir.

VSCP olay işleme diagram.png

Şemada verilen örnek, basılan bir düğmeyi açıklamaktadır. Bu, düğüm 1'in veriyoluna, diğerlerinin hepsine düğmeye basıldığını bildiren bir olay mesajı göndermesiyle sonuçlanacaktır. Düğüm 2 mesajı alır ancak bu düğmenin düğüm 2 için bir olay tetiklememesi gerektiğine karar verir. Düğüm 3 mesajı alır ve bu düğmenin lamba 2'yi açması için tetiklemesi gerektiğine karar verir.

Olabilir olaylar oluyor her türlü şey için: Bir olay preslenmiş bir düğme olabilir, bir varlık sensörü devreye, ya da güneş ayarı ediliyor. Olaylar ayrıca periyodik olarak gönderilebilir, örneğin her dakika sıcaklık okuması. VSCP, gerçekleşebilecek birçok olayı önceden tanımlar. Bu olaylar, sınıflar ve türler olarak tanımlanır. Alınan bir olayın ele alınıp alınmayacağı karar matrisi veya kısaca DM ile belirlenir . Ayrıca DM daha fazla açıklanmıştır.

Etkinlik Sınıfı ve Türü

Etkinlikler Sınıflar halinde düzenlenir . Sınıf, bir şekilde birbirine ait olan olayların toplamıdır. Orada için sınıflardır ALARM , ÖLÇÜMLERİ , KONTROL , BİLGİ , 25 sınıfları hakkında vb Şu VSCP belirttiğinden, ama çok daha fazla 1. Her sınıf bölünmüştür sırası geldiğinde üzerinde yer vardır türleri . Bir tür ayrıca sınıf içindeki olayı belirtir. Örneğin, Sınıf 20 (0x14) olayları BİLGİ olaylarıdır. Bu sınıfta, bir düğmeye basıldığını gösteren bir alt tip 1 (0x01) BUTTON vardır . Aynı BİLGİ sınıfında ayrıca AÇIK , KAPALI , SINIR ALTINDA sinyal verme türleri de vardır . Sınıf ölçümlerinde de benzer şekilde sıcaklık, akım, voltaj vb. Sinyal türleri vardır. Tüm bu sınıflar ve türler tanımlanmış olması düğümlerin aynı konuşmasını sağlar. dil. Önceden tanımlanmış sınıfların ve türlerin tam listesi için VSCP wiki'ye bakın.

VSCP olay veri birimi yapısı

Yayınlanan olaylar, birlikte bir VSCP datagramı oluşturan birkaç alan içerir. Bu alanların fiziksel katmana tam olarak nasıl eşleneceği CAN, Ethernet, TCP vb. Gibi bir dizi fiziksel katman protokolü için belirtilmiştir. Diğerleri için henüz tanımlanmamıştır, ancak genel olarak bu alanları bir üzerinde eşlemek zor değildir. fiziksel katman protokolü. LEVEL I & LEVEL II olarak adlandırılan VSCP protokolünün 2 seviyesi vardır . Her ikisi de temelde aynı protokoldür ancak farklı alanların boyutları farklıdır.

Seviye I, daha kısıtlı kaynaklara sahip düğümler üzerinde çalışmak üzere tasarlanmıştır ve alanlar biraz daha muhafazakar bir şekilde tanımlanmıştır. Seviye I, aslında seviye II'nin bir alt kümesidir ve uygun bir ağ geçidi olayları ile Seviye I ve II ağı arasında geçiş yapabilir.

VSCP datagram düzeyi I
Öncelik Sabit kodlanmış kimlik SINIF TÜR GönderenNickID DataSize Yük CRC
3 bit 1 bit 9 bit 8 bit 8 bit 4 bit 0 ila 8 bayt 16 bit

Seviye II, çok az kaynak kısıtlaması olan ve daha büyük mesaj boyutlarıyla kolayca başa çıkabilen düğümlerde çalıştırılmak üzere tasarlanmıştır.

VSCP datagram düzeyi II
Öncelik Sabit kodlanmış kimlik SINIF TÜR SenderGUID DataSize Yük CRC
3 bit 1 bit 16 bit 16 bit 128 bit 16 bit 0 - 487 bayt 16 bit

Karar matrisi

VSCP sınıfı / olay maskesi ve filtresi

Olaylar bir düğüm tarafından alındığında, düğümün o olaya göre bir görevi yürütmesi gerekip gerekmediğini belirlemesi gerekir. Bu, karar matrisi veya kısaca DM değerlendirilerek yapılır . DM matrisi bir dizi IF ... THEN ... koşulundan oluşur. Bu tür her IF / THEN koşulu bir çizgi olarak adlandırılır ve birden çok satır karar matrisini oluşturur.

Gelen mesajın Sınıfı ve Tipi her zaman bir DM hattı tarafından değerlendirilir. Sınıf ve Tip değerlendirmesi, önce Sınıf / Tip'i bir maskeden geçirip ardından bir filtre ile karşılaştırarak yapılır. Bu yöntem, birden çok sınıfın / Türlerin DM'nin 1 satırı için geçerli bir koşulu tetiklemesine izin verir. DM hattı için diğer koşullar (SenderGUID, Zone, Subzone) isteğe bağlı olarak değerlendirilir. DM satırı geçerliyse, EYLEM yürütülür. ACTION ile birlikte bir ACTION parametresi vardır . Bir örnek EYLEM olacaktır: açma röle 6 ile 6 olan eylem parametresi . Alıcı düğüm tarafından tam olarak hangi EYLEM'lerin mümkün olduğu, düğümün kendisinin tasarımı tarafından belirlenir. Hangi eylemlerin yürütülebileceğini belirlemek aygıt yazılımı geliştiricisine bağlıdır. Daha sonra MDF dosyasındaki olası eylemi belgeleyerek (daha sonra bakın), yapılandırma yazılımı bu eylemi nasıl seçeceğini bilecektir. DM, uygun düğüm konfigürasyon kayıtları ayarlanarak değiştirilebilir. Bunu yapmanın uygun bir yolu VSCPWorks yapılandırma yazılımını kullanmaktır.

DataPayload

Gönderilen bir olay da bir veri yükü taşıyabilir. Bu yükün içeriği ve organizasyonu, olayın sınıfına ve türüne bağlıdır. Örneğin, sınıf 10 (ölçüm) ve tip 6 (sıcaklık) olayı , yükünde sıcaklık verilerini (kodlama bayt 0, derece veya Santigrat ile belirlenir) taşıyacaktır. Bir düğme olayı, veri yükünde düğme ve düğme bölgesi / alt bölgesi hakkında bilgi taşıyacaktır. Her sınıf / tür için veri formatı spesifikasyonda belirlenir, ayrıntılar için lütfen wiki'ye bakın.

Bölge / alt bölge

Bazı (epeyce) olaylar , veri yüklerinde bir alan bölgesi ve bir alan alt bölgesi içerir. Bu işlevsellik, düğümlerin gruplandırılmasını mümkün kılmak için mevcuttur . Örneğin, belirli bir lambayı kontrol eden tüm düğmelerin aynı grubun parçası olduğunu belirleyebiliriz. Bu, belirli senaryolar için DM'yi basitleştirir. Her düğme için lamba düğümü olarak bir DM hattına sahip olmak yerine (düğme başına 1 satır: IF düğmesi x sonra açma lambası), yalnızca IF (bölge eşleşmesi) THEN açma lambası diyen 1 DM hattımız olabilir . Birden fazla düğüm anahtarının bir grubun parçası haline getirilmesi, düğümlerin yapılandırılmasıyla yapılır, düğümün ürün yazılımı bu işlevi destekleyecektir.

VSCP düğümünü yapılandırma

Bir düğümün işlevini yerine getirmeden önce uygun şekilde yapılandırılması gerekir. Her VSCP düğümü, işlevi için özel olarak tasarlanmış kendi yapılandırma kaydı setini sağlar. Bir düğme düğümü, düğmelerin ait olduğu bölgeyi / alt bölgeleri yapılandırma olasılığına sahip olacaktır. Bir sıcaklık düğümü, tetikleme değerlerini ayarlama olasılığına sahip olacaktır. Ayrıca DM'yi yapılandırmak, bir düğümü yapılandırmanın bir parçasıdır.

Yapılandırma kayıtları

VSCP kayıt alanı

Bir düğümün yapılandırılması, kayıtlara yazılarak yapılır . Her (Seviye I) düğüm, 256 kayda erişim sağlar. En yüksek 128 kayıt, VSCP temel işlevleri için ayrılmıştır. Bu 128 kayıtta, düğüm GUID, Takma ad, MDF ve bir çağrı kaydı gibi öğeler buluyoruz. Daha düşük 128 kayıt, uygulamaya özel kullanım için ücretsizdir. 128 kayıt yeterli değilse, 16 bitlik bir sayfalama olasılığı vardır. Bu, uygulama kullanımı için 65536 x 128 8 bit kayıtlara izin verir. Bu kayıtların yazılması / okunması CLASS 0 olayları kullanılarak yapılır . Sınıf 0 olayları, düğümleri yapılandırmak ve yönetmek için amaçlanan VSCP protokol işlevselliği mesajlarıdır.

Modül Açıklama Dosyası

Hangi kaydın izini sürmek, özellikle uygulamaya özel kayıtlar için hangi amaca hizmet ediyor olabilir. Ancak modül açıklama dosyası veya MDF burada devreye girer. MDF dosyası, bir modülün her bir kaydının işlevini açıklayan ve bu kayıt için yapılandırma seçeneklerini veren makine tarafından okunabilir bir XML dosyasıdır. Bu dosya, yapılandırma yazılımı tarafından kullanılır. (VSCPWorks) adreslenen modüle özgü yapılandırma seçeneklerini göstermek için. MDF dosyası düğümün kendisinde saklanabilir ve oradan VSCPWorks tarafından getirilebilir, ancak daha yaygın olarak MDF dosyası, bir yerde bir web sunucusunda barındırılan bir XML dosyası olacaktır. Bir düğüm daha sonra VSCPWorks'e XML dosyasının nerede (URL) bulunabileceğini bildirmelidir. Bu URL, VSCP ayrılmış kayıtları 0xE0-0xFF'de mevcuttur.

VSCPWorks

VSCPworks ekran görüntüsü

VSCPworks, düğümleri yapılandırmak ve yönetmek için PC (Linux ve Windows) tabanlı bir araçtır. VSCPWorks, MDF dosyasını otomatik olarak ayrıştırarak bu kayıtları insan tarafından okunabilir bir biçimde sunan kayıtların okunmasına / ayarlanmasına izin verir. VSCPWorks ayrıca karar matrisini ayarlamak için sihirbazlar sağlar.

VSCP ve Arkadaşlar

VSCP protokolü ise VSCP & Friends , VSCP etrafında oluşturulmuş bir yazılım API, şema ve soyutlama katmanını adlandırmak için kullanılır. VSCP & Friends , VSCP cihazları gibi görünmelerini sağlayan sürücüleri kullanarak eski cihazların katmanlı soyutlamalarına izin verir. Bu, herhangi bir cihazın VSCP & Friends çerçevesi ile kontrol edilebileceği ve izlenebileceği anlamına gelir. VSCP & Friends , dört yaygın IoT ve M2M sorununu çözer

  • Tek tip cihaz keşfi ve tanımlama.
  • Tek tip cihaz konfigürasyonu.
  • Otonom / dağıtılmış cihaz işlevselliği.
  • Aygıt yazılımını güncellemenin / sürdürmenin tek bir yolu.

Referanslar

Dış bağlantılar