Monday, December 17, 2012

AWS Turk in Java on Pi and ChessBoard.py

Forget everything I wrote about getting AWS Mechanical Turk on Raspberry Pi.

The solution is to load up Soft-float Debian “wheezy” from here, then Java SE "ARMv6/7 Linux - Headless EABI, VFP, SoftFP ABI, Little Endian" from here.

Also you may want to use raspi-config to extend your root partition to use the SD entire card. 

I loaded up the AWS MTurk Command Line tools on to my Pi, and it appears to work (so far!)

GnuChess, while a great chess engine, is too much of a memory hog to run on Raspberry Pi, even with the command line controls to reduce the memory usage. There are some simpler chess program (such as Micro-Max which is ~2000 lines of C), however since I really only need to validate chess moves and update a chess board for my Chess Playing AWS Mechanical Turk, I decided to use ChessBoard which is a Python-based chess board and move validator. The public methods of ChessBoard.py are described here.

For example, below we create a new board, enter a valid move "e4", and an invalid move "a1":

>>> from ChessBoard import * >>> chessboard=ChessBoard() >>> chessboard.getBoard() [['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'], ['p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'], ['R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R']] >>> chessboard.addTextMove("e4") True >>> chessboard.getBoard() [['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'], ['p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', '.', 'P', '.', '.', '.'], ['.', '.', '.', '.', '.', '.', '.', '.'], ['P', 'P', 'P', 'P', '.', 'P', 'P', 'P'], ['R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R']] >>> chessboard.addTextMove("a1") False

1 comment:

Unknown said...

ChessBoard.py works well on the Rapberry Pi with Stockfish.

I used them together with an Arduino driven chess board see:

www.chess.fortherapy.co.uk