Menu

switch

Piotr Murawski

Switch


Opis

Switch to zwykle jednostka oparta na systemie Linux, nie koniecznie ale praktycznie nic innego nie ma sensu. Całość została napisana jako POSIX i kompilowana GCC więc chyba nie ma sensu wchodzić w coś innego.
W moim systemie, za jednostkę robi moduł MMNet1002 (od propox.com, nie polecam tej firmy) z procesorem AT91SAM9260. OpenWRT Linux. Ponieważ sieć modułów oparta jest na asynchronicznym UART'cie, potrzeba aby jednostka centralna miała kilka UARTów, ta płytka ma ich aż 7!

Projekt

Projekt modułu, schemat i pliki produkcyjne PCB (gerber) znajdują się w sekcji "Download". Wszystkie pliki projektu objęte są licencją załączoną do plików projektu. Wykorzystanie plików projektu jest jednoznacze z akceptacją licencji i jej przestrzeganiem.

Do oglądania gerberów polecam GERBV, dostępny na Linux.

Płytka switch'a obsługuje jedną sieć. Posiada separację sygnałów i przetwornicę napięcia +5V do zasilania modułów. Oprócz połączenia do komputera i zasilania sieci, płytka ustala poziom napięć na liniach sieci M+/M-. Dla ułatwienia, wykorzystano standard wtyczek sieciowych 8P8C. Jedna nitka sieci to cztery sygnały GND, +5V, M+, M-

Przykładowa konstrukcja switch'a #1

Przykładowa konstrukcja switch'a #2

Przykładowa konstrukcja switch'a #3

Programy

1) Switch

Program Switcha, to stale działający program który stanowi rdzeń funkcjonalności Switch'a. Główym jego celem jest rutowanie pakietów pomiędzy sieciami oraz źródłami zewnętrznymi np. programem Switch Tool. W systemie można mieć wiele jednostek switch'y, aczkolwiek w obrębie domu jednorodzinnego nie ma sensu tak rozbudowywać system. Najważniejszą sprawą jest konfiguracja switch'a która polega na przypisaniu portów szeregowych do danych sieci.

2) Switch Tool

To narzędzie pozwalające na komunikację z modułami poprzez switch. Switch Tool musi mieć podany adres IP switch'a. Switch odbiera pakiety z Tool's i wysyła mu odpowiedzi od modułów.
Switch Tool to przede wszystkim główne narzędzie konfiguracyjne, program posiada kilkadziesiąt najprzeróżniejszych poleceń to konfiguracji i sterowania modułami. Umożliwia też wysyłanie kodów.

Kompilacja

Źródła znajdują się w dziale SF "Code". Robimy SVN "checkout" na poziomie "branches". Kompilacja w katalogach src_switch i src_tool. Po wejściu to danego katalogu, wykonujemy:
Dla linuxa na PC'cie:

make PC all

Dla linuxa na ARM'ie (OpenWRT Linux, wymaga cross-kompilatora i ustawienia ścieżki, konfiguracja w pliku env.mk):

make ARM all