Podłączamy kartę 8 przekaźników na USB do internetu poprzez Asus'a WL-500Gp

Bez użycia lutownicy...


Płytka przekaźników
Koszt

Płytka 8 przekaźników sterowanych z USB na mikrokontrolerze ATTiny2313 produkowana przez WH Electronics. W urządzeniu tym dostajemy gotowy system z procesorem i układami mocy. Odpada projektowanie płytki, trawienie itp. [link do schematu] A ponieważ istnieje możliwość zamówienia gotowego urządzenia a nie "kitu", część elektroniczna może ograniczyć się do śrubokręta (kable do przekaźników).
110 pln


Router
Koszt

WL-500Gp.  Bardzo udana konstrukcja znanej z płyt głównych firmy. Dosyć dużo pamięci (8M flash, 32M RAM), 2 porty USB 2.0 i WiFi b/g. Gdyby nie cena znacząco wyższa od TP-LINKa byłby na pierwszym miejscu do wyboru. Istnieje wiele oprogramowań alternatywnych, my skorzystamy z X-Wrt - praktycznie OpenWRT (Linux) + interfejs graficzny w przeglądarce.
260 pln




Instalacja i konfiguracja:


Bierzemy router Asus WL-500Gp, ściągamy oprogramowanie X-WRT (w moim przypadku "muzealne" WhiteRussian 0.9, ale takie kiedyś zainstalowałem i wszystko działa bez pudła, a wtedy WR było sugerowane), instalujemy przez przeglądarkę lub TFTP - bez śrubokręta czy lutownicy. Szukamy wersji dla "WL-500Gp". Defaultowy adres IP routera w trybie TFTP jest taki sam jak w normalnym trybie (w WR i oryg. sofcie), fabryczny to 192.168.1.1.



mając zainstalowane X-WRT, konfigurujemy dostęp routera jako takiego do Internetu: brama domyślna, DNSy. Następnie instalujemy (z przeglądarki - "System->Pakiety": kmod-usb-uhci-iv, kmod-usb2) sterowniki USB hosta i sterownik usb FTDI (kmod-usb-serial-ftdi).



instalujemy program ser2net, warto chyba dorzucić ntpclienta (czas), router ma sporo pamięci.

wyłączamy co niepotrzebne: serwer DHCP(!!), WiFi (o ile nie używamy). Aczkolwiek nic nie stoi na przeszkodzie, aby nasz Asus "z przekaźnikami" łączył się z siecią przez radio. Jak kto woli. Może też pracować niejako przy okazji jako "normalny" router xDSL (kablówka, nie Neo) jeżeli mamy Internet dostępny przez Ethernet.



teraz "trudna" (dla nieobytego z Linuksem człowieka) część:
logujemy się na router, najpierw przez telnet dla ustawienia hasła root'a, potem "docelowo" przez ssh (PuTTy dla Win$) edytujemy (vi) plik /etc/initd.d/S65ser2net

#!/bin/sh
# redirect /dev/ttyUSB0 to port 3000.
# config in /etc/ser2net.conf
#
mkdir /var/lock
mknod /dev/ttyUSB0 c 188 0
mknod /dev/ttyUSB1 c 188 1
mknod /dev/ttyUSB2 c 188 2
#
/usr/sbin/ser2net
#

edytujemy plik /etc/ser2net.conf, ma zawierać coś takiego:

3000:telnet:0:/dev/ttyUSB0:2400 remctl LOCAL
#3001:telnet:0:/dev/ttyUSB1:2400 remctl LOCAL

reszta linii z numerem na początku ma być komentarzem (#).




Jeżeli panicznie nie chcemy używać vi (dla użytkownika Win$ jest koszmarny)
możemy po zalogowaniu zrobić:

cp /etc/init.d/S50dropbear /etc/init.d/S65ser2net

a następnie edytować z przeglądarki (system->edytor plików - ja mam zainstalowane WR po polsku :)), tak samo możemy edytować /etc/ser2net.conf

Zapisujemy zmiany...



Możemy wystartować ser2net albo po prostu zrestartować router.... Jak widać, dało się skonfigurować wszystko wydając JEDNO polecenie z poziomu linii komend routera, reszta z Win$ i przeglądarki.



Możemy się połączyć do naszego sprzętu (karty przekaźników) przez telnet 192.168.1.1 3000, podobnie w Win$. (adres jaki skonfigurowaliśmy, port jak było widać 3000).

Działa? Tak, bezpiecznie? NIE (telnet jest nie szyfrowany, nie mamy też ŻADNEJ autoryzacji). W następnym odcinku szyfrowanie...

Szybko? Też NIE - oryginalny firmware płytki ma łącze szeregowe @2400bps, i wypisuje stan co ok 1sek.

To TEŻ się da "poprawić" :). A nawet przeczytać, jak zostało to zrobione. Ta wersja działa na 9600bps (trzeba zmodyfikować w ser2net.conf, i wypisuje swój stan 50 razy na sekundę (dzięki czemu sterowanie działa prawie natychmiastowo - po LAN oczywiście).


v.0.4.3 2012-12-23.
koperta