The first step in using I2C is to import the module and choose the I2C bus to be used. This operation does not open the device file.
from i2c import I2C i2c_device = I2C(bus = 1)
The read function should be used to read data from an I2C device. It takes two arguments: the I2C address of the slave device and the number of bytes to read.
slave_address = 0x51 num_read = 20 # Number of bytes to read data = i2c_device.read(device = slave_address, count = num_read)
The write function should be used to write to an I2C device. The function takes two arguments:
- The I2C address of the slave device
- The data to be sent - The data must be formatted as a string or a list
The function returns two items:
- A boolean indicating success (True), or failure (False)
- An echo of the data that was written
String Command Example:
slave_address = 0x51 command = "SUP:RES NOW\x0a" # String command success,written_command = i2c_device.write(device = slave_address, data = command)
List Command Example:
slave_address = 0x51 command = [0x53,0x55,0x50,0x3a,0x52,0x45,0x53,0x20,0x4e,0x4f,0x57,0x0a] success,written_command = i2c_device.write(device = slave_address, data = command)