def observe(self):
     with busio.I2C(board.SCL, board.SDA) as i2c:
         self.data["uv"] = Sensor.VEML6070(i2c).uv_raw
         self.data["time"] = datetime.fromtimestamp(
             datetime.now().timestamp(), tz=timezone.utc)
         for i in self.data:
             logger.debug(f'outcome: {self.data[i]}, short_name: {i}')
Exemple #2
0
 def __init__(self, channel, tca=None, precision=3):
     if tca:
         channel = tca[channel]
     # favor precision
     device = adafruit_veml6070.VEML6070(channel, "VEML6070_4_T")
     self.device = device
     self.precision = precision
     # output is unitless, 'light intensity' - 0-9999
     self.accepted_units = ["intensity"]
Exemple #3
0
    def read(self, SIO):
        try:
            if self.sens is None:
                i2c = busio.I2C(board.SCL, board.SDA)
                self.sens = adafruit_veml6070.VEML6070(i2c, 'VEML6070_4_T')

            self.t = time.time()
            #self.sens.wake()
            self.UV = self.sens.uv_raw * 0.25
            #self.sens.sleep()
            print(self.UV)

        except:
            traceback.print_exc()
            self.sens = None
            return

        SIO.log_readout(self.UV_id, self.UV, self.t)
# VEML6070 Driver Example Code

import time
import busio
import board
import adafruit_veml6070

with busio.I2C(board.SCL, board.SDA) as i2c:
    uv = adafruit_veml6070.VEML6070(i2c)
    # Alternative constructors with parameters
    #uv = adafruit_veml6070.VEML6070(i2c, 'VEML6070_1_T')
    #uv = adafruit_veml6070.VEML6070(i2c, 'VEML6070_HALF_T', True)

    # take 10 readings
    for j in range(10):
        uv_raw = uv.uv_raw
        risk_level = uv.get_index(uv_raw)
        print('Reading: {0} | Risk Level: {1}'.format(uv_raw, risk_level))
        time.sleep(1)
 def __init__(self):
     i2c = busio.I2C(board.SCL, board.SDA)
     self.uv = adafruit_veml6070.VEML6070(i2c)
Exemple #6
0
import typer

import adafruit_tca9548a
import adafruit_veml6070
import board
import busio

# Initialize I2C bus and sensor.
i2c = busio.I2C(board.SCL, board.SDA)

# mux
tca2 = adafruit_tca9548a.TCA9548A(i2c, address=0x72)

# each sensor
uv_sensor = adafruit_veml6070.VEML6070(tca2[4])


def main(num: int = 100):
    for i in range(num):
        try:
            uv = uv_sensor.uv_raw
        except OSError:
            uv = None

        print(f"uv. {uv: 0.3f}")
        time.sleep(1.0)


if __name__ == "__main__":
    typer.run(main)