Beispiel #1
0
async def main(argv):

    # execution state from args
    short_options = "hvd"
    long_options = ["help", "verbose", "debug"]
    full_cmd_arguments = sys.argv
    argument_list = full_cmd_arguments[1:]
    try:
        arguments, values = getopt.getopt(argument_list, short_options,
                                          long_options)
    except getopt.error as err:
        print(str(err))

    for current_argument, current_value in arguments:

        if current_argument in ("-h", "--help"):
            print(
                "------------------------------------------------------------------------------------------------------------------------------------------"
            )
            print("HELP for monitor.py")
            print(
                "------------------------------------------------------------------------------------------------------------------------------------------"
            )
            print("")
            print("  BASIC PARAMETERS...")
            print("")
            print("  -h or --help - Print out this Help Information")
            print(
                "  -v or --verbose - Debug Mode with lots of Data will be Output to Assist with Debugging"
            )
            print(
                "  -d or --debug - Debug Mode with lots of DEBUG Data will be Output to Assist with Tracing and Debugging"
            )
            print(
                "------------------------------------------------------------------------------------------------------------------------------------------"
            )
            return

        if current_argument in ("-v", "--verbose"):
            Log.basicConfig(format="%(levelname)s: %(message)s",
                            level=Log.INFO)
            Log.info("Verbose Logging Mode...")
        else:
            Log.basicConfig(format="%(levelname)s: %(message)s")

        if current_argument in ("-d", "--debug"):
            Log.basicConfig(format="%(levelname)s: %(message)s",
                            level=Log.DEBUG)
            Log.info("Debug Logging Mode...")
        else:
            Log.basicConfig(format="%(levelname)s: %(message)s")

        i2c = busio.I2C(board.SCL, board.SDA)
        sensor = adafruit_am2320.AM2320(i2c)
        print("Sensor: [%s]" % sensor)
        print("Humidity: {0}%".format(sensor.relative_humidity))
        print("Temperature: {0}F".format(sensor.temperature))
Beispiel #2
0
def am2320():
    """Function initiates AM2320 sensor and returns temperature and humidity"""
    i2c = busio.I2C(
        board.SCL, board.SDA
    )  # create the I2C shared bus for AM2320 Temp/Humidity sensor.
    am = adafruit_am2320.AM2320(i2c)
    cooptemp = round(fahrenheit(am.temperature), 2)
    coophumidity = am.relative_humidity
    return cooptemp, coophumidity
Beispiel #3
0
    def __init__(self,
                 i2c_bus,
                 name="sns_th0",
                 interval=SENSOR_UPDATE_INTERVAL,
                 *args,
                 **kwargs):
        Device.__init__(self, name=name, interval=interval, *args, **kwargs)

        import adafruit_am2320
        self.sensor = adafruit_am2320.AM2320(i2c_bus)
Beispiel #4
0
    def __init__(self, i2c_bus, meas_intvl):
        #Declare an AM2320 object
        self._am = adafruit_am2320.AM2320(i2c_bus)

        self._meas_intvl = meas_intvl
        self._last_meas_time = None

        #Attributes for temperature and humidity
        self._temperature = None
        self._humidity = None
Beispiel #5
0
 def __init__(self,
              scl=board.SCL,
              sda=board.SDA,
              serial_no=None,
              channels=None,
              *args,
              **kwargs):
     self.i2c = busio.I2C(scl, sda)
     self.am2315 = adafruit_am2320.AM2320(self.i2c)
     self.type = __name__
     super().__init__(serial_no, channels, *args, **kwargs)
Beispiel #6
0
 def BuildAM23xxHumiditySensor(self, sensorType):
     # ealier version of circuit python uses this,
     # from adafruit_am2320 import AM2320DeviceNotFound
     try:
         if self.am2315 == None:
             self.am2315 = adafruit_am2320.AM2320(self.i2c)
         sensor = am2320HumiditySensor(self.am2315)
     # ealier version of circuit python uses this,
     #except AM2320DeviceNotFound :
     except ValueError:
         log.error(sensorType + " not found continue as None")
         self.am2315 = None
         sensor = None
     return sensor
Beispiel #7
0
    def check(self):
        if not HAS_AM2320:
            self.error(
                "Could not find the adafruit-circuitpython-am2320 package.")
            return False

        try:
            i2c = busio.I2C(board.SCL, board.SDA)
            self.am = adafruit_am2320.AM2320(i2c)
        except ValueError as error:
            self.error("error on creating I2C shared bus : {0}".format(error))
            return False

        return True
async def read_sensors(n_try=1, time_sleep=.5):
    results = {}
    await sleep(time_sleep)
    try:
        i2c = busio.I2C(board.SCL, board.SDA, frequency=10000)
        ads0 = ADS.ADS1115(i2c, address=const(0x48))
        ads1 = ADS.ADS1115(i2c, address=const(0x49))
        air_meter = adafruit_am2320.AM2320(i2c)
        light_meter = adafruit_bh1750.BH1750(i2c)

        soil_sensors = [AnalogIn(ads0, i) for i in range(4)]
        soil_sensors.append(AnalogIn(ads1, 0))
        for i, sensor in enumerate(soil_sensors):
            results[f'soil_sensor_{i}'] = sensor.value
        results['air_temp'] = air_meter.temperature * (9 / 5) + 32
        results['air_humidity'] = air_meter.relative_humidity
        results['light_sensor'] = light_meter.lux
    except Exception as e:
        logger.error(e)
        if n_try > 3:
            return {}
        return await read_sensors(n_try=n_try + 1)
    return results
