Erste Erweiterung für den DGT Centaur verfügbar

Es war ein langer Weg, aber er hat sich gelohnt! In Zusammenarbeit mit Dirk Sommerfeld freue ich mich, allen Besitzern eines DGT Centaur ein kostenloses Upgrade präsentieren zu können. Da sich die meisten Anfragen auf das Speichern von auf dem DGT Centaur gespielten Schachpartien beziehen, wurde an dieser Lösung mit Priorität gearbeitet. Wichtig war hierbei, dass jeder seinen DGT Centaur ohne großen Aufwand mit dem Upgrade erweitern kann.

DGT Centaur Entwicklung

Mit Dirk Sommerfeld bin ich bei mehreren Telefonaten verschiedene Lösungswege durchgegangen. Ganz klarer Favorit war hierbei das Speichern von Partien auf einem USB-Stick. Bei meinem Prototypen hatte ich das Speichern von Partien bereits umgesetzt, jedoch stellte sich schnell heraus, dass die Software der Verkaufsversion des DGT Centaur um Einiges anders (abgespeckter) ist, als die des DGT Centaur Prototypen.

Nun war Dirk jedoch in seinem Element. Dreh- und Angelpunkt war die auf dem DGT Centaur kodierte Datei chessgame1_2.dat. Mit viel Know How konnte diese Datei dekodiert werden.

DGT Centaur Datendatei

Dekodierter Inhalt der chessgame1_2.dat Datei

Darin enthalten ist unter anderem auch die Endstellung der zuletzt gespielten Partie. Hierbei ist es nicht relevant, ob die Partie bis zum Matt gespielt wurde. Möchte man beim Centaur eine angefangene Partie zu einem späteren Zeitpunkt fortsetzen und schaltet den DGT Centaur aus, liest der DGT Centaur u.a. diese Infos nach dem Einschalten aus der Datei heraus. Erwähnen muss ich an dieser Stelle, dass alleine für diese Dekodierung enormes Wissen an Reverse Engineering notwendig ist. Dirk Sommerfeld gehörte schon in den 90ern zur Elite. 😉

Hat Dirk einmal Blut geleckt, lässt er nicht mehr los. Es ist ihm schließlich gelungen, die bei einem DGT Centaur zuletzt gespielte Partie mit allen Zügen zu extrahieren.

DGT Centaur Partie Züge

Ausschnitt der gespeicherten Partiezüge im DGT Centaur

Mit diesen Zug-Daten ist es nun ein Leichtes, eine PGN-Datei zu erstellen und zu speichern. Wer nun denkt, dass man jetzt einfach einen USB-Stick anschließt und die PGN-Datei dort speichern kann, irrt. Bei der Verkaufsversion des DGT Centaur ist der Linux-Kernel dermaßen kastriert, dass tatsächlich nur die Operationen funktionieren, welche für den Betrieb des „normalen“ DGT Centaur notwendig sind. Einmal mehr hat sich Dirk reingenkniet, den Kernel auseinandergenommen, analysiert und alle Notwendigkeiten nachgeschossen. 😉

Bei der Analyse kam unter anderem auch zum Vorschein, dass der DGT Centaur neben der Version 3.6 auch auf die Version 3.5 der Python-Bibliothek zugreift. Interessant ist hierbei, dass beim DGT Centaur diese Version der Python-Bibliothek nicht enthalten ist, weshalb man davon ausgehen kann, dass diese beim Starten des DGT Centaur aus einem Image nachgeladen wird. Dies erklärt auch, warum es mir möglich ist, die verschlüsselten Python-Dateien im laufenden Betrieb zu unterbrechen und auf den unverschlüsselten Python-Code zuzugreifen.

