Unser gesamtes Team wartete gespannt auf die Lieferung der lang erwarteten HoloLens. Sie musste über Bekannte auf der anderen Seite des Ozeans bestellt und die Fäuste gehalten werden, damit der Zoll kein Interesse an WiFi hatte, das noch nicht für Europa zertifiziert war. Anfang September kam schließlich der wertvolle ovale Koffer zu uns. Wir öffnen, laden auf, setzen den Kopf auf - hier sind sie, das Tor zur virtuellen Welt. Richtig, sie bitten um einen Pass am Gate - Sie müssen sich mit einem Passwort von Microsoft anmelden. Ja, ja, dabei kryptografisch lang, mit Sonderzeichen und in verschiedenen Registern. Während unser Pionier der virtuellen Welten, der mit einer Luftzug-Geste Luft drückte, etwas wie Opa, opa # 00FF00 ograd @!, Auf die im Weltraum schwebende Tastatur tippte, hatte der Rest Zeit, darüber nachzudenken, wie wir dieses 3D verwalten würden.Das Problem
Auf Desktops und mit einigen Vorbehalten auf Tablets und Mobiltelefonen gibt es zwei Arten von Eingabegeräten. Maus - Sie können eine Million Pixel angeben. Schnell aber ungenau. Tastatur - Drücken Sie eine oder mehrere Tasten aus einem viel kleineren Sortiment (<100), aber es funktioniert sehr zuverlässig und sogar blind. Spezielle Tasten wie Escape werden fast fehlerfrei gedrückt, Sie werden nicht verwirren.In HoloLens ist das Mausanalog der Cursorpunkt, der vor der Nase hängt. Eine Prise Luftdruck ist nicht so bequem wie ein Mausklick, aber der angeschlossene Clicker-Controller mit einer Taste hilft. Es ist einfach, die gewünschte projizierte Schaltfläche auszuwählen und den Befehl "Los geht's" zu geben, aber es gibt ernsthafte Probleme beim Abbrechen der Aktion - Escape fehlt dringend. In Galaxy Explorer ist es beispielsweise einfach, den Planeten anzuzeigen und detaillierte Informationen abzurufen. Versuche jedoch, zur Galaxienkarte zurückzukehren oder einfach den Maßstab zu ändern, ähneln stark Tänzen mit einem Tamburin, insbesondere wenn Sie die Person mit der Brille von der Seite betrachten.Microsoft empfiehlt, Sprachbefehle über Cortana zu erteilen. Haben Sie jedoch versucht, dies mit mindestens fünf Personen im selben Raum zu tun? Hallo Würfel und Open Space. Bei Verwendung mit einem Arbeitsförderer, wie in unserem Fall, stören externe Geräusche. Wenn der Benutzer auf den Bildschirm schaut, sieht er sofort die verfügbaren Schaltflächen und Hyperlinks mit der Maus, und auf der physischen Tastatur können Sie sogar die möglichen Auswahlmöglichkeiten berühren. Aber hier ist ein Mikrofon vor mir, wie kann man beim Betrachten verstehen, welche Befehle unterstützt werden? Es ist nicht einmal klar, welche Sprache er mit ihm sprechen soll, ganz zu schweigen von der Tatsache, dass unser Team international und unsere Muttersprache ist und jeder seine eigene Aussprache hat.Probleme mit der Sprachschnittstelle
Idee
So entstand die Idee, die Wii am HoloLens-Nunchak zu befestigen. Zwei hochwertige Hardware-Tasten mit Anti-Bounce-Funktion, Joystick und zukünftig die Möglichkeit, den Beschleunigungsmesser zu verwenden. Das Gerät ist kompakt, mobil, langlebig und billig. Darüber hinaus wird die Wii-Fernbedienung von Bluetooth als HID-Eingabegerät erkannt. Was könnte einfacher sein?Hier erwartete die erste Enttäuschung - für den Anschluss des Controllers von Nintendo wird nach einer PIN gefragt, die die Adresse des Geräts ist, die im Gegenteil notiert ist. Zum Beispiel hat mein Controller die Adresse 00: 1E: A9: 5D: A6: BC und ich muss irgendwie eine Zeile mit 5 Zeichen mit den Codes BC, A6,5D, A9,1E und am Ende Ende 00 eingeben. Vielleicht jemand Ich hatte Glück mit der Adresse des Controllers, aber ich hatte alle verfügbaren Adressen im Bereich der nicht druckbaren Zeichen.Nunchak liefert Daten auf dem I2C-Bus und es ist einfach, den Status der Tasten und des Beschleunigungsmessers vom Mikrocontroller abzufragen. Ich habe mich entschieden, Daten über Bluefruit EZ-Key an HoloLens zu übertragen - dies ist ein vorgefertigter HID-Tastaturcontroller, der eine beliebige Kombination von bis zu 6 gleichzeitig gedrückten Tasten senden kann.Die resultierende Architektur ist:
Arduino, wie kannst du ohne sie auskommen?
— I2C, USB HID
. Arduino, ,
Arduino Pro Mini 8MHz 3,3 . 10 , .
, HoloLens Internet Explorer Notepad … ! ! !
COM
Beim Debuggen von Code für Arduino trat er auf einen Rechen - unerwartet hörte Bluefruit auf, Codes zu senden, obwohl Bluetooth in Ordnung war und das Gerät von HoloLens immer noch als Tastatur erkannt wurde. Der Arduino Mini ist mit einem FTDI-Kabel oder einem anderen Arduino programmiert. Bei der nächsten Neugestaltung des Prototyps wurde Bluefruit nicht mit Strom versorgt. Arduino erhielt jedoch Strom vom Computer über das Programmierkabel, und das gestartete Programm übertrug die Tastencodes ehrlich. Die an den Eingang der stromlosen Karte angelegten 3,3 Volt haben den RX-Eingangspin der seriellen Schnittstelle an der Seite des Bluetooth-Moduls durchgebrannt. Und schließlich habe ich einmal einen Artikel über Easyelectronics gelesen, warum das unmöglich ist !Glücklicherweise lief es nach dem Ersetzen von Bluefruit durch ein neues wie am Schnürchen. Das Anschlussdiagramm ist sehr einfach - keine aktiven Elemente, Sie müssen nur die Stifte miteinander verbinden.
Ich ließ das Nunchak-Kabel für die Stromversorgung und löte den USB-A-Stecker. Der Arduino-Stabilisator wandelt 5 Volt von USB in 3,3 um, was die Logik von Nunchak und Bluefruit EZ-Key unterstützt. Am Ende des Kabels befand sich eine Pair-Taste von Bluetooth. Ungewöhnlich muss diese Taste gemäß den Anweisungen an den Strombus und nicht wie alle anderen Tasten bei Bluefruit an den Boden angeschlossen werden.Programmierung und Montage
Arduino — 20 , USB HID ( ) Bluetooth-. — Arduino IDE. 8 MHz, 16-, 4800 9200.

