DGT Pi – Neue Engines hinzufügen

Mit Stockfish besitzt der DGT Pi die absolute Spitzenengine im Schachcomputerbereich. Mittlerweile gibt es Stockfish 9 und nicht wenige Kunden fragen sich, wie sie die neue Engine in ihren DGT Pi einbinden können. Dies geht einfacher, als gedacht.

Voraussetzung für das Einbinden ist eine aktive SSH-Verbindung zum DGT Pi. Dies lässt sich am Einfachsten mittels eines RJ45-Kabels vom Router zum DGT Pi lösen.

DGT Pi RJ45

Hier wird dem DGT Pi Dank DHCP automatisch eine IP-Adresse zugewiesen, mit welcher man sich beispielsweise über das Programm Putty über den Port 22 mit dem DGT Pi verbinden kann. Die IP kann direkt am DGT Pi über das Menü System>Information>IP-Adresse angerufen werden. Mit dem Benutzernamen pi und dem Passwort picochess kann man sich nun anmelden.

Man befindet sich nun im home-Verzeichnis des Benutzers pi. Um Fehleingaben und ungewollten Veränderungen vorzubeugen, arbeiten wir zunächst in genau diesem Verzeichnis.

Um die neuste Stockfish-Version auf unseren DGT Pi zu holen, geben wir folgenden Befehl ein:

git clone https://github.com/official-stockfish/Stockfish.git

In unserem home-Verzeichnis wurde nun ein Verzeichnis namens Stockfish mit dem Unterverzeichnis src erstellt. Mit dem Befehl cd /Stockfish/src wechseln wir nun in dieses Verzeichnis und geben folgenden Befehl ein:

make build ARCH=armv7

Unser DGT Pi besitzt einen ARM7-Prozessor, weshalb wir Stockfish damit für genau diesen Prozessor kompilieren. Das kann durchaus mal ein paar Minuten dauern. Also geduldig sein. Ist die Kompilierung fertig gestellt, befindet sich nun in unserem Verzeichnis /Stockfish/src eine Datei namens stockfish. Es handelt sich hierbei um die ausführbare Engine.

Nun müssen wir diese Engine natürlich noch in das richtige Verzeichnis auf dem DGT Pi verschieben und die Konfigurationsdatei entsprechend anpassen. Dazu gehen wir folgendermaßen vor. Mit dem Befehl:

mv stockfish /opt/picochess/engines/armv7l/

verschieben wir die neue Engine in das DGT Pi Engine-Verzeichnis. Nun wechseln wir mit dem Befehl:

cd /opt/picochess/engines/armv7l/

in das Verzeichnis. Mit dem Befehl ls schauen wir kurz nach, ob die Datei stockfish in der Liste aufgeführt ist. Ist dies der Fall, können wir nun unseren alten Stockfish entfernen, welche den Namen a-stockf trägt. Dies machen wir mit dem Befehl:

rm a-stockf

Wer die Datei nicht löschen möchte, kann sie auch einfach umbenennen:

mv a-stockf old_a-stockf

Nun wollen wir die neue Stockfish-Engine stockfish einbinden.  Dies machen wir, indem wir die von uns erstellte Datei stockfish in a-stockf umbenennen:

mv stockfish a-stockf

Nun könnten wir unseren DGT Pi einfach neu starten und mit der neuen Engine spielen. Allerdings erscheint im Engine-Menü noch der Name „Stockf8“ (im Fall der DGT Pi Version 0.9). In meinem Beispiel haben wir die neuste Version Stockfish 9 kompiliert. Dies wollen wir natürlich auch im Menü sehen. Dazu ändern mir die Datei engines.ini, welche im selben Verzeichnis liegt mit dem Befehl:

sudo nano engines.ini

Im ersten Block dieser Datei befindet sich die Konfiguration von Stockfish. Um die Anzeige im Display abzuändern reicht es aus, folgende Zeilen abzuändern:

DGT Pi Stockfish 9

name = Stockfish 090218
small = stockf
medium = Stockf9
large = Stockfish9

Nun speichern wir das Ganze mit der Tastenkombination STRG+O und verlassen mit STRG+X den Editor.

 

Jetzt starten wir mit dem Befehl:

sudo reboot

den DGT Pi neu und ab sofort steht uns Stockfish 9 in der Engine-Auswahl im Menü zur Verfügung. 🙂

Ich möchte darauf hinweisen, dass diese Anleitung ein sog. Quick-Hack ist. Natürlich kann man an einigen Stellen noch mehr Veränderungen vornehmen und auch bei dem Kompiler wesentlich mehr Einstellungen vornehmen. Aber für den Hausgebrauch reicht diese Anleitung vollkommen aus. 🙂

Neue Engines lassen sich auf die gleiche Weise hinzufügen, hierzu sollte man sich allerdings die Datei README.md mit dem Befehl:

nano /opt/picochess/engines/README.md

durchlesen.

Euer Topschach Benny

 

 

Dieser Beitrag wurde unter DGT veröffentlicht. Setze ein Lesezeichen auf den Permalink.

2 Gedanken zu „DGT Pi – Neue Engines hinzufügen

  1. Hallo Thomas,

    das mit den Emulationen ist so eine Sache. Als einfache UCI lassen sich die Schröder- und Lang-Programme nicht einbinden. Hierzu müsste der Quellcode vorliegen und dann müsste man Anpassungen vornehmen und einen entsprechenden Compiler finden.

    Die einzige Möglichkeit die alten Schachcomputer-Programme auf dem DGT Pi zum Laufen zu bringen ist, als Emulation. Hierfür eignet sich der MESS Emulator für den Raspberry Pi sehr gut. Ich habe vor gut einem Jahr einige Tests durchgeführt und konnte den MMV zum Laufen bekommen. Das funktionierte aber nur über die Konsole (Shell). Es fehlt einfach an Zeit, die ganzen Sachen ins DGT Pi einzubinden. Da müsste man schon viel Fleißarbeit reinstecken. Aber möglich ist es.

    Genauso ist auch das Onlinespielen auf diversen Schachservern möglich. Server wie der ICC und FICS laufen praktisch über Telnet. Mit einfachen Befehlen wie „seek 5 0“ kann man eine 5 Minuten Blitzpartie spielen. Die Züge werden per Koordinaten wie beispielsweise „e2e4“ übermittelt. Alles läuft im Klartext ab. Genauso wie bei den Emulationen, müsste man den Output „nur“ noch in die Logik der DGT Pi Python Programme einbinden und dann würde das funktionieren.

    Ich würde mich nicht wundern, wenn Dirk (aktueller PicoChess-Programmierer) das irgendwann mal aufgreift und umsetzt. Wie gesagt, ist das eine Menge Fleißarbeit und momentan hat niemand von uns die Muse und die Zeit, das alles umzusetzen.

    Aber in Zukunft durchaus vorstellbar.

    Gruß

    Benny

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.