ÄRGERN! Infrarot-Fernbedienung USB-Tastatur ohne Tasten (6 / 7 schritt)

Schritt 6: Wie funktioniert es


Übersicht

Die Grundidee ist, dass es eine 1: 1-Zuordnung zwischen einem Knopfdruck auf Ihrer Fernbedienung und eine Tastenkombination an Ihren PC gesendet. ÄRGERN! Ihre Fernbedienung lernen lehrt einfach einen Code, der eine bestimmte Tastenkombination darstellt. Sobald Sie diesen Code auf eine der Tasten der Fernbedienung programmiert haben, wird diese Taste den Code wieder zu IRK übertragen! Natürlich wird die erkennen dann schicken Sie es an den PC als USB-Tastendruck.

Da ärgern! generiert die IR-Code können sie nicht möglicherweise nicht erkennen - also ärgern! braucht nicht, eine Unmenge verschiedener IR-Fernbedienung Modelle zu unterstützen!

USB-Tastenanschläge

USB-Tastenanschläge sind an den PC gesendet mit Codes, die in der Spezifikation USB-Human Interface Gerät (HID) Nutzung Tabellen definiert. Spezifikation definiert, zum Beispiel, dass Code 0 x 04 der Buchstabe bedeutet "a". Für ein Tastaturgerät, wie IRK!, zusätzliche "Modifizierer" Codes können an den PC gesendet werden, um anzugeben, ob die GUI (aka Windows-Taste, Apple-Taste, Super-Taste), Steuerung, Alt und Shift-Tasten auch "gedrückt werden". Zum Beispiel, um einen Großbuchstaben "a" IRK senden! sendet 0x02 (d.h., die Umschalttaste gedrückt wird) und 0 x 04 (d.h., "a" gedrückt wird). Der Computer interpretiert diese Sequenz als Bedeutung Großbuchstaben "A". Unmittelbar nach dem Absenden dieser Sequenz, ärgern! senden eine "null" Abfolge von 0 x 00 und 0 x 00, um anzuzeigen, dass keine Schlüssel oder Schlüssel Modifikatoren sind derzeit gedrückt wird. Dies ist durch das USB-Protokoll sonst erforderlich, der PC wird denken Sie sind halten Sie die Tasten Shift und "A" bis es den nächsten USB-Schlüssel-Code erhält.

So können Sie sehen, dass IRK! nur muss in der Lage, "einer Fernbedienung lernen Lehren" eine Folge von 0x02 gefolgt von 0 x 04, der Buchstabe "A" vertreten sein. Wenn der Benutzer die Taste auf der Fernbedienung, IRK drückt! mit der Infrarot-Empfänger erhalten und senden Sie die 0x02 0x04-Sequenz auf dem PC, die als der Benutzer, die Taste Umschalt + A auf eine USB-Tastatur interpretiert werden.

Infrarot-Befehlsformat

ÄRGERN! erkennt nur Infrarot-Signale, die an einem bestimmten IRK gerichtet sind! Einheit. Um dies zu erreichen, ist eine Adresse Byte auch auf dem Infrarot-Weg gesendet/empfangen. Jeder Infrarot-Befehl ist eine Folge von sechs 6 Bytes wie folgt:

AA, AA', UX, UX', YY, YY "

Wo:

AA ist die Adresse Byte von 0 x 00 bis 0xFF
AA' ist das invertierte Adresse Byte (die Einsen umgewandelt zu Nullen und umgekehrt)
UX ist die Verwendungsseite (U = 0 x 0, 0xF) und für die Verwendung der Tastatur, Modifikator Nybble X (Steuerung, Alt, Shift)
UX' ist das invertierte UX-Byte
YY ist das Befehlsbyte (bei Verwendung der Tastatur, der USB-Schlüssel-Code)
YY "ist die umgekehrte Befehlsbyte

Der Grund für die Übertragung einer invertierten Kopie jedes Byte ist die Wahrscheinlichkeit zu verringern, die Störungen einen ungültigen Befehl empfangen werden verursacht hat. Zum Beispiel, Sie würde nicht wollen, Ihre Anfrage zu dieser Aufnahme "spielen" wie "Diese Aufnahme löschen" interpretiert werden, nur weil eine Fliege in diesem Augenblick den Infrarot-Signalweg unterbrochen!

