PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Steuern über Internet - machbar?



Matthias1979
19.11.2007, 08:12
Ist es mit der RN-Hardware folgendes möglich:

RN-"Control" -> Linux-PC -> Internet / W-Lan -> Linux-PC -> RN-"Control"

Dabei soll der Status der digitalen Eingänge zu den digitalen Ausgängen am anderen Ende live übertragen werden. Dazu noch die Werte einiger Drehgeber aka Register.

Sinn des ganzen soll sein das man von daheim aus einen" Robot" per I-Net / W-Lan steuern kann.

Sämtliche Steuerungsbefehle müssen aufgezeichnet werden können um später direkt an der letzten Linuxkiste abgespielt zu werden.

Ist sowas machbar? Gibts evtl schon etwas "fertiges" das man nur noch anpassen muß?

Thx

M@tes
19.11.2007, 08:22
Ist definitiv machbar. Ich habs vor, kam aber bisher noch nciht grossartig dazu, weil ich noch an einem Usermangementsystem dran bin.
Ich arbeite selbst mit Perl, damit kannst du auf Eingabeaufforderungsebene arbeiten oder via Browser und gleichzeitig auf die Hardware und Systemkomponenten zugreifen.
Aber Perl ist nicht gerad bekannt dafür, das es einfach ist :-)

thewulf00
19.11.2007, 08:23
Das ist sicher machbar. Ich würde es bestimmt auch hinkriegen.
Du musst Dir vorweg folgende Dinge überlegen:
- Wie realisierst Du die Datenübergabe RN-Control <-> PC (und umgekehrt)?
- Welches Protokoll nutzt Du für PC <-> PC?
- Wenn Du übers I-Net gehen willst, beachte auch so Sachen, wie Firewall, Router, Port-Forwarding und so Sachen.

Für die Ansteuerung von selbstgebauter Hardware unter Linux nutzen die meisten Perl (ich nicht, ich kenns nicht). Das soll mega-einfach gehen und es gibt schon dutzende Anwendungen damit. Schau doch mal, ob Du was findest.
Für die Übertragung PC <-> INET <-> PC solltest Du Dir auch sicherheitsgedanken machen. Vielleicht koppelst Du das über einen Server (eine Webpräsenz), dann hast Du das Problem des Portforwardings nicht usw.
Wie gesagt - da gibt es dutzende Möglichkeiten, mir fallen mehrere auf Anhieb ein.

Probleme sehe ich in der Echtzeitübertragung (bzw. in der Dauer der Übertragung), in der Sicherheit und eventuellen Steinen im Weg (Firewall, Router).
Bedenke bitte, an so banalen Dingen, wie einem Router, sind schon ganz andere Projekte gescheitert... :-)

Aber falls Du Hilfe, Anregungen oder Ideen für konkrete Probleme brauchst, schreib mir einfach ne PN.

M@tes
19.11.2007, 08:52
Router ist kein Problem. Port 80 forwarden und Thema erledigt. Allerdings sollte es kein DHCP sein ;-)
Wegen der INET Verbindung hab ich auch den andern Fred aufgemacht, zum die Daten verschlüsseln.
Es ist relativ einfach zu realisieren. Allerdings ist die Hardwareansteuerung nicht gerad einfach, da sich nur wenige damit beschäftigen.

Matthias1979
19.11.2007, 08:54
Die RN-Control überträgt vom/zum PC per USB nur ein Datenpaket, in dem jedes mal alle E/A Zustände+die Werte der Drehgeber/Register enthalten.

Also alle "0,5s" wird die RN-Control ausgelesen, ein Datenpaket generiert, zum anderen PC gesendet, da per USB auf den andere RN-Controller geschrieben und der wandelt das in Bewegung um.

Das Generieren und die Übertragung der Datenpakete von PC zu PC ist mir noch nicht ganz klar.
- Die Pakete werde ich wohl mit einer struct zusammenbasteln und per UDP senden-

Das ganze sollte möglicht per SSH/VPN-Tunnel ablaufen.

PC ist wichtig weil ich per Webcam sehen muß was der Roboter macht.
Der Empfänger ist eine NSLU2 mit 2xUSB und kleinem Linux.

Netzwerktechnik/Router/Firewall sind nicht das Problem.

p.s. Die PC's sind nur Mittel zum Zweck und übernehmen keine Steuerungsaufgaben.

p.p.s. Evtl auch 2x RN-MEGA2560

holzi
19.11.2007, 12:00
Main moin hier an alle,
genau diese Vorgehensweise über eine Webseite auf den RN-Control wird in dem Buch "Bascom-AVR" von Claus Kühne beschrieben.
Dafür wird ein bestimmter Webserver (MicroWebserv www.csmicrosystems.com) benötigt, der die Anfragen/Abfragen über den seriellen Anschluss an das Board weiter gibt bzw. empfängt. Auf diese Art und Weise kann das Board z.B. auch Emails versenden.

Schönen Tag noch Peter

johns
19.11.2007, 12:13
Router ist kein Problem. Port 80 forwarden und Thema erledigt. Allerdings sollte es kein DHCP sein ;-)

@m@tes: port 80 impliziert http welches sich aufgrund der fehlenden verbindungs persistenz nicht besonders für genannte zwecke eignet.
dynamische IP adressen fürs LAN machen mit static-dhcp sehr wohl sinn, und im falle einer dynamischen WAN IP ist oft ein dyn-dns dienst billiger als sich eine feste öffentliche IP zu mieten ;-)

lg

M@tes
19.11.2007, 12:24
Ja gut, ich ging jetzt halt von http aus, gibt natürlich auch andere Alternativen.
Forwarden tut mal normal auf intern fix festgelegte IPs, wenn diese wechselt ists halt blöd.
Bei mir im Router sind zumindest fix.

johns
19.11.2007, 18:56
hi m@tes,

dann hab ich dir eh nichts neues gesagt, sondern deinen ersten beitrag nur leicht misinterpretiert. ich wollte mit meinem beitrag natürlich nicht deine kenntnisse anzweifeln, die anmerkung sollte vielmehr dazu dienen dass sich weniger netzwerk bewandte mitleser nicht auf http eingeschränkt sehen, und in bezug auf DHCP hervorheben dass dadurch nicht zwangsweise eine eventuell willkürlich erscheinende IP adresse aus dem dhcp adress pool zugeteilt wird, sondern im falle von static dhcp auch ein bestimmter NIC im lan aufgrund seiner MAC adresse immer dieselbe IP adresse zugewiesen bekommen kann, wie es aufgrund der aussage

Bei mir im Router sind zumindest fix.
ohnehin bei dir zu sein scheint. eine 'echte' statische IP adresse ist eine solche die auf dem client system für einen NIC konfiguriert ist.

lg

Matthias1979
20.11.2007, 17:17
Der Webserver ist für mich keine Option, da Linux da wesentlich mächtiger ist.
Die Daten müssen per USB ausgelesen und geschrieben werden.