iic bus scripts for monitoring ethereum nodes using serial lcd displays (here: 20x4
)
- requires
python3
- requires
smbus2
andweb3
pip3 install -r requirements.txt
i2c lcd drivers are provided in ./i2c
asusming you are on linux:
- connect your i2c lcd display as per spec.
- install
i2c-tools
system package. - add/load the
i2c-dev
kernel module.
identify your i2c lcd adapter bus (here 11
or 12
):
i2cdetect -l
i2c-0 i2c i915 gmbus dpa I2C adapter
i2c-1 i2c i915 gmbus dpb I2C adapter
i2c-2 i2c i915 gmbus dpc I2C adapter
i2c-3 i2c i915 gmbus tc1 I2C adapter
i2c-4 i2c i915 gmbus tc2 I2C adapter
i2c-5 i2c i915 gmbus tc3 I2C adapter
i2c-6 i2c i915 gmbus tc4 I2C adapter
i2c-7 i2c i915 gmbus tc5 I2C adapter
i2c-8 i2c i915 gmbus tc6 I2C adapter
i2c-9 i2c AUX B/DDI B/PHY B I2C adapter
i2c-10 smbus SMBus I801 adapter at efa0 SMBus adapter
i2c-11 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-12 i2c Synopsys DesignWare I2C adapter I2C adapter
get your display's address from the bus (here 0x27
):
i2cdetect -y -r 11
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
add these values to your script:
bus = 11
address = 0x27
lcd = lcd.display(address, bus)
see demo.py to get started.
see geth.py or lodestar.py to have a fully functioning script for a 20x4 lcd.
license: gplv3
due to upstream compatibilities. the demo scripts in the root directory are released into the public domain.
drivers adapted from: