picochess v0.9d/e – Alternative Remote

Updates done in v0.9d (Alternative)

  • Bugfix with “Alternative move” see issue #239 This happened in very rare conditions. But its now solved
  • Bugfix with “update menu” & new v0.9 version numbers
  • when inside the menu playing a legal move leaves the menu now

Updates done in v0.9e (Remote)

  • Updates engines: Zurichess Luzern, Arasan 20.2.0 and Floyd v0.9. So these 3 engines are uptodate again. Also updated the elo rankings of all non-levels chess engines based on a raspberry pi3 running at one core. This rankings are shown in the webserver and also transfered to the pgn file – its only for your info – since rankings depends on a lot of factors just like “level” or any uci settings.
  • Some updates for the clock display on error situations like “fails to start an engine” or if you change the mode during a computer move is displayed.
  • Reorder Menu on “Ponder” & “Remote”. Ponder is now with wQe5 and Remote moved to wQh5 if you use the quick queen setup at start position (see below why)
  • Work in Progress for the Remote mode. The before status (<v0.9) was: It works but users have to change their port-forwarding inside their router. This is abit complex for alot of users. So i’m now began to work on a server on the internet where each picochess connects to. With this version this is already working. But right now, you can only chat with the other person who is in same chess room. No big deal! But i will continue to work on it to also allow to play a game over the internet. The old system is still working but you must now first enter any room of your choice as an extra step. Thats cause now you can’t enter a remote mode if you not connected to the picochess remote server. The remote enter system you can find in the webserver on top with the “remote” icon. When the new system is fully working, the old one will be disabled for sure.