Um jeden Befehl zu überprüfen, wie es empfangen, IRK! prüft, ob AA (invertiert) AA entspricht ", und die UX (invertiert) entspricht UX", und dass YY (invertiert) entspricht YY ", und dass entweder AA dieser IRK entspricht!" s-Geräteadresse oder AA entspricht 0xFF (die broadcast-Adresse). Wenn all dies wahr, dann IRK! können ziemlich sicher sein, dass es einen gültigen Befehl und darauf zu reagieren.

Infrarot-Übertragungstechnik

ÄRGERN! verwendet Pulsweitenmodulation (PWM) zum Codieren der Serie von 1 und 0, die jeden Befehl darstellen. Sie könnten umprogrammieren des Mikrocontrollers eine andere Technik wie Manchester-Codierung verwenden aber PWM funktioniert prima. Z.B., den USB-Stick "1" Taste, wenn Sie mit PWM codiert sieht aus wie das Bild oben.

Wenn das Signal "niedrig" ist, wird eine IR-Burst von Impulsen bei 38 kHz übertragen. Umgekehrt, wenn das Signal "hoch" ist stellt sie eine Zeit der Stille.

Es ist ein führender platzen für 1000 μs dann für 600 µs Stille (in Versionen von IRK! vor 2.04, war es 9400 μs und 4500 μs beziehungsweise). Dieser führenden Ausbruch wurde von älteren Infrarotempfänger Module zu "trainieren" benötigt ihre automatische Gain Control (AGC) Schaltungen damit sie bestimmen konnte, was einen normalen Signalpegel war. Heutige IR-Empfänger nicht in der Regel diese Anforderung haben, aber Ihre Fernbedienung lernen kann alt sein also ärgern! noch unterstützt.

Danach eine "1" ist als eine kurze Burst, gefolgt von einem langen Schweigen codiert, und eine '0' ist als eine kurze Burst, gefolgt von einer kurzen Pause codiert.

Broadcast-Adresse

Eine Adresse Byte 0xFF wird von allen IRK anerkannt! Geräte, die Sie erstellt haben, können. So ist es möglich, dass eine einzige Fernbedienung zum Senden eines Befehls an alle ärgern! Geräte gleichzeitig.

System-Steuerbefehle

ÄRGERN! auch unterstützt die USB-definiert "Systemsteuerung" Befehle, die namens "Schlafen", "Wake" und "Power Off". Manche USB-Tastaturen haben Schlüssel für diese Funktionen, aber sie sind nicht per se Tastaturfunktionen. Alle entsprechend programmierten USB-Gerät, z. B. IRK!, USB-System Steuerbefehle an Ihren PC es ins "Schlaf"-Modus, zum Beispiel zu Anfrage senden können. Der folgende Code ist eine Zusammenfassung der Ergebnisse der System Steuerbefehle auf meinem PC (Ihre Ergebnisse können variieren):

Power Off = CPU von der Festplatte aus, Monitor ausschalten, USB aus
Schlafen = CPU auf der Festplatte ab, Monitor ausschalten, USB auf
Erwachen bedeutet = funktioniert nicht!
Power-Schalter gedrückt = CPU von der Festplatte aus, Monitor ausschalten, USB auf

Consumer-Gerätebefehle

ÄRGERN! unterstützt die USB-definiert "Consumer-Gerät" Befehle wie "Mute", "Vol +", "Vol-", "Rechner", "Browser Home", können Sie diese Befehle steuern Sie Ihren Media-Player (Wiedergabe/Pause, stop, überspringen zurück, vorwärts springen etc.) oder starten Sie Anwendungen (Taschenrechner, Browser, Media Player usw.).

Laden Sie für eine vollständige Liste der Consumer-Gerät Befehle, die Sie verwenden können einfach das USB-Human Interface Gerät Verwendung Tabellen -Dokument. Das klingt, aber die Spezifikation kompliziert ist nicht so schwer zu lesen. Speziell, Blick auf Tabelle 17 "Verbraucher Verwendungsseite". Es spielt keine Rolle, dass IRK! die Namen dieser Befehle zeigt wie Sie blättern, keine IRK können Sie immer noch Fragen! um sie auf Ihrem USB senden sollte Host (z.B. Linux, Windows, MythTV etc.)- und der USB-Host die entsprechende Funktion ausführen.

