Menu

protocol

Piotr Murawski

Protokół


Protokół w systemie BIOT oparty jest na wymianie 10 bajtowych pakietów. Pakiety wysyłane są do sieci o wspólnym dostępie. Jeśli w tym samym czasie dwa źródła wyślą pakiet, to nastąpi zakłócenie. Każdy nadajnik pakietów, czy to moduł czy to switch, nasłuchuje własnej transmisji i w przypadku błędu retransmituje pakiet w losowym odstępie czasu. System sterowania oświetleniem jest systemem w którym informacje wymienianie są bardzo sporadycznie, w związku z czym, takie podejście sprawdza się doskonale.

Pakiet

Budowa pakietu:


Bajt:  
    0        1        2        3        4        5        6        7        8        9
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|Key     |Destina.|Dest/Src|Source  |Command | Data 0 | Data 1 | Data 2 | Data 3 |CRC     |
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+

Opis:

  • Key - stała wartość 0xA5
  • Destina.- adres celu, młodsza część
  • Dest/Src - starsza część adresu celu i źródła
  • Source - młodsza część adresu źródła
  • Command - komenda, jest ich około 25
  • Data X - cztery bajty danych, używane w zależności od komendy
  • CRC - 8 bit CRC

Adresowanie

System zakłada budową zawierającą kilka podsieci. Moduły słyszą się na wzajem tylko w obrębie jednej podsieci. Tak więc w małym domu, dobrze jest zdefiniować 3,4 sieci i pogrupować moduły tak, by włączniki i odpowiadające im źródła światła były w jednej podsieci.
Adres składa się z młodszej części, i jest to ID modułu w danej sieci oraz starszej, która stanowi numer sieci. Domyślnie, numer sieci jest 5 bajtowy a ID 7 bajtowy. Można to zmienić w kodzie. Jeśli ID jest 0 to dany pakiet zanalizują wszystkie moduły w sieci, tak się też dzieje przy normalnej pracy. Jeśli sieć jest 0 to pakiet zostanie przez switch rozesłany po wszystkich sieciach.

Kody

Podstawą działania systemu nie polegającego na jednostce centralnej jest idea kodów. Naciskając przycisk w kontakcie, moduł wysyła ustalony kod 16-bitowy do wszystkich modułów w sieci. Każdy moduł sprawdza czy ma jakąś akcje przypisaną do odebranego kodu i ją wykonuje. Akcje, to np. wyłączenie danego wyjścia, czy negacja stanu. To jest najprostszy przypadek układu kontakt - źródło światła.