Hard KeyMapper mit Android (RaspberryPi 3)

Update 23.04.2018: Arduino Board Reset behoben, um die Firmware zu schreiben

Wie man sehen kann, habe ich zwei Hardware basierte Key Mapper in den letzten 5 Jahren (2013, 2015) mit Arduino + USB Host Shield gebaut, um ein PC oder Apple Keyboard mit meinem Mac zu verwenden. Das war nötig um die Tasten {,},[,],~,|,<,>,^,°,\,Pos1,End,Mute,VolUp,VolDn zu verwenden, so wie man es ohne den Mac gelernt hat. Zuvor hatte ich einige Softwarelösungen verwendet. Doch diese Lösungen benötigten ständig Updates, eines nach dem anderen. Nicht sehr komfortabel, weil es nicht das hier ist: Installieren und vergessen (für immer).

Nun, in 2018 habe ich ein neuen Android basierten gebaut: mit meinem eigenen AndroidThings Image V4, und meiner ThingsPiLib. Warum Android? Ich habe eine Menge mit Arduino gemacht und ich mochte es. Doch die Arduino IDE und das komplizierte Arduino-Libs Handling, sowie die limitierte Sprache C macht mich nicht glücklich. 

Außerdem, in meinen Augen macht es keinen Sinn 5 Programmiersprachen zu lernen (oder viele mehr), und sich dann mit all den Eigenarten/Limitierungen/Fehlern jeder dieser Sprachen rumzuschlagen. Das ist auch einer der Gründe warum ich meine ThingsLibs mit dem ODroid C2 und Raspberry Pi benutze. Man benötigt keine 2 Sprachen oder 3 (mit Python), um dann die verschiedenen Systeme miteinander zu verbinden (jedes mit einer unterschiedlichen Sprache). In den meisten Fällen: Linux + Arduino, oder Android + Arduino, oder Linux + Python + Arduino, … und so weiter. Das ist umständlich und nicht komfortabel. Mit dem Odroid C2 und Raspberry Pi hat man Android/Java und GPIOs. Das ist alles. Für alles.

Manchmal ist da kein nutzbares Interface was man aber benötigt (USB Keyboard Emulation oder USB Touch Emulation), dann muss man auf einen Trick zurückgreifen welchen ich mit meinem Android Gamepad TouchMapper benutzt habe oder diesen Hard KeyMapper. Um von der Arduino IDE wegzukommen lade ich das fertig nutzbare Sketch (hex Datei) von Android automatisch in das Arduino Board. Dann muß niemand mehr die Arduino IDE installieren und dort rumfummeln, sowie sich mit den Problemen rumschlagen. Für all die anderen Sachen braucht man kein Arduino mehr, weil die Android Boards mit ThingsLibs haben GPIOs und andere Sachen ebenfalls bereits eingebaut. Großartig!

Mein Motto:  Plug & Play und  “laß mich nicht nachdenken” 🙂

Ok, zurück zu dem neuen. Hier ist mein neuer Hard KeyMapper mit dem Raspberry Pi3 und Android:

 

Was man benötigt:

1 x Raspberry Pi 3
1 x Arduino Beetle oder Arduino Leonardo oder Arduino Pro Micro

 

Was man machen muss:

  1. Lade das Hard KeyMapper SDCard Image herunter, und schreibe es auf eine  8/16 GB Micro SD Card
  2. Verbinde die Raspberry Pi 3 Serial Pins mit den Arduino Board Serial Pins
    (TX -> RX, RX -> TX, GND -> GND)
  3. Verbinde ein HDMI Kabel, schalte den Raspberry Pi 3 ein und warte ~20 Sekunden

 

Arduino Board vorbereiten:

Das Arduino Board mit einem der USB Ports des Raspberry Pi 3 verbinden, dann auf die Meldung warten: “USB Stick flashed, please Remove!”


Fertig zum benutzen:

Nun trennt man das Arduino Board vom Pi USB Port und verbindet es mit seinem Computer per USB. Jetzt kann man die Tasten mit Hilfe des Raspberry Pi Screens neu zuweisen.

  • Drücke “Add Remap”
  • Nun drückt man die Taste/Kombination die man auf eine andere Taste/Kombination legen möchte
  • Jetzt drückt man die Ziel Taste/Kombination

Das war’s.

 

 

Hard KeyMapper SDCard Image  (277 MB) File: Download