MIT-
GitHub.
Arduino Mini Bluefroot , :
Zur Isolierung zwischen den Platinen wird ein U-förmiger Einsatz aus Kunststoff hergestellt, der auch den Bildschirm des Bluetooth-Moduls vor Quetschungen schützt. Nachdem er das Kabel durchtrennt hatte, verlötete er nach der Logik des Nunchak.Im Allgemeinen wurde ein ziemlich kompaktes Design erhalten, das sogar in das native Gehäuse passte. Ich musste nur ein paar Versteifungen schneiden.Die gesamte Struktur ist vollständig. Am Ende des Kabels befinden sich ein Netzstecker und eine Bluetooth-Verbindungstaste.Einheit
Aus Sicht von HoloLens ist mein Controller eine einfache Tastatur, deren Unterstützung von Anfang an eingebaut wurde. Es werden keine externen Abhängigkeiten oder Bibliotheken von Drittanbietern benötigt.Die Richtungen des Joysticks werden zu ASDW, die Taste „Z“ zum Eingeben und „C“ zum Entkommen.if (UnityEngine.Input.GetKey(KeyCode.A))
{
...
}
if (UnityEngine.Input.GetKey(KeyCode.D))
{
...
}
Ein solcher Code lässt sich sehr bequem debuggen, indem Sie den HoloLens-Emulator auf dem Desktop ausführen. Sie können einfach die Tasten auf der Tastatur drücken, und aus Sicht der Anwendung gibt es keinen Unterschied.Das Ergebnis ist folgendes:Das Video wurde direkt von der Brille über die integrierte Mixed Reality Capture-Funktion aufgenommen. Der Quellcode für die Demo befindet sich ebenfalls auf Github.Was weiter?
Die Power Bank lässt sich leicht in die Tasche stecken und die USB-Stromversorgung verringert die Mobilität nicht wesentlich. Sie möchten jedoch ein vollständig autonomes Gerät. Ich denke daran, ein 18650-Lithium-Ionen-Gefäß und einen Micro-USB-Laderegler zu verschrauben. Arduino kann mit einer Spannung von 3,3 bis 8 Volt versorgt werden, sodass keine zusätzliche Stabilisierung erforderlich ist. Leider passt der Akku nicht mehr in das native Gehäuse, Sie müssen Ihren eigenen auf einem 3D-Drucker drucken.
Es gibt auch einen Beschleunigungsmesser im Nunchuck, den ich noch nicht benutzt habe. Im Prinzip kann damit eine Maus simuliert werden, aber wir haben noch nicht herausgefunden, wie man sie intelligent verwendet. Es ist geplant, HoloLens nicht an einem Tisch in einem ruhigen Büro zu verwenden, sondern unterwegs und in einem lauten Lagerhaus. Der Benutzer kann seine Hand nicht horizontal halten und den Controller mit präzisen Bewegungen kippen, aber deutlich erkennbare Tastendrücke sind das Richtige.Vielleicht erfindet jemand, der genial ist, ein System von Befehlen und Gesten, das für Brillen geeignet ist, aber bisher ist die Verwaltung von Tastatur und Maus etwas, das Benutzer gut verstehen und Entwickler können gut programmieren.Im Support-Forum brauchen die Leute neue Gesten und Brillen . Mal sehen, was Microsoft sonst noch erfindet.