11 Comments

  1. Hi, My name is Dennis and I am a totally new with Picochess and just bought a DGT e-board and a Raspberry Pi 3 about a month ago. I downloaded Picochess 0.83 and its working fine but I have really no idea how to update to for example 0.9e . Could I please get instructions in “baby steps” on how to do this ?? Thanks so much in advance.

    Greetings ,

    Dennis

    • Hi Denis,
      welcome in the picochess world 🙂 For updating your picochess to a newer version you need to make your raspberrypi first be connected to the internet. You can find various webpages how to setup it up. This has – at first place – nothing to do with picochess. The easiest way is to connect a standard cable to it – it prob. already work this way without alot of setup (WiFi needs more care).
      If thats working, please come back. In meantime: how good is your knowledge of linux? You need to update some files on linux to make it update (thats not hard!) and for this, you need to connect to your rasp3 with ssh (username: pi password: picochess).

      As an alternative: You can also wait a few time (i hope, it doesnt take too long) for someone providing a new image on picochess.

    • Hi Dennis,
      connect your raspberry Pi to a monitor an a keyboard.
      Start your raspberry Pi.
      Logon to your Raspberry Pi:
      Username: pi
      Password: picochess

      Enable Wifi:
      sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
      & add
      network={
      ssid=”your-network-name”
      psk=”your-secret-password”
      }

      CTRL+X, Y, Enter

      Sudo reboot

      After the Pi starts up, logon (as above) and type the following commands to update software on the Pi. Each command can take several minutes to run. Answer “yes” to any prompts.

      sudo su
      sudo apt-get update
      sudo apt-get upgrade

      sudo apt-get install libssl-dev
      sudo apt-get install libffi-dev
      sudo apt-get install python3-numpy
      sudo apt-get install libportaudio2
      sudo apt-get install python3-cffi
      sudo apt-get install vorbis-tools (to enable speech for versions >= 0.79)

      Sometimes you will get the message the program is already installed. Just ignore that.

      Sudo reboot
      cd /opt/picochess
      sudo git pull origin master

      cd /opt/picochess
      sudo cp picochess.ini.example picochess.ini

      Don’t change anything in picochess.ini. When you already have a stable version you can make changes afterwards (for Example change into german). I think right now the voice output isn’t stable yet, so you shouldn’t activate that.

      cd /opt/picochess
      sudo pip3 install –upgrade -r requirements.txt
      sudo python3 ./build_engines.py

      Sudo reboot

      Just in chase, once again:
      sudo su
      sudo apt-get update
      sudo apt-get upgrade

      Sudo reboot

      Sudo nano /etc/systemd/system/picochess.service and replace -web with -w

      It should work now.
      If it works and you would like make the engines faster, then:

      Create engines.uci via:
      sudo nano /opt/picochess/engines/armv7l/engines.uci

      Edit engines.uci like this:

      ## uci-option stores options that will be passed to the engine
      ## This are possible examples – it depends on your search-engine
      [uci-option]
      Hash = 128
      Threads = 4

      Greetings,
      Jürgen

      • Hi Jürgen,

        your posting is too complex. You dont need to do it in detail since he has already a working version!
        The part with WIFI is ok. These “apt-get install ” y dont need. The picochess.ini should be ok already (perhaps need to change the update flag).
        I wouldnt ask to change the engines (uci), run build_engines …etc i guess thats too complex and you can enjoy it with standard settings too.

        Basically:
        setup wifi (if y really want it) ..picochess will run without for sure too (a cable is OK, for updating).
        edit picochess.ini to let it auto update itself. You can also do it by hand in 2 steps with this “sudo git pull” and then run “sudo pip3 install -U -r requirements.txt”.

        What i just wrote , is for sure not “baby-steps” ..but the basic path.

        Why y think, voices arent stable? Since im using “sox” i think, everything is fine.
        BTW if you update from an old version, y need to run “apt-get install sox” to have the voices speed function to work – or not change voice speed.

  2. hi Jogges,

    Everything went well untill I came to the part underneath; my remarks are in Capital letters:

    cd /opt/picochess
    sudo cp picochess.ini.example picochess.ini (IS THIS TO MAKE AN INI FILE ? )

    Don’t change anything in picochess.ini. When you already have a stable version you can make changes afterwards (for Example change into german). I think right now the voice output isn’t stable yet, so you shouldn’t activate that.
    (I DONT EVEN KNOW HOT TO GET INTO THIS INI FILE EVEN IF I WANTED TO MAKE CHANGES, IS MINE BLANK ??? )

    cd /opt/picochess
    sudo pip3 install –upgrade -r requirements.txt (IS THIS LINE CORRECT ? )
    sudo python3 ./build_engines.py ( IS IT CORRECT TO HAVE A DOT AFTER PYTHON3 IN THIS LINE ??

    Sudo reboot

    Just in chase, once again: (WHAT DO YOU MEAN JUST IN CHASE ?? DO I HAVE TO REDO THESE STEPS ?? )

    sudo su
    sudo apt-get update
    sudo apt-get upgrade

    Sudo reboot

    Sudo nano /etc/systemd/system/picochess.service and replace -web with -w (I GUESS I HAVE TO GO INTO THIS FILE AND CHANGE THE LINE, RIGHT ?? )

    It should work now.
    If it works and you would like make the engines faster, then:

    Create engines.uci via:
    sudo nano /opt/picochess/engines/armv7l/engines.uci

    Edit engines.uci like this:

    ## uci-option stores options that will be passed to the engine
    ## This are possible examples – it depends on your search-engine
    [uci-option]
    Hash = 128
    Threads = 4

  3. I got a bit further but i get an error when typing in ; sudo python3 ./build_engines.py.
    It cannot find file or directory, please help

  4. Hi Dennis,

    as i said Jogges path is not wrong – but more complex as it needs to be.

    For example, y dont need this “build_engines” which is now “build/engines” cause moved to build folder since y NOT changed yr engines. Ignore this.
    These “update/upgrade” same. They update Jessie, not picochess – Thats not wrong, but not needed NOW.
    Please also not change your engines (right now) => these uci stuff..Try to get v0.9e to work first. If you not experienced, i would suggest, y stay as close to standard as possible.

    • Hi Jürgen

      Regarding the latest version of Picochess I wonder if “pulling out engine moves” is easy to perform from an operating DGT Pi system?
      I ask because we, in a month from now, will participate in an exhibition with some industrial robots.
      As a chessplayer and as a robotic engineer I am dreaming of making one of the robots playing against humans.
      I have bought a DGT Pi with Eboard and done some research.
      If engine moves from the system playing could be transferred to the robot, then we have a robot arm playing against humans.

      As I see it there are 3 possibilities of getting the moves:
      1) Direct from the running engine (via UCI) without messing up the moves sent to the clock?!
      2) Looking into the protocol that communicates with the clock, and perhaps getting them here?!
      3) Or from the built in webserver, which shows both the game in PGN, and the computer move in ‘long-notation.’

      The last option seems to be the most simple. Long notation is closer to the robots Pick And Place world, since ex strings concerning the “from” and “to” easily could be sent to one of the the robots Ethernet ports.

      Looking forward to your response on this!

      PS: I have uploaded a video where you can see the chesplaying robot in action playing “fixed moves”. https://www.youtube.com/watch?v=B1g5cih8PDM
      PPS: The picochess project is i my opinion a little “revolution” regarding the eternal man vs machine battle….

      • Hi Ulf,
        i changed abit your text (you had too many empty lines inside) 🙂

        Picochess running with queues, and Events/watchers etc. You might take a look in talker/picotalker.py for an example (there are alot more of these).
        Esp you need to do something for this Message.COMPUTER_MOVE.

        Jürgen

Leave a Reply

Your email address will not be published.


*