J'ai eu la chance d'exécuter BNO005 sur i2C avec Raspberry Pi 3B, et j'ai trébuché, donc je vais le laisser comme un mémorandum.
Le langage utilisé est Python. L'environnement de développement a été défini selon ici. Lorsque j'ai déplacé l'échantillon officiel de ici, cela ne fonctionnait pas avec I2C tel quel.
J'ai changé le code suivant vers la ligne 30.
Befor
# Create and configure the BNO sensor connection. Make sure only ONE of the
# below 'bno = ...' lines is uncommented:
# Raspberry Pi configuration with serial UART and RST connected to GPIO 18:
bno = BNO055.BNO055(serial_port='/dev/serial0', rst=18)
# BeagleBone Black configuration with default I2C connection (SCL=P9_19, SDA=P9_20),
# and RST connected to pin P9_12:
#bno = BNO055.BNO055(rst='P9_12')
After
# Create and configure the BNO sensor connection. Make sure only ONE of the
# below 'bno = ...' lines is uncommented:
# Raspberry Pi configuration with serial UART and RST connected to GPIO 18:
bno = BNO055.BNO055(rst=18)
# BeagleBone Black configuration with default I2C connection (SCL=P9_19, SDA=P9_20),
# and RST connected to pin P9_12:
#bno = BNO055.BNO055(rst='P9_12')
Ce que j'ai fait, c'est de ne pas spécifier l'interface de communication lors de l'initialisation du BNO005. En faisant cela, I2C a été défini automatiquement.
Je l'ai trouvé en regardant la partie suivante de la bibliothèque BNO005.py.
if serial_port is not None:
# Use serial communication if serial_port name is provided.
# Open the serial port at 115200 baud, 8N1. Add a 5 second timeout
# to prevent hanging if device is disconnected.
self._serial = serial.Serial(serial_port, 115200, timeout=serial_timeout_sec,
writeTimeout=serial_timeout_sec)
else:
# Use I2C if no serial port is provided.
# Assume we're using platform's default I2C bus if none is specified.
if i2c is None:
import Adafruit_GPIO.I2C as I2C
i2c = I2C
# Save a reference to the I2C device instance for later communication.
self._i2c_device = i2c.get_i2c_device(address, **kwargs)
Même lorsque vous utilisez I2C, je voulais que vous l'écriviez dans l'explication de l'exemple de code ....
Recommended Posts