Results 1 to 12 of 12

Thread: Steuerung der Sereillen Schnittstelle am WL-500gp

  1. #1

    Steuerung der Sereillen Schnittstelle am WL-500gp

    Hallo,

    der Asus WL-500gp hat auf seiner Platine 2 serielle Schnittstellen mit TTL-Pegel, die nicht herausgeführt sind.

    In Anbetracht der geringen Anzahl von USB-Schnittstellen möchte ich die eine Schnittstelle mit einem Pegelwandler versehen und als normale RS232C verwenden, die andere aber für Schaltzwecke (über ein Relais oder eine geeignete Schaltung) nur high-low ansteuern.

    Weiß jemand in dieser Runde, mit welchen Befehlen man von putty aus den Rx und Tx-Kontakt steuern kann. Ich habe schon gesucht und darüber leider nichts gefunden - aber man stößt dabei auf unheimlich viele interessante Beiträge!

    Beste Grüße Gschnedl

  2. #2
    Join Date
    Apr 2005
    Location
    Vienna, Austria
    Posts
    191
    Die onboard Schnittstellen von diversen Routermodellen sind, abgesehen von der TTL-Spannung, keine vollwertigen RS-232C Schnittstellen, es fehlen alle Steuerleitungen, wie RTS, CTS, DSR, DTR, RI. Damit hat man keine Leitung die man nach belieben auf High/Low setzen könnte, um ein Relais o. ä. anzusteuern.
    RXD ist zum Empfang da, und kann überhaupt nicht gesetzt werden, TXD dient zum Senden, wobei hier kein konstanter Pegel anliegt, sondern die einzelnen Datenbits samt Start- und Stoppbit mit der eingestellten Baudrate seriell (hintereinander) ausgegeben werden. Fall da ein Relais angeschlossen wird, wird dieses bestenfalls ganz kurz zucken.
    Mit putty wird man da ausserdem gar nichts machen können, das ist ein Terminal-Programm, und läuft nochdazu am PC und nicht am Router.
    Nachdem der WL-500gP eine USB Schnittstelle hat, ist es wohl besser, einen USB-Seriell Adapter anzustecken, der dann alle auf einem 9-Pol RS-232C Stecker üblichen Signale hat.

    Hier ein interessanter Text zum Thema, auf Englisch:
    http://www.easysw.com/~mike/serial/serial.html
    siehe Setting the Control Signals

  3. #3
    Danke MMCM für Deine Erläuterungen. Natürlich ist putty ein Terminalprogramm, aber irgendwo muß man die Steuerbefehle ja eingeben. Ich dachte dabei an Befehle wie peek und poke im Basic - gibt es so etwas bei Linux nicht? Natürlich müßte man auch die Speicheradressen wissen, die man zu "poken" hätte.

    Meiner Ansicht nach müßte man auf diese Weise jeden Pin low oder high schalten können, nicht nur die Steuerleitungen. Im PC mit Basic ging es jedenfalls.

    Ich habe auf Anregung von newbiefan jetzt einen Versuch mit einen USB-Hub gemacht und das hat geklappt - mit Zusatzstromversorgung 5 Volt. Damit ist mir schon geholfen, aber interessieren tät es mich doch .....

    Schönen Abend Gschnedl

  4. #4
    Join Date
    Jul 2007
    Location
    Austria
    Posts
    1,336
    Im gP sind 2 serielle verfügbar, Schnittstelle 0 ist die serielle Console und fix auf 115K eingestellt, Schnittstelle 1 kann für eigene Anwendungen verwendet werden.
    Es ist mit FW-Bordmitteln möglich, Schnittstelle 0/1 anzusprechen und auszulesen.
    Um die Einstellungen zu sehen, einfach:
    Code:
    cat /proc/tty/driver/serial
    Auf der Schnittstelle kann man mit einer einfachen Umleitung alles ausgeben/einlesen.
    Zum Beispiel:
    Code:
    echo "Beispieltext an RS232 1 ausgeben" >> /dev/tts/1
    oder
    Code:
    cat file_mit_inhalt_ausgeben >> /dev/tts/1
    Mit einem Pegelkonverter kann man natürlich auch einen PC dran hängen.
    Ach ja, tty 1 ist auf 9600 eingestellt. Mit einem kleinen µC kann man damit allerlei Dinge anstellen=home automation over ethernet.

    Nachtrag: Die RS232 Schnittstellen haben keinen TTL Pegel, sie sind mit 3,3V ausgeführt. (max3232)

    EDIT:tty geaendert auf tts
    Last edited by newbiefan; 23-01-2009 at 20:25.
    Alle HowTo's, all howto's

    RT-N16 1.9.2.7-rtn-r3121, Samba, VSFTP, Lightthpd, PHP, Perl, MySQL, Serendipity, Aria2web, HDD 640GB
    RT-N66U, 16GB MicroSD/ 2 Partitions, 2,5" HDD 1TB, running with Merlin's FW and Entware, 16 Mbit A1,
    Netgear DGND 3700V2, QNAP TS119PII 4 TB, QNAP TS209 2 TB Raid1, Backup Synology DS107+ 1 TB, HP CP1515n

  5. #5
    @newbiefan

    Danke für die sehr nützlichen Informationen, die ich bei anderer Gelegenheit sicher nützen kann. Mein Ziel wäre es jetzt aber, mit geringstem Aufwand (ohne uC) ein Relais ein- und auszuschalten. Dafür möchte ich den Pegel eines Pins high / low schalten können. Geht das nicht?

    mbG Gschnedl

  6. #6
    Join Date
    Jul 2007
    Location
    Austria
    Posts
    1,336
    Nein, das geht nicht - das liegt im seriellen Protokoll begründet.

    Aber wenn du ohnehin nur ein Relais ein oder ausschalten willst und sonst nichts, würde ich das mit der Power Led machen, da brauchst du nur mehr einen kleinen Treiber (Transistor, 2 Widerstände, eine Diode und ein Relais).
    Freilich hast du dann keine Power Led mehr, aber die ist ja nun (meist) wirklich nicht so wichtig, ausser für den Restoration Mode.

    In diesem Thread sind die notwendigen gipo Befehle enthalten:
    http://wl500g.info/showpost.php?p=79264&postcount=1
    Alle HowTo's, all howto's

    RT-N16 1.9.2.7-rtn-r3121, Samba, VSFTP, Lightthpd, PHP, Perl, MySQL, Serendipity, Aria2web, HDD 640GB
    RT-N66U, 16GB MicroSD/ 2 Partitions, 2,5" HDD 1TB, running with Merlin's FW and Entware, 16 Mbit A1,
    Netgear DGND 3700V2, QNAP TS119PII 4 TB, QNAP TS209 2 TB Raid1, Backup Synology DS107+ 1 TB, HP CP1515n

  7. #7
    Ich danke für den Hinweis und möchte die Diskussion auch nicht unnötig in die Länge ziehen. Aber am PC kann ich mit Basic-Befehlen jedes einzelne Bit des Speichers umlegen - und wenn ich die richtige Speicheradresse getroffen habe, bewike ich damit das Gewollte. Bei Linux, das viel hardwarenäher sein soll als DOS oder Windows geht das nicht? Das serielle Protokoll will ich gar nicht verwenden, nur die dazu vorhandene Hardware mißbrauchen.

    Noch einen schönen Abend Gschnedl

  8. #8
    Join Date
    Apr 2005
    Location
    Vienna, Austria
    Posts
    191
    Am Auto kannst du auch nicht mit einem Knopfdruck die Reifen wechseln, wenn das nicht vom Hersteller vorgesehen ist. Auch ein Kopfstand hilft hier nicht ;-)

    Ich empfehle, sich etwas in die technische Dokumentation von UARTs einzulesen...

  9. #9
    Join Date
    Jul 2007
    Location
    Austria
    Posts
    1,336
    Quote Originally Posted by gschnedl View Post
    Aber am PC kann ich mit Basic-Befehlen jedes einzelne Bit des Speichers umlegen - und wenn ich die richtige Speicheradresse getroffen habe, bewirke ich damit das Gewollte. Bei Linux, das viel hardwarenäher sein soll als DOS oder Windows geht das nicht? Das serielle Protokoll will ich gar nicht verwenden, nur die dazu vorhandene Hardware mißbrauchen.
    Gschnedl
    Also, das mit Dos und Wind**f stimmt so nicht. Erstens laesst das Wind**f OS Speicherzugrifffe auf Schnittstellen seit NT,XP nur ueber das Betriebssystem zu (Poke usw. geht nicht mehr, bzw. eingeschraenkt) und vorher war es eine Katastrophe - alle kennen die blue Screens - das sind letztendlich Zugriffe auf nicht erlaubte Bereiche.
    Naja und zweitens ist das ja von der Hardware abhaengig. Wenn eine Hardware ein Byte nur seriell ausgibt, haengt das nicht von Software ab. Das
    hat mit Linux, Windows, Dos nichts zu tun. Aber die Hardwarenaehe von Linux erlaubt eben auch, einen Kernel z.Bspl. selber zu compilieren bzw. anzupassen. Und wenn man die CPU auch auf Portausgabe schalten kann, dann geht das auch. Aber einfach ist das in keinem Fall. Naja und ein Router ist kein PC, die Architektur ist auch voellig anders.

    Nachtrag: Ach- und den Seitenhieb auf Vista habe ich vergessen - das kann man nicht mehr sinnvoll bedienen. Selbst ein schneller Quad wird zur langsamen Ente gemacht und obendrein wird mir noch eingeredet, dass es viele nuetzliche Dinge hat, welche ich nicht nutzen kann. Wenn ich vorher ein Studium brauche um ein OS bedienen zu koennen, nehme ich viel lieber Linux. Versuche doch einmal, deine Schnittstellen im Vista beliebig einzustellen - viel Vergnuegen! Vista ist fuer mich Schrott, der viel Geld kostet. Vergleiche ich mein uralt Notebook (266MHz) mit Damn Small Linux drauf mit meinem schnellen Core2 Quad Q9550 (4× 2833 MHz) vergeht mir der Appetit auf Vista extrem schnell, denn das uralt Notebook ist wesentlich schneller im Seitenaufbau usw. Deshalb gibt es kein Vista mehr in meinem Haus - wo sind denn die unzaehligen Features (ausser einem leeren Geldbeutel)? Und Musik geht mit Vista gar nicht mehr, mein Keyboard (Midi) kann ich mit Vista nicht mehr benutzen. Da hoeren sich Midi Files an wie ein Stueck eines Zufallszahlengenerators - einfach Schrott.
    Last edited by newbiefan; 24-01-2009 at 09:06.
    Alle HowTo's, all howto's

    RT-N16 1.9.2.7-rtn-r3121, Samba, VSFTP, Lightthpd, PHP, Perl, MySQL, Serendipity, Aria2web, HDD 640GB
    RT-N66U, 16GB MicroSD/ 2 Partitions, 2,5" HDD 1TB, running with Merlin's FW and Entware, 16 Mbit A1,
    Netgear DGND 3700V2, QNAP TS119PII 4 TB, QNAP TS209 2 TB Raid1, Backup Synology DS107+ 1 TB, HP CP1515n

  10. #10
    @newbiefan
    @MMCM

    Ich wollte mit meinem Beitrag gar keine Werbung für MS-Betriebssysteme machen, meine bescheidenen Kenntnisse stammen halt von dort und mit Linux muß ich erst besser vertraut werden.

    Mein Bestreben liegt darin, den ASUS-Router möglichst umfänglich remote im Zweitwohnsitz nutzen zu können, und dabei bei Bedarf auch Schaltvorgänge durchführen zu können. Dabei soll der Stromverbrauch möglichst gering sein - der Router mit UMTS-Datenmodem verbraucht allein etwa 11 Watt rund um die Uhr. Damit möchte ich eine Netzwerk-Kamera betreiben, Temperaturmessung (digitemp) und Schaltvorgänge durchführen.

    Mit eines USB-Steckerleiste geht das zwar - aber stromaufwändig, weil ich dann dazu auch noch einen spannungsversorgten USB-Hub brauche. Mehr als 2 Geräte konnte ich mit dem Hub bisher auch nicht betreiben (Speicherstick und Steckerleiste am oberen USB-Anschluß, Datenmodem am unteren).

    Wenn es mit dem seriellen Anschluß im ASUS nicht geht, muß ich eben über den Kameraausgang schalten, um die Steckerleiste zu vermeiden. Digitemp möchte ich über einen Pegelwandler betreiben.

    Beste Grüße an alle Helfer Gschnedl

  11. #11
    Join Date
    Jul 2007
    Location
    Austria
    Posts
    1,336
    Quote Originally Posted by gschnedl View Post
    Ich wollte mit meinem Beitrag gar keine Werbung für MS-Betriebssysteme machen, meine bescheidenen Kenntnisse stammen halt von dort und mit Linux muß ich erst besser vertraut werden.

    Beste Grüße an alle Helfer Gschnedl
    Ich habe es nicht als MS Werbung gesehen. Es ist lediglich mein Frust mit Vista. Ich sehe eben nicht ein, warum ich etwas benutzen soll, was keiner haben wollte. Mich frustriert es, wenn MS am User vorbei entwickelt und dann behauptet der User sein Schuld, weil er das OS nicht kenne. Wo bleiben denn da die Wuensche des Kunden? Wieso soll ich z.Bspl. mein suendteures Keyboard wegwerfen - nur weil sich MS einbildet, dass unheimlich viele Prozesse auf meinem schnellen PC laufen muessen, so viele bis der PC komplett ausgeastet ist und von denen der User letztendlich gar nichts hat? Es frustriert mich auch, dass ich (fast) die gesamte SW wegwerfen soll, nur weil MS sich einbildet den User zu ignorieren? Nicht umsonst haben sogar staatliche Stellen vor Vista gewarnt - ich werde es jedenfalls nie verwenden, selbst wenn XP gar nicht mehr gehen sollte. Dann eben Linux, da gibt es alles und es gibt einen besseren Support von unzaehligen Usern. Wer einmal versucht hat, bei der MS Hotline eine brauchbare Antwort auf eine etwas komplexere Frage zu bekommen wird wissen, wovon ich spreche. Alleine die ewige Warteschleife ist eine Frechheit.
    LG
    Last edited by newbiefan; 24-01-2009 at 11:45.
    Alle HowTo's, all howto's

    RT-N16 1.9.2.7-rtn-r3121, Samba, VSFTP, Lightthpd, PHP, Perl, MySQL, Serendipity, Aria2web, HDD 640GB
    RT-N66U, 16GB MicroSD/ 2 Partitions, 2,5" HDD 1TB, running with Merlin's FW and Entware, 16 Mbit A1,
    Netgear DGND 3700V2, QNAP TS119PII 4 TB, QNAP TS209 2 TB Raid1, Backup Synology DS107+ 1 TB, HP CP1515n

  12. #12
    Join Date
    Feb 2006
    Location
    Düsseldorf
    Posts
    277
    Hallo zusammen,

    ich bin noch einmal zufällig auf das Thema gekommen. Mir fällt dazu noch ein, dass es doch möglich sein sollte wie oben gewünscht die serielle Schnittstelle benutzen zu können.

    Man nimmt die Schaltung von hier:

    http://b-l-w.de/serialrelay.php



    und benutzt statt DTR oder RTS einfach die TX Leitung. Damit das ganze auch funktioniert muss noch ein Tiefpass an den Eingang (R und C parallel zu D2). Solange permanent 0xFF gesendet wird, hat nur das Start-Bits +3V.



    Wird nun permanent 0x00 gesendet, so sollten alle Bits auf +3V gehen bis auf das Stop-Bit und ggf. das Parity-Bit.

    Im Grunde genommen wäre das eine Art PWM-Steuerung des Ausgangs. Wenn die RC-Kombination richtig dimensioniert ist, so dürfte das Relais nicht flattern und müsste korrekt anziehen.

    Die Ansteuerung kann dann recht einfach über ein Script ohne Compilierung erfolgen.

    Norbert
    WL500gP Oleg 1.9.2.7-7f-pre4, WL-HDD Koppel-FW, UMTS Huawei E220, Twonky, Samba, Apache, PHP, OpenVPN

Similar Threads

  1. [How To] 2 zusätzliche interne USB Ports am WL500gP nutzbar machen
    By rj.2001 in forum German Discussion - Deutsch (DE)
    Replies: 6
    Last Post: 02-10-2008, 11:32
  2. Keine Internetverbindung mit 500gp
    By Baron1971 in forum German Discussion - Deutsch (DE)
    Replies: 5
    Last Post: 21-05-2008, 16:21
  3. 500gp - Formatierung der neuen HD geht nicht
    By Trebron in forum German Discussion - Deutsch (DE)
    Replies: 6
    Last Post: 23-04-2008, 00:21
  4. 500gp + chello
    By lhfg in forum German Discussion - Deutsch (DE)
    Replies: 3
    Last Post: 20-09-2006, 18:38

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •