Xbox-Controller und iOS 13

Die 13 ist ja bekanntlich eine Glückszahl und so ist es nicht weiter verwunderlich, das ab iOS 13 auch Xbox-Controller per Bluetooth gekoppelt und mit dem iOS-Gerät genutzt werden können.

Der Xbox-Controller kann nun unter iOS genutzt werden

Unterstützt werden hierbei alle Controller ab der Modellnummer 1708. Zum Pairing muss der Controller angeschaltet werden und anschließend die Sync-Taste auf der Rückseite gedrückt werden, bis die Statusleuchte anfängt schnell zu blinken. Auf dem iOS-Gerät sollten nun die Bluetooth-Einstellungen aktiviert werden. Dort sollte unter Andere Geräte ein Gerät mit dem Namen Xbox Wireless Controller oder ähnlich auftauchen. Nachdem der Controller in den iOS-Einstellungen ausgewählt wurde, ist das Pairing abgeschlossen und der Controller kann genutzt werden.

Bei angeschlossenem Controller werden in manchen Spielen die Steuerungsmöglichkeiten angezeigt

Zum Spielen mit dem Controller empfiehlt sich meist noch eine Halterung in welche das iPhone und der Controller eingespannt werden kann. Im Appstore finden sich eine Reihe von Spielen, welche die Steuerung mit dem Controller anbieten.

‎Graveyard Keeper
Preis: 10,99 €+
‎Stardew Valley
Preis: 8,99 €

So lassen sich z.B. die Spiele Graveyard Keeper und ‎Stardew Valley problemlos mit dem Controller spielen.

Testprogramm für den ESP8266

Beim Setup, zur Nutzung des Mikrocontrollers ESP8266, wird ab und an ein Programm benötigt um die Funktionsweise des Controllers bzw. des Flashvorgangs zu testen. Der einfachste Weg dies zu testen ist es die integrierte LED des Controllers zu nutzen. Dazu wird folgendes Programm benötigt:

void setup() {
  pinMode(2, OUTPUT)
}

void loop() {
  digitalWrite(2, LOW);   
  delay(250);            
  digitalWrite(2, HIGH);  
  delay(250);
}

Das Programm definiert PIN 2 des Controllers als Ausgang und sendet anschließend alle 250 Millisekunden ein Signal an diesen PIN. Dies führt dazu dass die eingebaute LED des Controllers in kurzen Abständen blinkt und somit das Setup und der Controller getestet werden kann.

REST-Service mittels Spring Boot aufsetzen

Sprint Boot vereinfacht das Setup eines Spring-Projektes und geht dabei nach der Methode Konvention vor Konfiguration vor. So lässt sich ein einfacher REST-Service mittels Spring Boot schnell und unkompliziert implementieren. Im ersten Schritt wird dazu mit dem Spring Initializr ein neues Projekt mit der Abhängigkeit Web angelegt.

Mit dem Spring Initializr wird ein Projekt mit der Abhängigkeit Web angelegt.

Nach dem Download des Projektes wird dieses in der IDE der Wahl (z.B. IntelliJ IDEA) geöffnet und eine Klasse mit dem Namen HelloWorldController angelegt. Die Klasse sollte im gleichen Package (in diesem Beispiel: com.example.demo) wie die DemoApplication angelegt werden und wie folgt aussehen:

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {

    @GetMapping("/hello")
    public String helloWorld(@RequestParam final String name) {
        return "Hello " + name + "!";
    }

    @GetMapping("/hello/{name}")
    public String helloWorld2(@PathVariable("name") final String name) {
        return "Hello " + name + "!";
    }
}

Über die Annotation @RestController wird dem Framework mitgeteilt das es sich bei dieser Klasse um einen Controller für die REST-API handelt. Anschließend wird die Ressource hello definiert. Diese kann über zwei Wege aufgerufen werden:

http://localhost:8080/hello?name=seeseekey
http://localhost:8080/hello/seeseekey

Bei beiden Aufrufen erscheint als Ergebnis der Text:

Hello seeseekey!

Der erste Aufruf wird auf die Methode helloWorld gemappt, während der zweite Aufruf mit dem Parameter in der URL an die Methode helloWorld2 gemappt wird. Mittels der Annotation @GetMapping wird der URL-Pfad festgelegt, auf welchen die Methode reagieren soll. Bei der ersten Methode kommt die Annotation @RequestParam zum Einsatz, welche einen gewöhnlich Parameter definiert, welcher von der eigentlichen URL abgetrennt ist. Dagegen wird mit der Annotation @PathVariable in der Methode helloWorld2 eine Variable im Pfad der eigentlichen URL definiert.

Xbox-Controller aktualisieren

Wer einen Xbox-Controller sein Eigen nennt und die Firmware des Controllers aktualisieren möchte, benötigt hierfür die App Xbox Zubehör.

Xbox Zubehör
Preis: Kostenlos

Die App muss über den Microsoft Store installiert werden. Nach der Installation sollte die App gestartet und der Xbox-Controller angeschlossen werden.

Die Xbox Zubehör App

Wenn die Firmware auf dem Controller nicht mehr die aktuellste ist, kann anschließend der Update-Vorgang über die App gestartet werden.

8Bitdo SFC30 Firmware aktualisieren

Die Firma 8Bitdo stellt eine Reihe von Controllern her. Einer dieser Controller ist eine Kopie des SNES-Controllers. Die Controller werden von 8Bitdo aktiv mit Updates versorgt. Erscheint eine neue Firmware, so muss diese auf den Controller gespielt werden. Um ein Update der Firmware durchzuführen muss die aktuelle Version der Firmware von der Webseite des Herstellers heruntergeladen werden.

Der SFC30 Controller von 8Bitdo

Anschließend wird die Update-Anwendung, welche für macOS und Windows verfügbar ist, gestartet. Der Controller selbst sollte vor dem Firmware-Update geladen sein. Ist dies der Fall, kann er in den Firmware Upgrade Modus versetzt werden. Dazu müssen die Tasten L + R + Start gleichzeitig für etwa drei Sekunden gedrückt werden. Anschließend blinken die beiden LEDs auf der Rückseite des Controllers regelmäßig. Nun kann der Controller angeschlossen werden und das Update durchgeführt werden.

Das Firmware Update läuft

Dazu muss nach einem Druck auf den USB Update-Button, die entsprechende Firmware-Datei ausgewählt werden. Anschließend wird das Update durchgeführt, welches in etwa eine bis zwei Minuten in Anspruch nimmt. Nach dem Abschluss des Updates kann die USB-Verbindung getrennt werden. Der Controller ist nun mit der neuen Version der Firmware bestückt.