View previous topic :: View next topic |
Author |
Message |
pieter_parker Veteran
Joined: 07 Aug 2006 Posts: 1488 Location: 127.0.0.1
|
Posted: Fri Apr 18, 2008 5:32 pm Post subject: programm fuer wenn lan aktivitaet dann signal auf com1 |
|
|
mein gehaeuse hat 2 schicke led leuchten fuer lan aktivitaet
mein mainboard hat 2 lan buchsen
an beiden lan buchsen sind die ueblichen leds fuer verbindung (gruen wenn 100 und orange wenn 1000 mbit) und eine zweite led die blinkt wenn verkehr ist
leider hat das mainboard keine pins wo ich die kabel von den gehaeuse leds anschliessen kann
klar, es ist bestimmt moeglich am board irgendwo irgendwie irgendwas anzuloeten um das signal abzugreifen - aber habe keine ruige hand fuer solche feinen loetarbeiten und die ausruestung dafuer auch nicht
ist es vielleicht moeglich mit einem programm ueber com1 (oder usb? oder ein anderer anschluss) immer ein signal zusenden wenn netzwerk verkehr ist, so das die led am gehaeuse blinkt als waere sie auf dem normalen weg angeschlossen ? |
|
Back to top |
|
|
cfreak200 n00b
Joined: 18 Feb 2007 Posts: 69 Location: /europe/germany/hessen
|
Posted: Fri Apr 18, 2008 8:22 pm Post subject: |
|
|
Das ansteuern der LED sollte das kleinere Problem sein. (Geht über ein kleines Shell-Script oder ein kleines C/C++ Programm welches das entsprechende Device in /dev ansteuert)
Das größere Probleme wäre (für mich) als User die aktivität an der Schnitstelle abzufragen. Aber es sollte dafür entsprechende Schnittstellen geben. (Gnome-System-Monitor etc. machen ja auch keine Zauberei)
Je nachdem was du an kenntnissen besitzt sollte das also recht einfach mit etwas googlen/man lesen und evtl. in anderen Code gucken machbar sein. _________________ Thinkpad - T61 - 15,4" |
|
Back to top |
|
|
cfreak200 n00b
Joined: 18 Feb 2007 Posts: 69 Location: /europe/germany/hessen
|
Posted: Fri Apr 18, 2008 9:20 pm Post subject: |
|
|
Hier mal ein kleiner Ansatz der dir evtl. schon weiter hilft:
(Das ist eines meiner ersten Bash-Scripte also noch nicht wirklich ausgereift das ganze )
Code: | #!/bin/bash
lastdata=unset
data= unset
interface="eth0"
#device="/dev/ttyS0"
lastdata="`cat /proc/net/dev | grep $interface | gawk '{print $9}'`"
data=$lastdata
while [ "1" -eq "1" ]
do
while [ $data -eq $lastdata ]
do
sleep 0.5
data="`cat /proc/net/dev | grep $interface | gawk '{print $9}'`"
done
echo 1 # > $device
lastdata=$data
done |
Du musst die Beiden Zeilen mit device auskommentieren wenn du eine Ausgabe an ein Device willst _________________ Thinkpad - T61 - 15,4" |
|
Back to top |
|
|
pieter_parker Veteran
Joined: 07 Aug 2006 Posts: 1488 Location: 127.0.0.1
|
Posted: Sat Apr 19, 2008 10:32 am Post subject: |
|
|
danke!
..
ich sehe dort nur eine zeile mit "#device=" ?
es funktioniert!!! .. er schreibt die zahl 1 untereinander wenn trafic ist, genial :D
hab es am router auch getestet, mir ist aufgefallen das wenn ich ihm ppp0 angegbe keine 1 geschrieben wird bei trafic
wenn ich ihm jedoch eth1 an dem ppp0 haengt angebe, schreibt er die 1, funktioniert nur bei anfassbaren devices?
hab schon etwas rum probiert, wenn ich den sleep wert noch kleiner macher, z.b. "sleep 0.01"
wird die zahl 1 schneller und oefters unter einander geschrieben, somit koennte die led schneller blinken ?
Code: |
1 bis 49
50 bis 99
100 bis 499
500 bis 999
1000 bis 2499
2500 bis 7499
7500 bis 9999
10000 bis 14999
15000 bis 24999
25000 bis 39999
40000 bis 64999
65000 bis 99999
|
(alle in kb/s)
was meinst du .. waere eine solche abstufung moeglich?
.. damit die led unterschiedlich schnell blinkt |
|
Back to top |
|
|
cfreak200 n00b
Joined: 18 Feb 2007 Posts: 69 Location: /europe/germany/hessen
|
Posted: Sat Apr 19, 2008 11:04 am Post subject: |
|
|
Wenn du den sleep zuklein machst, frisst das deine CPU auf....
Ich hatte die erste Version ohne Sleep gemacht und das Script hat einen CPU komplett ausgelastst (ist ja auch verständlich).
Du könntest die Differenz zwischen dem alten und dem neuen Wert nehmen und damit bestimmen wieviel gerade durch die Leitung fließt und die Pause dann je nach Leitungsbelastung anpassen. (Wie in deiner Tabelle) Dadurch würde bei mehr Traffic die LED öfter aufleuchten und bei weniger eben seltener.
Allerdings sehe ich immernoch keinen Sinn in dem ganzen geblinke
Die 2. Zeile mit "device" ist dort die Raute entfernen, dann wir das an das entsprechende Device geschrieben. _________________ Thinkpad - T61 - 15,4" |
|
Back to top |
|
|
pieter_parker Veteran
Joined: 07 Aug 2006 Posts: 1488 Location: 127.0.0.1
|
Posted: Sat Apr 19, 2008 11:34 am Post subject: |
|
|
naja .. ich mags wenn es blinkt und leuchtet
soweit ich mich zurueck errinere hab ich nie etwas mit nem com anschluss gemacht bis auf 1mal, doom2 zu dos zeiten darueber mit jemmanden gespielt
wie verbinde ich die led mit dem serielen anschluss damit sie blinkt ? |
|
Back to top |
|
|
cfreak200 n00b
Joined: 18 Feb 2007 Posts: 69 Location: /europe/germany/hessen
|
Posted: Sat Apr 19, 2008 11:41 am Post subject: |
|
|
Ich hatte mal TESTWEISE eine LED an TxD und GND (oder Gehäuse) angeschlossen. Allerdings ist das nicht wirklich eine elegante Möglichkeit.... Die Datenübertragung läuft ja seriell d.h. , dass bei einer gesendeten 1 (0x1) auch nur 1 Bit kurz aufflimmert. Der Druckerport (bei dem du jeden PIN einzelnd ansteuern) kannst ist wohl das geschicktere dafür.
Cfreak200
p.s.: Die Belegung der Schnitstelle sollte dir Google ausspucken.... _________________ Thinkpad - T61 - 15,4" |
|
Back to top |
|
|
pieter_parker Veteran
Joined: 07 Aug 2006 Posts: 1488 Location: 127.0.0.1
|
Posted: Sat Apr 19, 2008 12:07 pm Post subject: |
|
|
1 = Strobe
2 = Data 0
3 = Data 1
4 = Data 2
5 = Data 3
6 = Data 4
7 = Data 5
8 = Data 6
9 = Data 7
10 = /Ackneloge
11 = Bussy
12 = Paper out
13 = SELECT
14 = AUTOFEED
15 = /ERROR
16 = /INIT
17 = /SLCT IN
18 = Masse
19 = Masse
20 = Masse
21 = Masse
22 = Masse
23 = Masse
24 = Masse
25 = Masse
http://www.stickybit.de/wissen/computer/grundlagen/schnittstellen/schnittstellen.htm#0002
ich brauch also 1x data und 1x masse ? |
|
Back to top |
|
|
cfreak200 n00b
Joined: 18 Feb 2007 Posts: 69 Location: /europe/germany/hessen
|
Posted: Sat Apr 19, 2008 12:25 pm Post subject: |
|
|
ja. Du brauchst evtl. einen Widerstand vor der LED. Kommt drauf an was bei dir aus der parallelen Schnittstelle rauskommt. Also am besten mal ein Messgerät nehmen und schauen. _________________ Thinkpad - T61 - 15,4" |
|
Back to top |
|
|
pieter_parker Veteran
Joined: 07 Aug 2006 Posts: 1488 Location: 127.0.0.1
|
Posted: Sat Apr 19, 2008 1:45 pm Post subject: |
|
|
sollte das nicht genormt sein wieviel aus dem parallelen anschluss rauskommt? .. hab naemlich kein messgeraet zum messen da |
|
Back to top |
|
|
Cabal2002 n00b
Joined: 22 Dec 2004 Posts: 72 Location: Germany
|
Posted: Sat Apr 19, 2008 7:13 pm Post subject: |
|
|
Hi,
LED am COM Port ist auch möglich macht lirc zum Beispiel so: http://lirc.org/transmitters.html
Den DTR Pin kann man auch sauber an/aus schalten.
Gruß Cabal _________________ Close the world, txEn eht nepO. |
|
Back to top |
|
|
cfreak200 n00b
Joined: 18 Feb 2007 Posts: 69 Location: /europe/germany/hessen
|
Posted: Sat Apr 19, 2008 9:41 pm Post subject: |
|
|
Cabal2002 wrote: | Hi,
LED am COM Port ist auch möglich macht lirc zum Beispiel so: http://lirc.org/transmitters.html
Den DTR Pin kann man auch sauber an/aus schalten.
Gruß Cabal |
Dort ist ja auch die Datenübertragung gewünscht... Ich kann am COM-Port auch eine LED einen Text flimmern lassen, jedoch wirst du davon (als Mensch) nicht viel entziffern können.
pieter_parker wrote: | sollte das nicht genormt sein wieviel aus dem parallelen anschluss rauskommt? .. hab naemlich kein messgeraet zum messen da |
3 bis 12 Volt habe ich da in meiner Erinnerung irgendwann mal aufgeschnappt.... _________________ Thinkpad - T61 - 15,4" |
|
Back to top |
|
|
Cabal2002 n00b
Joined: 22 Dec 2004 Posts: 72 Location: Germany
|
Posted: Sat Apr 19, 2008 10:13 pm Post subject: |
|
|
That's not entirely accurate. DTR wird nicht zur Datenübetragung benutzt sondern signalisiert nur einen Zustand. Deswegen der Name DTR = Data Terminal Ready. Klemmt man dort eine LED an kann man diese an/ausschalten.
Code: |
while(1) {
fd = open(ttyDevice, O_RDWR | O_NOCTTY | O_NONBLOCK);
wait
close(fd);
wait
}
|
Wartet man lang genug zwischen open und close flimmert da nix. _________________ Close the world, txEn eht nepO. |
|
Back to top |
|
|
DarKRaveR Guru
Joined: 11 Oct 2003 Posts: 500 Location: Old Europe/G-Many
|
Posted: Sat Apr 19, 2008 11:14 pm Post subject: |
|
|
Allgemein möchte ich noch anmerken:
Es dürfte deutlich besser sein, wenn man nicht pollt, ob es traffic gab, sondern das ganze reaktiv auslegt. Nur wird sich das weniger mit shell scripting machen lassen, sondern eher in c, python, perl. |
|
Back to top |
|
|
pieter_parker Veteran
Joined: 07 Aug 2006 Posts: 1488 Location: 127.0.0.1
|
Posted: Thu May 01, 2008 3:17 pm Post subject: |
|
|
.. wie kann ich denn beim booten eine script datei aufrufen lassen ? |
|
Back to top |
|
|
DarKRaveR Guru
Joined: 11 Oct 2003 Posts: 500 Location: Old Europe/G-Many
|
Posted: Thu May 01, 2008 3:21 pm Post subject: |
|
|
Suchst Du nach /etc/conf.d/local.start ? Oder was genau suchst Du ? |
|
Back to top |
|
|
|