Nachdem Dirk nun das Mounten und beschreiben eines USB-Sticks über den USB-Ausgang des im DGT Centaur befindlichen Raspberry Pi Zero ermöglicht hat, ging es jetzt darum, den richtigen Zeitpunkt zu finden, um die PGN zu generieren und auf den USB-Stick zu schreiben. Zunächst sollte dies dann geschehen, wenn der Anwender bei angeschlossenem USB-Stick den DGT Centaur ausschaltet. Hierbei offenbarte sich aber, dass der DGT Centaur beim Ausschalten nicht wie ein reguläres Betriebssystem herunterfährt, sondern nach ein paar Sekunden einen harten CUT macht. Durch einen Shutdown eingeleitete und auszuführende Operationen werden schlicht ignoriert und nicht bis zum Ende abgearbeitet.

Dirk hatte aber auch für dieses Problem die passende Lösung. Die PGN wird „einfach“ beim Neustart des DGT Centaur auf den USB-Stick geschrieben. 🙂

Das Resultat kann sich sehen lassen, wie Dirk in folgendem Video aufzeigt:

Kommen wir nun zu dem wichtigsten Punkt bei solchen Entwicklungen > Die Usability! Die Erweiterung sollte von Anfang an für jeden Besitzer eines DGT Centaur so einfach wie möglich umzusetzen sein. Dirk ist dies perfekt gelungen! Man benötigt nur eine SD-Karte mit 16 Gigabyte Speicher, auf welcher man das modifizierte DGT Centaur Image schreibt. Anschließend legt man den USB-Port des DGT Centaur am Gehäuse frei, verbindet einen USB-Adapter an welchem sich der USB-Stick befindet und fertig. Mehr muss man nicht machen.

Wie im Video gezeigt, kann man nun durch aus- und anschließendem Einschalten des DGT Centaur Partien auf dem USB-Stick speichern. Jede Partie wird in einer separaten, nach oben nummerierten, PGN-Datei gespeichert. Kurz wurde auch die Möglichkeit besprochen, dass man alle Partien auch einfach in eine PGN-Datei speichern könnte, aber für den Endanwender ist die weitere Bearbeitung und Verwendung einer Partie einfacher, wenn pro Partie eine separate PGN-Datei angelegt wird. So braucht man beispielsweise zum Analysieren der gespielten Partie nur die PGN-Datei ins Lichess-Analysefenster ziehen.

Eine weitere Besonderheit möchte ich an dieser Stelle nicht unerwähnt lassen. Die modifizierte DGT Centaur SD-Karte hat keine Hardware-Bindung und läuft in jedem Raspberry Pi!

Ich werde in diesem Artikel in Kürze einen kostenlosen Download-Link für das DGT-Centaur-SD-Karten-Image bereitstellen und alle DGT-Centaur-Besitzer in meiner Mod-Liste anschreiben. Das USB-Adapterkabel stelle ich jedem in der Liste als kleines Geschenk kostenlos zur Verfügung. All denjenigen, welche diesen Umbau nicht selbst vornehmen möchten, biete ich den kompletten Umbau kostenlos an. In diesem Fall bleibt dann auch die Garantie bestehen. 🙂

Update 05-06-2021:

Das Image (für DGT Centaur welche ab 2020 produziert wurden) kann über folgenden Link heruntergeladen werden:

DGT Centaur DS TS Edition V0.99 (228 Downloads)

Wichtiger Hinweis! Das Image wurde erfolgreich bei DGT Centaur Schachcomputern der Baureihe nach 2020 getestet. Für DGT Cenatur Schachcomputer, welche vor 2020 produziert wurden, werde ich in Kürze ein separates Image als Download anbieten. Die Verwendung des Images erfolgt auf eigene Gefahr. Wer zwei linke Hände hat, kann mich gerne kontaktieren und ich werde den Umbau vornehmen. In diesem Fall bleibt auch die Garantie des DGT Centaur erhalten. Noch ein Tipp! Nach dem Öffnen des DGT Centaur sollte man als Erstes das Akkukabel von der Platine trennen (einfach rausziehen) und darauf achten, dass man nicht elektrostatisch aufgeladen ist. 😉

Update 07-06-2021:

Das Image (für DGT Centaur welche bis 2020 produziert wurden) kann über folgenden Link heruntergeladen werden:

