IoT Chess

12
IoT Chess Lars Gregori, 19.10.2014 Intel® IoT Roadshow Munich

description

Intel Galileo acts as a chess client: read the chess figures position (NFC tags) and send the positions into the cloud. An Intel Edison reads the positions, calculates the best move (with Stockfish) and write the result back to the cloud. The Intel Galileo reads the bestmove result and shows it.

Transcript of IoT Chess

Page 1: IoT Chess

IoT Chess Lars Gregori, 19.10.2014

Intel® IoT Roadshow Munich

Page 2: IoT Chess
Page 3: IoT Chess

N={“d”, 4}

Page 4: IoT Chess
Page 5: IoT Chess
Page 6: IoT Chess

universal chess interface (UCI)

• position [fen <fenstring> | startpos ] moves <move1> .... <movei>

• go – depth <x>

– nodes <x>

– movetime <x>

– infinite

– …

Page 7: IoT Chess
Page 8: IoT Chess

stockfish bench

Galileo Gen 2 =========================== Total time (ms) : 689366 Nodes searched : 7328585 Nodes/second : 10630 Edison =========================== Total time (ms) : 86494 Nodes searched : 7328585 Nodes/second : 84729

i7 (Release) =========================== Total time (ms) : 4546 Nodes searched : 7328585 Nodes/second : 1612095 BeagleBone Black Rev. B =========================== Total time (ms) : 66319 Nodes searched : 7804908 Nodes/second : 117687

Page 9: IoT Chess
Page 10: IoT Chess

Demo

• Edison (Chess server)

– stockfish ../../redis-cli -h 192.168.2.97 set bestmove "`cat test2 | ./stockfish | grep bestmove.*`"

• Galileo (Chess client)

– redis

– LCD: ./lcd2 "`redis-cli get bestmove`"

Page 11: IoT Chess

Stockfish data

position fen 3Q4/5q1k/4ppp1/2Kp1N1B/RR6/3P1r2/4nP1b/3b4 w - -

go movetime 2000

Page 12: IoT Chess

Thank you

+LarsGregori @choas