Ein-/Ausschalter und Reset-Schalter Befehle (experimentell)

Kluge Leser werden bemerkt haben, gibt es ein Problem mit dem Versuch, IRK bekommen! "Power On" Ihr PC - weil nicht alle PCs mit USB-Geräten Stromversorgung aller Zeiten, die Verbindung mit dem Stromnetz wird ausgeschaltet und IRK! abhängig von Leistung zur Verfügung gestellt von der USB-Schnittstelle des Systems angeschlossen ist.

Eine Möglichkeit dies zu umgehen ist das IRK macht! Schaltung von "Standby" Spannung (Vsb) von der PC-Leistung liefern. VSB auf älteren Computern Lieferungen + 5V bei rund 10 mA, obwohl Sie Ihr PC ausgeschaltet haben. Neueren ATX-Netzteile liefern Vsb am 2A. Dies bedeutet, dass, wenn angetrieben von Vsb, ärgern! kann bleiben Sie wach für IR Befehle hören, solange der PC an der Steckdose angeschlossen ist. Das IRK! Schaltung sorgt für Power und Reset Tasten auf Ihrem PC, aber du musst irgendwie erschließen die Vsb-Ausgabe von PC Netzteil, get it to work. Ich weiß keine Mainboards, die einen leicht zugänglichen Header Pin für Vsb. Dies bedeutet, dass wenn Sie diese Funktion wünschen, dann musst du möglicherweise physisch der Vsb Draht von der PC-Stromversorgung unterbrochen. Der Vsb-Draht sollte die violette Leitung sein.

Beachten Sie, dass Stromversorgung IRK! von Vsb ist im Moment nicht getestet worden, sondern sollte im Prinzip funktionieren. Die Funktionen ein-/Ausschalter und Reset-Schalter funktionieren solange IRK! ist aber über USB versorgt.

In Verbindung stehende Artikel

Wandeln Sie eine ZX82 Spektrum-Tastatur in eine erweiterbare USB-Tastatur mit Arduino

Wandeln Sie eine ZX82 Spektrum-Tastatur in eine erweiterbare USB-Tastatur mit Arduino

In dieser Instructable, ich zeige Ihnen wie Konvertieren Ihrer ZX82 Spektrum-Tastatur in eine funktionell erweiterbar USB-Tastatur mit allem kompatibel USB-Anschluss aktiviert. Dieser Build ist kompakt genug, wenn Sie fertig sind, können Sie das Spek
Wiederverwendung unerwünschte Infrarot-Fernbedienung Herunterfahren und neu starten Raspberry Pi

Wiederverwendung unerwünschte Infrarot-Fernbedienung Herunterfahren und neu starten Raspberry Pi

EinführungDiese Fernbedienung im Bild verwendet, um ein Fan zu kontrollieren, bis der Lüfter funktioniert nicht mehr. Ich warf den Ventilator und die Fernbedienung gespeichert. Dies ist definitiv mein persönlicher Favorit instructable, denn es ist nü
Mini-USB-Tastatur mit einem Mikrocontroller $7

Mini-USB-Tastatur mit einem Mikrocontroller $7

Machen Sie eine Tastatur, die einen Mikrocontroller verwendet, um USB-Tastendrucke, senden die Schnittstellen mit AutoHotKey, eine Windows-Anwendung zum Erstellen von Anwendungen und Makros.AutoHotKey kann mit Ihrer ursprünglichen Tastatur ohne die N
ZX Spectrum kabelgebundene USB-Tastatur-Part 1

ZX Spectrum kabelgebundene USB-Tastatur-Part 1

In dieser Instructable zeige ich Ihnen die einfachen Schritte habe ich eine USB-Tastatur ein ZX Spectrum umzuwandeln.Ich weiß, es gibt Puristen gibt, die das hassen werden, aber wenn Ihr Motherboard irreparabel ist, dann dies eine Möglichkeit ist, de
Acorn Electron USB-Tastatur

Acorn Electron USB-Tastatur

