#!/usr/bin/python3 import os import subprocess import re import wiringpi p = subprocess.Popen(['gpio', 'i2cdetect'],stdout=subprocess.PIPE,) #cmdout = str(p.communicate()) mcps = list() p.stdout.readline() for i in range(1,9): line = str(p.stdout.readline()).split(' ')[1:] for mcp in line: if re.search('\d\d', mcp): base = 64*i mcps.append((mcp,base)) wiringpi.wiringPiSetupGpio() for mcp in mcps: print("Setting base for MCP: ", mcp, " setting base: ", base) wiringpi.mcp23017Setup(base, int(mcp[0], 16)) for pin in range(16): wiringpi.pinMode(mcp[1], 1) wiringpi.digitalWrite(mcp[1], 1)