Parallele Schnitstelle unter Linux

Die parallele Schnittstelle ist zwar bei den meisten Computern heutzutage ausgestorben, allerdings benötigt man trotzdem manchmal (z.B. wenn man aus älteren Komponenten einen Homeserver bastelt) noch ein kleines (Linux-) Programm, um einzelne Ports aus- und einschalten zu können.
Sowas hab ich vor langer Zeit einmal im Internet gefunden und nach meinen Bedürfnissen modifiziert.
Da es nun aber bei den grossen Suchmachinen nicht mehr auffindbar ist, hab ich es hier nochmal hochgeladen :

Parport_CTRL

Meine Anpassungen :

Verzicht aus das /tmp Verzeichnis. Der momentane Status der Ausgänge, die nicht verändert werden sollen, wird vom Auspangsport zurückgelesen. Dadurch gibt es nach dem Booten keine bösen Überraschungen durch vorher gespeicherte Zustände.
Auch die 5 Eingänge können eingelesen werden.

Was noch fehlt :
Ansteuerung der 4? restlichen Ausgänge.

NetIO Board

Hab mir 2 solcher Bausätze gekauft. Mit einem davon überwache ich die analogen Temperaturfühler meiner Heizung. Der zweite ist ein Testsystem, um auch hin-&wieder einmal eine andere Firmware auspzuprobieren.

Wenn man den Bausatz kauft, dann sollte man beachten, dass mit den Original Bauteilen ein Betrieb an z.B. 12Volt eine ziemliche Energieverschwendung ist; der Spannungsregler müsste gut gekühlt werden.
Viel besser ist es, die Platine direkt mit 5Volt zu versorgen.
Dafür muss der Bausatz aber ein bischen anders zusammen gebaut werden:
Anstelle der Gleichrichterdioden kommen 2Drahtbrücken rein.
Den 7805 lässt man weg; wird auch gebrückt.
Die Vorwiderstände für die Leuchtdioden sollte man wesentlich grösser machen.
Die Power LED kann man auch ganz weglassen.
Den MAX232 und die Kondensatoren drum herum braucht man natürlich nur, wenn die serielle Schnittstelle auch benutzt werden soll. siehe :
Sigis NetIO Bestückungsplan
Sollen die Analogeingänge noch genau messen, dann ist es von Vorteil, die 3,3Volt Versorgung anstelle der 5Volt als Referenzspannung zu verwenden bzw. sogar eine extra Spannungsquelle.
(In meinem Fall erspare ich mir dadurch auch noch eine extra verstärkung der eingangsspannungen, ansonsten wären die 10 Bit Auflösung einfach zu wenig)

Ich erzeuge damit z.B. folgende Grafik von meiner Heiung :
Screenshot_HeizungsAnlageMitKombiofenHolzUndPellets

Beispiel einer anderen Heizungsanlage mit Solar :
Screenshot_HeizungsAnlageHolzUndSolar

TP-Link TL-WR741ND Netzwerk WLAN Router (150Mb)

Hab ich mit OpenWRT geflasht(12.09).

Dient bei mir zur Erweiterung meines Netzes. (Ist als Client beim Hauptrouter eingebucht, und stellt selber ein zweites WLAN am gleichen Kanal, mit anderer ESSID, eigenes Netz mit eigenem DHCP zur Verfügung. Mulit-ESSID müsste das heissen)
Ausserdem hab ich an der seriellen Schnittstelle einen 8051 Prozessor angeschlossen, der ein 2zeiliges 20stelliges LCDisplay ansteuert.
Da ich am LC auch die Uhrzeit anzeige, habe ich nach einer Möglichkeit gesucht, die Schleife auch weniger als eine Sekunde warten lassen zu können. Per default geht das mit OpenWRT (bzw. den Abgespeckten BusyBox Kommandos) nicht.
Die Lösung könnte aber wohl nicht einfacher sein; dafür gibts extra Pakete :
opkg install coreutils-sleep coreutils-date
Dann kann man auch – ganz einfach – warten, bis jeweils eine Sekunde gerade vergangen ist:
/usr/bin/sleep $(/usr/bin/date +%N | cut -b1-3 | awk {‚if($1<=1000) printf("0.%03d\n",1000-$1);else printf("0.5\n");'}) Die Uhr läuft dann schön gleichmässig. image
image
image


Inside TP-Link TL-WR741ND :

image
image

Der Router hat aber noch eine Besonderheit :
Der integrierte Switch bedient NUR die 4 LAN Ports; der WAN Port ist ein eigenes Ethernet interface und kann somit NICHT zum LAN Switch hinzugefügt werden.
Wenn man das brauch, wäre es evtl denkbar, den Port in die Software Bridge hinzuzufügen. Müsste man aber ausprobieren, wie stark das die CPU belastet.