Beispiel #9
0
import adafruit_am2320
import busio
import neopixel

pixels = neopixel.NeoPixel(board.NEOPIXEL,
                           10,
                           auto_write=False,
                           brightness=0.5)
tem = AnalogIn(board.A1)

colors = [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0),
          (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)]

# create the I2C shared bus
i2c = busio.I2C(board.SCL, board.SDA)
am = adafruit_am2320.AM2320(i2c)
switch = DigitalInOut(board.BUTTON_A)
switch.direction = Direction.INPUT
switch.pull = Pull.DOWN

Period = 1
Timer = 0
# start to count time
cycle_count = 0
# analyzing the time
current_temperature = int(am.temperature)
print("Current Temperature:", current_temperature)
StartRedValue = int(255 - (30 - current_temperature) * 30)
StartBlueValue = int((30 - current_temperature) * 30)
if (StartBlueValue <= 1): StartBlueValue = 1
if (StartBlueValue >= 254): StartBlueValue = 254
Beispiel #10
0
import board
import busio
import adafruit_am2320
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_am2320.AM2320(i2c)
print('Humidity = {0} % Temperature = {1}'.format(sensor.relative_humidity,
                                                  sensor.temperature))
Beispiel #11
0
 def __init__(self):
     self.stage = 0
     self.temperature = -100.0
     self.humidity = -100.0
     self.i2c = busio.I2C(board.SCL, board.SDA)
     self.am2320 = adafruit_am2320.AM2320(self.i2c)
    def __init__(self, Log):
      self.logger = Log

      # Load configuration
      self.config = []
      self.load_config()

      # --------------------------------------------------------
      # Smoothing Value
      # --------------------------------------------------------
      self.smoothing_value = 1

      # --------------------------------------------------------
      # Worker Variables for Current Temp & Humidity
      # --------------------------------------------------------
      self.Temperature = 0.0
      self.Humidity = 0.0

      # --------------------------------------------------------
      # Payload Variable Names for Current Temp & Humidity
      # --------------------------------------------------------
      self.TemperatureMapName = "temperature"
      self.HumidityMapName = "humidity"

      # --------------------------------------------------------
      # Worker Variables for last Read Temp
      # --------------------------------------------------------
      self.LastTemperature = 0.0
      self.LastHumidity = 0.0

      # --------------------------------------------------------
      # Setup the GPIO BCM Variables for Status
      # --------------------------------------------------------
      self.RedPin = self.config["Status"]["Pins"]["Red"]
      self.GreenPin = self.config["Status"]["Pins"]["Green"]
      self.BluePin = self.config["Status"]["Pins"]["Blue"]
      self.RedColor = 1
      self.GreenColor = 2
      self.BlueColor = 3

      # Telemetry Mapping
      self.interfaces_instances = {}
      self.capabilities_instances = {}

      # meta
      self.application_uri = None
      self.namespace = None
      self.device_capability_model_id = None
      self.device_capability_model = []
      self.device_name_prefix = None
      self.ignore_interface_ids = []

      # Device Information
      self.device_cache = {}
      self.load_devicecache()

      # Azure Device
      self.device_client = None

      # Objects for i2c
      self.i2c = busio.I2C(board.SCL, board.SDA)
      self.sensor = adafruit_am2320.AM2320(self.i2c)

      # Serial
      self.serial_emulator = SerialEmulator(Log)
      self.serial_emulator_port = None
      
      # Pub Sub
      self.listener = Listener()
      self.subscribed_payload = None
Beispiel #13
0
 def _connect_to_hardware(self):
     import board
     import busio
     import adafruit_am2320
     self.i2c = busio.I2C(board.SCL, board.SDA)
     self.sensor = adafruit_am2320.AM2320(self.i2c)
import time
import datetime
import board
import busio
import adafruit_am2320
import adafruit_tca9548a
from w1thermsensor import W1ThermSensor

firebase = firebase.FirebaseApplication('https://seniorproject-muic.firebaseio.com/', None)

sensor = W1ThermSensor()

i2c = busio.I2C(board.SCL, board.SDA)
tca = adafruit_tca9548a.TCA9548A(i2c)

am0 = adafruit_am2320.AM2320(tca[6]) #r b
am1 = adafruit_am2320.AM2320(tca[1]) #r f
am2 = adafruit_am2320.AM2320(tca[2]) #l f
am3 = adafruit_am2320.AM2320(tca[5]) #l b

mostrecentKeyID = 0
mostrecentTimestamp = 0
temp = []
humid = []

try:
    myGetResults = firebase.get('/sensor/am2320(new)/average', None)
    
    for keyID in myGetResults:
        if int(myGetResults[keyID]['Index'] > mostrecentTimestamp):
            mostrecentTimestamp = int(myGetResults[keyID]['Index'])