Usage Examples

Basic Connection

Connect to an IPIO device and authenticate:

from ipio import IPIO
from ipio.pin_state import PinState

# Connect to IPIO device
ipio = IPIO('192.168.1.100', 'admin', 'password', 502)

Digital Output Control

Control individual outputs:

# Turn on output pin 1
ipio.set_output(1, PinState.HIGH.value)

# Turn off output pin 1
ipio.set_output(1, PinState.LOW.value)

# Pulse output pin 1
ipio.set_output(1, PinState.PULSE.value)

Bulk Output Operations

Control multiple outputs simultaneously:

# Set all 8 outputs (first 4 on, last 4 off)
ipio.set_output_as_bulk("11110000")

# Get current state of all outputs
output_states = ipio.get_output_as_bulk()

Digital Input Reading

Read input states:

# Read single input
input_state = ipio.get_input(1)

# Read all inputs
all_inputs = ipio.get_input_as_bulk()

Configuration Management

Update device configuration:

# Set device IP address
ipio.set_ip('192.168.1.101', '255.255.255.0', '192.168.1.1')

# Get current IP configuration
ip_config = ipio.get_ip()

Error Handling

Handle common exceptions:

from ipio.exceptions import *

try:
    ipio = IPIO('192.168.1.100', 'admin', 'password', 502)
    ipio.set_output(1, PinState.HIGH.value)
except WrongCredentialsException:
    print("Invalid credentials")
except NotConnectedException:
    print("Device not connected")
except Exception as e:
    print(f"Unexpected error: {e}")
finally:
    ipio.close()