Do-It-Myself KVM?

7

Ich habe mehrere Computer (Desktops) an verschiedenen geografischen Standorten, auf die ich remote zugreifen möchte. Kommerzielle KVM-over-IP-Lösungen, die ich gefunden habe, sind teuer (jeweils mehr als 200 Euro) und die billigsten unterstützen das Ein- und Ausschalten von Geräten nicht. Ich habe einige Erfahrungen mit Mikrocontrollern und Elektronik (ich kann die Stromversorgung problemlos umschalten) und frage mich, wie ich mit dem Bau einer solchen KVM beginnen würde. Natürlich brauche ich VGA / HDMI / USB-Eingangscontroller, die ich an etwas wie Raspberry Pi anschließen kann, das den Rest der Funktionalität bietet (TCP / IP und RDP / VNC).

Welche Komponenten kann ich für ein solches Projekt verwenden? (vorzugsweise Komponenten, auf die ich meine Lötfähigkeiten anwenden kann).

Tazmanos
quelle
1
Gibt es einen Grund, für den auf dem Host ausgeführten KVM-Aspekt keine reine Softwarelösung wie VNC / RDP usw. zu verwenden und nur etwas Eingebettetes für die Leistungssteuerung zu verwenden? Ich könnte mich irren, kann mir aber keinen einfachen / billigen Weg vorstellen, um VGA / HDMI-Videoeingang in so etwas wie ein RPi zu bekommen.
PeterJ
1
Es ist unwahrscheinlich, dass Sie dies für weniger als 200 Euro tun können, es sei denn, Sie bewerten Ihre Zeit negativ.
Raketenmagnet
@PeterJ: Ich wünschte, ich könnte eine reine Softwarelösung verwenden, aber wie soll ich zB die VGA-Ausgabe von einem beliebigen Computer lesen?
Tazmanos
@Rocketmagnet: Dies wäre für mich ein Hobby- / Spaßprojekt, daher wäre die Zeit, die ich damit verbringe, von unschätzbarem Wert ... Ich bin mehr daran interessiert, die (hoffentlich nicht teuren) elektronischen Komponenten zu finden, mit denen ich dies bauen kann.
Tazmanos
2
@tazmanos, brauchen Sie es wirklich, um ein beliebiger Computer zu sein, oder wenn Sie überlegen, ob Sie Hardware anschließen müssen, können Sie die Software nicht einfach installieren? Es für Hardware unter 200 Euro zu tun wäre sicherlich möglich (Zeit zu ignorieren), aber äußerst komplex, wenn Sie zuvor noch nichts Ähnliches getan haben. Ich möchte nicht negativ klingen (versuchen zu helfen), aber es klingt wie eine Anfängerfrage und ich würde erwarten, dass Sie ein Jahr oder länger brauchen, um zu forschen / zu entwickeln. Es ist nicht wirklich ein Zusammenlöten einiger Dinge und das Sparen von Geld Projekt.
PeterJ

Antworten:

7

Ich habe an kommerziellen KVM-Einheiten gearbeitet und kann bestätigen, dass sie weit mehr als eine triviale Übung zum Entwerfen und Arbeiten sind.

Eine der Herausforderungen bei einem solchen Entwurf besteht darin, die analogen Wellenformen der VGA / SVGA / XGA / WXGA-Videosignale von einem beliebigen Computer zu erfassen und in ein digitales Format umzuwandeln, das dann im digitalen Bereich verarbeitet werden kann. Eine gute Nachricht ist, dass es Chips gibt, die diesen Job für Sie erledigen können. Eines davon stammt von analogen Geräten, die als ADV7604 bezeichnet werden . Dieser kann aus einer von vier Videoquellen auswählen und diese in drei parallele 12-Bit-Datenströme digitalisieren, jeweils einen für R, G und B. Der Teil unterstützt die Digitalisierung von bis zu 170 MHz.

