Menu

uruchomienie

Piotr Murawski

Uruchomienie systemu - Oprogramowanie


Switch

Switch (biotswitch) wymaga głównie komputera z systemem Linux, po kompilacji programu switch'a i narzędzia "biotool". Można podłączyć do portu szeregowego płytkę switch'a. Uwaga, płytka przygotowana jest to sygnałów portu szeregowego na poziomie 0-5V (sygnałów z bezpośrednio z procesora). Jeżeli podłączamy to RS232, trzeba użyć układu nadajnika/odbiornika RS232.

Na początek, proponuje zwykły PeCet z wbudowanym portem szeregowym. Porty na USB są strasznie wredne i praktycznie nie są wstanie procować stabilnie w sposób ciągły. Ciągle można jeszcze kupić wielopoprtowe karty PCI z portami szeregowymi, ok 100zł.

Konfiguracja switch'a zawarta jest w pliku porty.txt który powinien znajdować się tam gdzie uruchamia się switch. Plik zawiera definicję sieci. Przykładowy plik znajduje się w katalogu źródeł switch'a. Switch nie posiada parametrów wejściowych, jest natomiast szereg zmiennych systemowych które są brane pod uwagę. Lista zmiennych i ich opis dostępne są po wywołaniu switch'a z opcją --help

Po uruchomieniu, switch powinien pokazać coś w rodzaju tabelki z sieciami i statystyką pakietów. Pozostawiamy switch chodzący i możemy w innym terminalu lub zdalnie używać biotool

Tool ("biotool")

Biotool służy do wykonywania wszelkich operacji w systemie. Podstawowa funkcja to konfiguracja modułów. Protokół wykorzystuje ok 25 komend. Jednak większość czynności konfiguracyjnych wymaga wysłania szeregu komend. Dlatego też, biotool posiada wbudowane "makra" które są wygodne w użyciu. Instrukcja na temat użycia biotool dostępna jest po wywołaniu narzędzia z opcją --help. Użycie z opcją -m listuje makra a z opcją --help nazwa makra podaje pomoc dla konkretnego makra

Nowy moduł

Każdy, świeżo zaprogramowany moduł posiada domyślny adres sieci: 31 i ID: 126. Taki moduł należy podłączyć do dowolnej sieci a następnie można nadpisać mu jego sieć. Sekwencja komend jakie zwykle wykonuje się z nowym modułem to (zakładając że podłączyliśmy się do sieci nr 13 i nadajemy mu ID: 34):

./biotool wrnet 13
./biotool wrnewid 13 34
./biotool reset 13 0
./biotool ping 13 34

  • Pierwsze polecenie powoduje zapis numeru sieci na 13 we wszystkich modułach podłączonych do sieci 13 niezależnie od ich aktualnego numeru, czyli zmienimy adres sieci z 31 na 13.
  • Drugie to wpisanie ID: 34 zamiast 126
  • Trzecie polecenie resetuje całą sieć 13 (0 oznacza "broadcast" czyli każdy moduł odczyta komendę)
  • Ostatnie to sprawdzenie poprzez prosty PING czy moduł jest poprawnie ustawiony

Dodatkowe przydatne makra to: wrname i wrserial dzięki którym możemy zapisać krótki tekst i numer seryjny (16 bitów) co znacznie ułatwi identyfikacje modułu z złożonym systemie.

Prosta konfiguracja kontakt->światło

Mamy dwa moduły, pierwszy o ID:25 jest włącznikiem a drugi o ID:17 steruje żarówką. Oba wpięte są w sieć 7. Włącznik ma czujnik sensorowy podłączony do wejścia nr 1, a moduł ID:17 steruje żarówką poprzez wyjście nr 2. Ustawiamy tak, by przy dotknięciu żarówka zapaliła się bądź zgasła.

  1. Kasujemy wszystkie kody

    ./biotool erasecodesin 7 25
    ./biotool erasecodesout 7 25
    ./biotool erasevarcodes 7 25
    ./biotool erasetimers 7 25
    ./biotool erasecodesin 7 17
    ./biotool erasecodesout 7 17
    ./biotool erasevarcodes 7 17
    ./biotool erasetimers 7 17

  2. Programujemy kody:

    ./biotool wrcodein 7 25 1 0xA001 1 01 7

    Kolejno: numer sieci, ID, pozycja tabeli, kod, wejście, zmiana (0->1, reakcja na wciśniecie-dotknięcie), sieć do wysłania kodu

    ./biotool wrcodeout 7 17 1 0xA001 2 z

    Kolejno: numer sieci, ID, pozycja tabeli, kod, wyjście, stan (z - inwersja)

  3. Zaprogramowanie można sprawdzić:
    ./biotool 7 25 rdcodesin
    ./biotool 7 17 rdcodesout