I am trying to run the Bookreader2.py files on the BrickPi3, but I can't. Please Help!

#1

Hello Everyone,

I recently purchased a BrickPi3 from Dexter Industries. I am currently trying to run the Bookreader2 python files which can be found in the GitHub links. Unfortunately, the BrickPi3 doesn’t seem to be able to run the programs. Why is this?

The first line of the arm_test.py file is ‘from BrickPi import *’. When I run the file it says ‘inappropriate ioctl’. I changed it to ‘from brickpi3 import *’ and it works now, but it says

‘PORT_A is not defined’ at “roller = PORT_A”.

I changed that to the ‘roller = 0*01’ and it works. I think this is because of the class BrickPi3(object) that is in the brickpi3.py file, which says that PORT_A and PORT_B (Ports MA and MB on the physical BrickPI3) are

PORT_A = 001
PORT_B = 0
02.

Then it says "module BrickPi.Setup() is not defined’. What kind of modifications do I need to make to run the Bookreader2 files without any errors?

I have done some research and have seen that the BrickPi3 is very similar to BrickPi+(BrickPi2), except that it is faster. One major difference is that the API is different, which means that there needs to be a lot of modification to run BrickPi+ files on BrickPi3. Is this true?

In addition, the yellow led is not flashing at all. All Dexter Industry sites say that the led has to flash once per second if it is working properly and the voltage is adequate. When I ran the troubleshoot, the log.txt appeared within a few milliseconds and says ‘No SPI Response’. Should I be worried about this?

Thank you for your time.

#2

The Bookreader 2 project was designed for the BrickPi/BrickPi+, not the BrickPi3.

The API for the BrickPi3 is indeed significantly different from the BrickPi/BrickPi+ API.

Make sure the BrickPi3 software is up to date by running this command:
curl -kL dexterindustries.com/update_brickpi3 | bash
and then restart the RPi by running this command
sudo reboot

When the BrickPi3 is connected to the RPi, and the RPi is running with the BrickPi3 software installed, the yellow LED on the BrickPi3 (next to the power jack) should be flashing. If it’s not, try updating the firmware following the instructions here.