Ejemplo n.º 1
0
 def __init__(self, name, port, invert_logic):
     """Initialize the pin."""
     self._name = name or DEVICE_DEFAULT_NAME
     self._port = port
     self._invert_logic = invert_logic
     self._state = False
     rpi_gpio.setup_output(self._port)
Ejemplo n.º 2
0
async def async_setup_platform(hass,
                               config,
                               async_add_entities,
                               discovery_info=None):
    """Setup the VL53L1X ToF Sensor from ST."""
    #import smbus  # pylint: disable=import-error
    from VL53L1X2 import VL53L1X  # pylint: disable=import-error

    name = config.get(CONF_NAME)
    bus_number = config.get(CONF_I2C_BUS)
    i2c_address = config.get(CONF_I2C_ADDRESS)
    unit = LENGTH_MILLIMETERS
    # range = config.get(CONF_RANGE)
    xshut = config.get(CONF_XSHUT)

    # pulse XSHUT port and keep it HIGH
    rpi_gpio.setup_output(xshut)
    rpi_gpio.write_output(xshut, 0)
    time.sleep(0.01)
    rpi_gpio.write_output(xshut, 1)
    time.sleep(0.01)

    sensor = await hass.async_add_job(partial(VL53L1X, bus_number))

    dev = [VL53L1XSensor(sensor, name, unit, i2c_address)]

    async_add_entities(dev, True)
Ejemplo n.º 3
0
def setup_platform(hass, config, add_devices, discovery_info=None):
    """Setup the VL53L1X ToF Sensor from ST."""
    import smbus  # pylint: disable=import-error
    from VL53L1X2 import VL53L1X  # pylint: disable=import-error

    rpi_gpio.setup_output(DEFAULT_XSHUT)

    rpi_gpio.write_output(DEFAULT_XSHUT, 0)
    time.sleep(0.01)
    rpi_gpio.write_output(DEFAULT_XSHUT, 1)
    time.sleep(0.01)

    sensor_id = 1111

    tof = VL53L1X()
    tof.open()  # Initialise the i2c bus and configure the sensor
    tof.add_sensor(sensor_id, DEFAULT_I2C_ADDRESS)  # add a VL53L1X device
    tof.start_ranging(
        sensor_id,
        2)  # Start ranging, 1 = Short Range, 2 = Medium Range, 3 = Long Range

    for _ in range(0, 3):
        distance_mm = tof.get_distance(sensor_id)  # Grab the range in mm
        _LOGGER.warning("Time: {}\tVL53L1X: {} mm".format(
            datetime.utcnow().strftime("%S.%f"), distance_mm))
        time.sleep(0.01)

    tof.stop_ranging(sensor_id)
    add_devices([TofSensor()])
Ejemplo n.º 4
0
 def __init__(self, name, port, invert_logic):
     """Initialize the pin."""
     self._name = name or DEVICE_DEFAULT_NAME
     self._port = port
     self._invert_logic = invert_logic
     self._state = False
     rpi_gpio.setup_output(self._port)
     rpi_gpio.write_output(self._port, 1 if self._invert_logic else 0)
Ejemplo n.º 5
0
 def __init__(self, name, relay_pin, state_pin):
     """Initialize the garage door."""
     self._name = name
     self._state = False
     self._relay_pin = relay_pin
     self._state_pin = state_pin
     rpi_gpio.setup_output(self._relay_pin)
     rpi_gpio.setup_input(self._state_pin, 'UP')
     rpi_gpio.write_output(self._relay_pin, True)
Ejemplo n.º 6
0
 def __init__(self, name, relay_pin, state_pin, state_pull_mode,
              relay_time):
     """Initialize the cover."""
     self._name = name
     self._state = False
     self._relay_pin = relay_pin
     self._state_pin = state_pin
     self._state_pull_mode = state_pull_mode
     self._relay_time = relay_time
     rpi_gpio.setup_output(self._relay_pin)
     rpi_gpio.setup_input(self._state_pin, self._state_pull_mode)
     rpi_gpio.write_output(self._relay_pin, True)
Ejemplo n.º 7
0
 def __init__(self, name, relay_pin, state_pin, state_pull_mode,
              relay_time, invert_state, invert_relay):
     """Initialize the cover."""
     self._name = name
     self._state = False
     self._relay_pin = relay_pin
     self._state_pin = state_pin
     self._state_pull_mode = state_pull_mode
     self._relay_time = relay_time
     self._invert_state = invert_state
     self._invert_relay = invert_relay
     rpi_gpio.setup_output(self._relay_pin)
     rpi_gpio.setup_input(self._state_pin, self._state_pull_mode)
     rpi_gpio.write_output(self._relay_pin, 0 if self._invert_relay else 1)
Ejemplo n.º 8
0
 def __init__(self, name, port, invert_logic):
     self._name = name or DEVICE_DEFAULT_NAME
     self._port = port
     self._invert_logic = invert_logic
     self._state = False
     rpi_gpio.setup_output(self._port)
Ejemplo n.º 9
0
def init_tof_1(xshut):
    """XSHUT port HIGH enables the device."""
    rpi_gpio.setup_output(xshut)
    rpi_gpio.write_output(xshut, 1)
Ejemplo n.º 10
0
def init_tof_0(xshut, sensor):
    """XSHUT port LOW resets the device."""
    sensor.open()
    rpi_gpio.setup_output(xshut)
    rpi_gpio.write_output(xshut, 0)
Ejemplo n.º 11
0
def init_tof_1(xshut):
    """XSHUT port HIGH enables the device."""
    rpi_gpio.setup_output(xshut)
    rpi_gpio.write_output(xshut, 1)
Ejemplo n.º 12
0
def init_tof_0(xshut, sensor):
    """XSHUT port LOW resets the device."""
    sensor.open()
    rpi_gpio.setup_output(xshut)
    rpi_gpio.write_output(xshut, 0)