def main():
    """
    Main program function
    """

    passed = True

    iopi = IOPi(0x20, False)  # new iopi object without initialisation

    # Reset to 0x00
    iopi.write_bus(0x0000)
    iopi.set_bus_direction(0xFFFF)

    # Check read_port port for low out of bounds
    try:
        iopi.read_port(-1)
        pass
    except ValueError:
        print("port low boundary check: PASSED")
        pass
    except IOError:
        passed = False
        print("I2C IOError")
    else:
        passed = False
        print("port low boundary check: FAILED")
        pass

    # Check read_port port for high out of bounds
    try:
        iopi.read_port(2)
        pass
    except ValueError:
        print("port high boundary check: PASSED")
        pass
    except IOError:
        passed = False
        print("I2C IOError")
    else:
        passed = False
        print("port high boundary check: FAILED")
        pass

    # Logic Analyser Check
    print("Logic output Started")

    iopi.read_port(0)
    iopi.read_port(1)

    print("Logic output Ended")

    if passed is False:
        print("Test Failed")
Exemple #2
0

# when receiving a mqtt message;


def on_message(client, userdata, msg):
    message = str(msg.payload)
    print(msg.topic + " " + message)


def on_publish(mosq, obj, mid):
    print("mid: " + str(mid))


# setup client
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("10.0.0.49", 1883, 60)
client.loop_start()

while True:
    sensor_data = [
        iobus1.read_port(0),
        iobus1.read_port(1),
        iobus2.read_port(0),
        iobus2.read_port(1)
    ]
    client.publish("sensor/iopi/ports", str(sensor_data))
    time.sleep(10)

############### MQTT section ##################


def on_connect(client, userdata, flags, rc):
  print("Connected with result code "+str(rc))
  client.subscribe("sensor/iopi/ports")

# when receiving a mqtt message;

def on_message(client, userdata, msg):
  message = str(msg.payload)
  print(msg.topic+" "+message)

def on_publish(mosq, obj, mid):
    print("mid: " + str(mid))

# setup client
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("10.0.0.49", 1883, 60)
client.loop_start()


while True:
  sensor_data = [iobus1.read_port(0),iobus1.read_port(1), iobus2.read_port(0),iobus2.read_port(1)]
  client.publish("sensor/iopi/ports", str(sensor_data))
  time.sleep(10)