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) <B>Switch Tool</B>

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