DGT Centaur DS TS Edition v0.99 für DGT Centaur vor 2020 (168 Downloads)

Hier eine kurze Erklärung, warum es zwei Images gibt. Bei den DGT Centaur Schachcomputern, welche ab 2020 hergestellt wurden, werden andere Display-Treiber verwendet. Auch gibt es diverse Unterschiede im Aufbau des Systems. Bei zukünftigen Erweiterungen wird es daher auch wieder zwei Images geben.

Zusammen mit Dirk gehen wir in Kürze dann auch die Online-Geschichte beim DGT Centaur an. Meine bereits vorhandene Umsetzung mit dem DGT Centaur Prototyp soll in die Verkaufsversion einfließen. Zwar muss hierzu muss der modifizierte Kernel nochmals erweitert werden, aber ich bin guter Dinge, dass die Umsetzung dieses Schritts mit der Kompetenz von Dirk zügig realisiert werden kann. Hierzu aber später mehr.

Bis bald

Euer Benny

43 Gedanken zu „Erste Erweiterung für den DGT Centaur verfügbar

  1. @dirk und @benny, ein riesiges Dankeschön für die Arbeit die ihr da reingesteckt habt. Ich werde jedenfalls ein super dankbarer Nutzer der Erweiterung sein. Ich warte schon gespannt auf den Download 😉

    • Hallo Jörg,

      Dirk hat bei der Umsetzung schon ordentlich KnowHow reingesteckt. Der Download kommt morgen.

      Viele Grüße

      Benny

        • Hallo Sandro,

          der Download-Link wurde bereits an einige Anwender in der Mailingliste zugesendet. Dirk und ich haben festgestellt, dass bei dem ersten Modell (das mit den Ringen) am Image ein paar Änderungen vorgenommen werden müssen. Hängt mit der Python-Version zusammen. Die wurde offenbar 2020 beim Centaur von DGT aktualisiert.

          Dirk bekommt von mir ein älteres Centaur-Modell zum Arbeiten zugesendet. Es wird dann zwei Images geben. Eines für den aktuellen Centaur und eines für den vorherigen.

          Die restlichen Anwender auf meiner Mailingliste erhalten den Download morgen per Mail. Ich muss sichergehen, dass nur Anwender welche die neue Version des Centaur besitzen, das aktuelle Image erhalten.

          Noch eine kleine Info: DGT ist über das Projekt bestens informiert. Ich stehe täglich mit den Jungs in Kontakt.

          Viele Grüße

          Benny

          • Hallo Benny,

            Das ist super, vielen Dank an alle die an diesem Projekt arbeiten.
            Beste Grüsse,
            Sandro

          • Hi Benny, I bought the new version (the one without rings) and, after seeing Dirk’s video too, I think I will be able to make the necessary changes. Could you send me the image of the Centaur? Thank you very much. Michele

          • Hello Michele,

            You’re on the list. 🙂 Check your mails in the evening.

            Regards

            Benny

  2. Pingback: Exporta tus partidas desde la DGT Centaur

  3. Hello Benny

    Please, I purchased my centaur (old one, with ring) in your shop. I asked to be added to the email list in the past.
    Could you add me to the email list and send me the link? I’d really love to have my pgn files from the centaur

    Thank you in advance and best regards

    Jose Luis

    • Hello Jose,

      I will add you to the list. As soon as Dirk has received the older DGT Centaur from me, he creates an image for this version.

      Regards

      Benny

  4. Der Download ist nun online. Wer den Umbau selbst vornimmt, sollte dies auf jeden Fall nicht mit der Brechstange machen. Das E-Ink-Display reagiert recht empfindlich bei Grobmotorik.

    Viel Spaß und Grüße

    Benny

  5. Hi all,

    I spend some time on weekend to integrate the pgn export to a 2019 version of the Centaur. I test it with an User from Australia and he confirmed that this one works now…
    The functions are the same, there is only a different Image for this Versions. I send the image today to Benny.

  6. hello Benny, after having opened the Centaur, disconnected the battery and extracted the microsd, I executed (via Raspberry Imager) the flash of the memory with the downloaded image. then, I put everything back in place. Restarting everything, however, the display seems to be stationary on the word „Let’s Play“ and I do not understand what it is doing. where did I go wrong ? Could I have specific instructions even in private? thank you very much. Michele

    • Hi Michele,

      apparently you have a DGT Centaur that was produced before 2020. Here you need a different image because the display drivers are different.

      I uploaded the image today. You can find the link in the article. It’s the second download-link.
      Regards

      Benny

    • Hi Michele,

      Thats great 🙂 Good work! DGT probably used the first Display-Driver on your device.

      Have fun with it.

      Regards

      Benny

      • I had decided to select the first image as I thought that, not seeing those ugly rings (I bought the DGT Centaur from you for this very reason in January 2021), it was a 2020 model. Instead you were right: after your post I checked the production date on the DGT motherboard where it is written 23/12/2019. So I have a display and motherboard from the end of 2019 and a chessboard without rings, let’s say the latest model. Anyway now thanks to you and Dirk we really have our Ferrari !! Italic greetings. Michele

        • Topschach has received the first new models without rings. I assume that DGT still installed hardware from the 2019 production for the first models without rings. The only difference is that the driver for controlling the display has a different version. Both models (2019 & 2020) are otherwise identical.

          Let’s see when the next expansion pack comes. 😉

          Benny

  7. Ich bin so glücklich! Hab das mit dem Speichern jetzt mal einige Tage getestet und es funktioniert tadellos. Vielen Dank an Benny und Dirk. Ihr zwei seid die Besten!

    Die Lösung ist wirklich komfortabel und um Welten besser als bei der Konkurrenz.

  8. Hallo Benny. Ich habe den Cenataur gestern umgebaut. Es funktioniert alles sehr gut. Vielen Dank. Was denkst du, ist es möglich, wenn ich den Pi gegen die WLAN Variante tausche, das Upload Script so umzuschreiben, dass ein automatischer Upload auf meine Nextcloud möglich ist?
    Viele Grüße Frank

    • Hallo Frank,

      Das System checkt beim Hochfahren, welche Hardware vorhanden ist. Hier fehlen die entsprechenden Kernelmodule bei der veröffentlichten Version. Das System wird daher nicht hochfahren. Hab noch etwas Geduld. Wir arbeiten aktuell an einer Lösung. 😉

      Gruß

      Benny

  9. hi, ich habe leider keine mail bekommen oder sie ging im spam unter … könntest du mir bitte die mail nochmals zusenden? wird es noch ein video geben, die den umbau zeigt?
    lg michael

    • Hallo Michael,

      der Umbau ist sehr einfach. Das passende Image herunterladen (ist in dem Artikel verlinkt) und anschließend ein kleines Loch bohren, um den USB-Ausgang von Außen zugänglich zu haben. Nun das Adapterkabel anschließen + USB Stick und fertig. Ab sofort wird nach dem Einschalten die zuletzt gespielte Partie auf dem USB-Stick als PGN-Datei gespeichert. Jede Partie wird in einer separaten PGN gespeichert.

      Ich schau mal, dass ich da noch ein Video mache.

      Benny

      PS:
      V2 wird bald da sein. Verbindung mit dem Internet hat über den USB Port per USB-Tethering am Smartphone geklappt. Mehr dazu in Kürze. 😉

  10. Pingback: Update: DGT Centaur - Internetverbindung mittels USB-Tethering - Schachcomputer Topschach.de

    • Hallo Friederike,

      grundsätzlich kann man sagen, dass das Vorhandensein von grauen Kreisen auf den Feldern bedeutet, dass es sich um einen DGT Centaur der ersten Generation handelt. Alle Geräte, welche Anfang 2020 bis heute verkauft wurden, haben diese Ringe nicht mehr und es handelt sich um Geräte der 2. Generation. Hier wurde auch das e-Ink-Display getauscht. Dies ist auch der Grund, weshalb es zwei verschiedene SD-Karten-Images gibt. Bei einigen wenigen Geräten welche Anfang 2020 verkauft wurden, ist das Display der ersten Geräte ebenfalls noch verbaut.

      Ob man das falsche Image verwendet erkennt man daran, dass das Display im Centaur auch nach dem Einschalten nur das DGT Logo zeigt und sich nichts verändert. In diesem Fall einfach das andere Image verwenden. Ein falsches Image zu verwenden macht dem DGT Centaur nichts aus. Sobald das richtige Image drin ist, läuft alles. 🙂

      Bei den kommenden Versionen sind übrigens keine zwei Images mehr nötig. Es wird ein Image geben, welches mit beiden Geräte-Generationen läuft. Updates werden dann auch über den USB-Port eingespielt. Man muss also auch nicht mehr die SD-Karte tauschen.

      Viele Grüße

      Benny

  11. Hi there,

    Good day from Australia ! I been trying to get the usb stick to work but for some reason it just doesnt seem to want to copy the pgn files across.

    I used the after 2020 image file for the sd card, and that works fine and I can play games on the dgt centaur. However, when I try to use the flash stick to copy the games using the restarting process, nothing gets copied. I dont even think power is going through to the stick at all from the pico usb ports ( my usb flash drive has a light when its connected).

    Also on another note , while drilling the hole I damaged the metal housing 1 of the 2 micro usb ports, but manage to bend the housing back and it fits the micro usb flash drive now. However it doesnt work on either and I dont think electricity is flowing , as my flash drive usually has a light to say its connected.

    Does it matter which of the 2 micro usb ports of the pico is used ? ( I drilled and found 2 micro usb ports side by side) , and am I missing something ?

    Appreciate your help !

    • Hi Nicholas,

      the Raspberry Pi Zero has only one USB interface. Right next to it is a power input, which supplies the Raspi with power for other purposes. A flash drive cannot be used because the necessary drivers for the controller are not available. You definitely have to use a normal USB stick.

      Benny

        • Hi Nicholas,

          you are not wrong. A normal Thumb-Drive is also called flash-drive, but there are some differences:

          https://schach.computer/wp-content/uploads/2021/07/unterschiede.jpg

          Hope this helps 🙂

          Benny

        • By the way,- the one you using should work. Please check, if you’re using the USB-Port and not the Power-Port. The new software will write a counter-script on your USB-Stick. Please follow the steps:

          1.Play a game
          2.When the game is finished, dont put the pieces to the initial position.
          3. Shut down your Centaur
          4. Start your Centaur and the Game should be on your USB Stick as a PGN-File

          Regards

          Benny

          • Hi Benny,

            Thanks. Tried your 4steps with both ports with 2 different usb sticks (both formatted to fat32) . Tested the cable use to connect the usb stick to micro usb, which works as well.

            Still cannot get the pgn file copied on the usb stick 🙁 .

            Perhaps my usb port is not working properly to begin with. Is there any way to know if the port is broken ?

            Thanks again.

            Nicholas

          • Hi Nicholas,

            Have you tried other USB sticks? I can’t imagine the problem is with the USB port. Is the counter script written on the stick?

            Benny

          • Hi Benny,

            Yes I tried other usb sticks as well. Only thing left to try is to replace the cable from Micro male to USB A female. The cable is working when I tested it out on other devices, but I will get another cable to try and report back ! Thanks !

          • Hi Nicholas,

            can you upload some photos of your setup and link it here?

            Regards

            Benny

  12. Hi Benny. Thanks for the hard work on this project.
    I have a question. I tried to swap pi zero with the zero w to avail of the WLAN capabilities but it looks like Centaur software refuse to start. Actually I noticed that it shuts down the Pi if enough privileges.

    I installed Raspbian and then moved centaur software and the mountpoint to new SD card.

    Did something changed with latest releases or I’m doing something wrong? Board was purchased in June.

    Could you help me with a previous version of the software?

    Thanks,
    Adrian

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.