Machen Sie eine Retro-USB-Tastatur aus einem 80er Jahre Acorn Electron Computer!Das Elektron war ein 8-Bit-Computer erstmals 1983, basierend auf dem legendären BBC Micro produziert. Obwohl es ein Budget Rechner zu Hause war, kam es mit einer anständi
Ein Arduino-Board mit einer Infrarot-Fernbedienung steuern

Ein Arduino-Board mit einer Infrarot-Fernbedienung steuern

-EinführungHallo an alle, mein Name ist Noreddine Kessa, ich bin ein Elektronik-Enthusiasten.  Ich hatte Spaß an diesem Wochenende spielen mit meinem neuen Spielzeug, Arduino ATmega328 DIY-Kit, das habe ich bei eBay, und ich würde gerne die Freude mi
Steuerung von LEDs mit einer Infrarot-Fernbedienung (TV)

Steuerung von LEDs mit einer Infrarot-Fernbedienung (TV)

Dies ist mein erster instructable. In diesem instructable zeige ich Ihnen wie on/off LED oder DC-Motoren mit Infrarot-Fernbedienung control.eSchritt 1: Komponenten(1) Infrarot-Empfänger(2) Breadbord(3) Arduino uno(4) Jumper Kabel(5) Infrarot-Fernbedi
Eine USB-Tastatur hacken

Eine USB-Tastatur hacken

wie eine USB-Tastatur oder einer Tastatur für diese Angelegenheit zu hacken. Senden Sie Eingaben in den Computer ohne einen lästigen Mikrocontroller.Schritt 1: Öffnen Sie die Tastatur Eröffnen der Fall. Sie können einen Schraubenzieher oder ein jeder
Installieren eine USB-Tastatur in einem OLPC XO-Laptop, Phase-I-

Installieren eine USB-Tastatur in einem OLPC XO-Laptop, Phase-I-

ich weiß nicht, über Sie, aber ich kann sicher sagen, Silikon aus den Ernstfall. Hier ist, wie das Gelee Graben und eine normale Tastenkappen und Federn Typ USB-Tastatur in einem OLPC XO-Laptop zu quetschen. Dies werden "phase I"--immer der Tast
Wiederverwendung unerwünschte Infrarot-Fernbedienung zur Verwendung mit XBMC/KODI auf Raspberry Pi

Wiederverwendung unerwünschte Infrarot-Fernbedienung zur Verwendung mit XBMC/KODI auf Raspberry Pi

EinführungFernsteuerung von Mediacenter ist eine wichtige Anwendung von Linux Infrared Remote Control (LIRC). Es gibt eine ganze Reihe von Tutorial wie Infrarot-Fernbedienung mit XMBC/KODI umzusetzen. Nach dem Anschluss an die hervorragende Anleitung
Beenden des Auftrags: Installation einer USB-Tastatur in einem OLPC XO-Laptop, Phase II

Beenden des Auftrags: Installation einer USB-Tastatur in einem OLPC XO-Laptop, Phase II

für einen Mann, den größten Teil seines Lebens, mit seinen Fingern in die Heimat Zeile verbunden verbracht hat, addieren dieses USB-Tastatur, die ich wirklich auf System kann einen großen Unterschied in der Bedienbarkeit des XO gemacht hat. Dies setz
Nichts mit Arduino und eine Infrarot-Fernbedienung zu steuern

Nichts mit Arduino und eine Infrarot-Fernbedienung zu steuern

Hallo, dies ist mein erster instructable und ich dachte, ich würde eine kurze Demonstration so etwas wie LED, Steuern Sie zeigen DC-Motoren und jede Menge andere Dinge mit einem Arduino und so ziemlich jede Infrarot-Fernbedienung. Das erste Mal, das
Meine USB-Tastatur Lampe

Meine USB-Tastatur Lampe

Dies ist meine persönliche Version der USB-Tastatur Lampe.
Wiederverwendung unerwünschte Infrarot-Fernbedienung zur Verwendung mit Musikspieler XMMS2

Wiederverwendung unerwünschte Infrarot-Fernbedienung zur Verwendung mit Musikspieler XMMS2

EinführungEs ist eine gute Idee, Media-Player per Infrarot Fernbedienung XMMS2 aus dem gleichen Grund, was man es mit XBMC/KODI tut. Ich kramte in meiner Box Teile und fand diese Infrarot-Fernbedienung ein Home Theater DVD-System, das ich vor vielen