Hallo, das ist was ich habe: Ich habe eine RFM12 <-> Seriell Dongle gebaut. Funktioniert soweit ganz gut. Nun möchte ich möglichst flexibel auf andere RFM12 Knoten zugreifen können (ala Ethersex) mittels TCP und IP. Im Keller steht ein Linux Server wo das Dongel angeschlossen wird. Der Server ist im Netz 192.168.2.* die Funkmodule sollen z.B auf 192.168.3.* sein. Das will ich: 1. Das Dongle soll als Ethernet Device ansprechbar sein (z.B. eth1). Was muss ich hierzu auf Linux Seite machen um /dev/ttyUSB0 als eth1 haben? Im uC kann ich alles implementieren was notwendig ist. Momentan habe ich ein SLIP basiertes Protokoll am Laufen. 2. Der Linux Server muß wohl als Bridge(/Router) fungieren?! Was brauche ich an Software hierzu? 3. Ist das der richtige Weg oder gibt es etwas einfacheres/besseres? Wie gesagt sollen die Knoten über Ihre IP von anderen Rechnern aus ansprechbar sein. Danke u. Gruß Bronko99
du brauchst auf dem linux pc ein kleines programm, dass einen server-socket auf der jeweiligen netzwerkadresse öffnet und die i/o streams vom seriellen port auf den socket weiterleitet (zB java, python, c++) um aber mehrere netzwerkadressen zu haben musst du deine linux netzwerk hardware virtualisieren, um mehrere virtuelle netzwerkkarten zu haben (wie das geht hängt von deiner distri ab und deiner lan hardware). am einfachsten wäre es jedoch einfach pro node einen eigenen port zu haben,..
Andi D. schrieb: > du brauchst auf dem linux pc ein kleines programm, dass einen > server-socket auf der jeweiligen netzwerkadresse öffnet und die i/o > streams vom seriellen port auf den socket weiterleitet (zB java, python, > c++) Das wäre Plan B. Andi D. schrieb: > um aber mehrere netzwerkadressen zu haben musst du deine linux netzwerk > hardware virtualisieren, um mehrere virtuelle netzwerkkarten zu haben > (wie das geht hängt von deiner distri ab und deiner lan hardware). Ich habe Gentoo, Fritzbox als Router und Server mit Onboard Netzwerkkarte, also alles Standard. Ich dachte, das es über SLIP geht. Ich weiß was das ist und wofür das gebraucht wird, kenne aber die Schnittstelle Linuxseitig nicht. Meine Vermutung(Hoffnung) war, dass es ein Device gibt und man dann über Kernel Bridging Unterstüzung und ein Hilfsprogram das Routing hinbekommt.
SLIP ist genau das richtige. Verwende dazu das Programm pppd, um den Server mit den "Clients" zu verbinden, und betrachte die Funkstrecke dazu als einfache serielle Verbindung, so wie bei einer Modemleitung. Das pppd Programm erstellt eine virtuelle Netzwerkkarte, bei der man die IP des Gegenstücks einstellt (in pppd oder per ifconfig), sodass Daten an diese IP eben an diesen Endpunkt gesendet werden. Einfachere Alternative: Wlan.
Oh, und vergessen: Damit das Routing funktioniert, musst du nur dies ausführen: echo 1 > /proc/sys/net/ipv4/ip_forward for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done und in iptables dafür sorgen, dass die Pakete in der "FORWARD" chain durchgelassen werden (zB mit iptables -P FORWARD ACCEPT)
Ok aber was mache ich mit der Addressierung der einzelnen RFM12 Knoten? ppp ist doch Point to Point. Die einzelnen Knoten sollen jeweils über eine eigene IP angsprechbar sein. Geht das trotzdem? Wie definiere ich dann ein Subnetz?
Bronko Pavel schrieb: > Ok aber was mache ich mit der Addressierung der einzelnen RFM12 Knoten? Wie gesagt, beim Router stellst du die IP in pppd oder ifconfig für jeden Knoten ein. Dann kriegt jeder Knoten genau das, was für ihn ist. > ppp ist doch Point to Point. Die einzelnen Knoten sollen jeweils über > eine eigene IP angsprechbar sein. Geht das trotzdem? Du startest pppd halt für jeden Knoten einmal, wenn du 7 Knoten hast, hast du halt 7x pppd laufen und 7 ppp-Interfaces auf dem Router, und du kannst bei jedem dieser Interfaces die IP der Gegenstelle festlegen. > Wie definiere ich dann ein Subnetz? Indem du halt die IP's entsprechend einstellst, mehr brauchts ja nicht, da eh alle über den selben Router zu erreichen sind (und ein Subnetz somit eigentlich sinnlos ist).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.