Eine weitere Herausforderung beim Entwurf einer KVM-Einheit ist die Erfassung der digitalen Hochgeschwindigkeitspixelinformationen in einem Speicherpuffer, in dem sie verarbeitet werden können, bevor sie über das Netzwerk an den Remote-Standort gesendet werden. Für die Bildaufnahme und Videokomprimierung muss ein Hochleistungs-FPGA verwendet werden, das an ein SDRAM angeschlossen ist. Sie sehen, dass die Echtzeitübertragung der gesamten Videobilderinformationen über die öffentlichen Netzwerke einfach nicht praktikabel ist. Nur für Videos mit bis zu 170 MHz * 36 Bit, was einer Rohdatenrate von 6,12 Gigabit pro Sekunde entspricht. Erfolgreiche KVM-Einheiten speichern die vorherigen Videobilder und vergleichen sie dann mit dem aktuellen Videobilder und berechnen nur die Unterschiede von Bild zu Bild. Diese Unterschiede werden dann zusammen mit Synchronisierungsinformationen und erfassten Tastatur- und Maussignalen über das Netzwerk gesendet.

Da die Vorbereitung der Videodifferenzdaten sowie der Synchronisierungs- und Schlüssel- / Mausinformationen zu Paketen für den Transport über Ethernet einige spezielle Verarbeitung erfordert, muss ein spezielles Prozessorgerät für die Verbindung zwischen Ihrem FPGA und dem Netzwerk verwendet werden. Es gibt eine Reihe von Unternehmen, die diese Prozessoren als Spezialprodukte herstellen, die KVM-Hersteller in ihre KVM-Einheiten einbetten. Einige dieser Geräte enthalten möglicherweise benutzerdefinierte Logik, um das zuvor erwähnte Hochgeschwindigkeits-FPGA zu ersetzen. Es ist üblich, dass diese KVM-Prozessoren eine CPU der ARM 9-Klasse mit dedizierten speziellen DMA-Engines verwenden, um die Videodifferenzdaten von den Erfassungspuffern zum Netzwerkport zu verschieben.

KVM-Geräte erfassen Maus und Tastatur häufig als USB-Signale, die in ein geeignetes Format konvertiert werden müssen, um in die über das Netzwerk gesendeten Videodaten aufgenommen zu werden. Die Prozessoren vom Typ KVM verfügen über die USB-Anschlüsse zur Unterstützung dieser Erfassung.

Wie Sie vielleicht jetzt erkannt haben, muss die Hochleistungs-CPU im KVM-Prozessor ein gutes Stück haben, wenn Software darin eingebettet ist, sobald Sie die Aufgabe hinter sich haben, alle Hardwareteile des Designs zusammenzubringen. Bei Projekten, an denen ich gearbeitet habe, brauchte ein talentiertes Team von mehreren Softwareentwicklern ein Jahr oder länger, um die gesamte Software für eine erfolgreiche KVM zu optimieren.

Ich hoffe, dies hilft Ihnen zu erkennen, in welchen Schritten Sie sich möglicherweise befinden, wenn Sie sich auf den aufregenden Weg begeben, Ihre eigene Remote-KVM-Einheit herzustellen, um die paar hundert Dollar beim Kauf einer fertigen Einheit zu sparen. Wenn Sie sich entscheiden, auf die Designarbeit zu verzichten und am Ende zu kaufen, ist das auch in Ordnung. Darf ich vorschlagen, dass Sie das Produkt Lantronix Spider suchen und sich dieses ansehen. Dies ist eine gute IP-Typ-KVM-Einheit, die ich verwendet und mit einem anderen Produkt gebündelt habe, das ich entworfen habe. Beachten Sie, dass ich keine andere Zugehörigkeit zu Lantronix habe, als ein Benutzer / Kunde zu sein.

Michael Karas
quelle
Der elektronische Teil macht mir ein bisschen Sorgen, aber sobald sich das Signal in einem Speicherpuffer befindet, ist es nur noch wenige Schritte von der Bereitstellung mit RDP entfernt (etwas schwierig, aber unkompliziert). Zum Abspielen von Videos oder Spielen funktioniert es nicht, aber für ein paar Klicks auf einem Desktop oder einer Linux-Befehlszeile, die mein Verwendungsszenario ist, sollte es perfekt sein.
Tazmanos