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))
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
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)
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
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)
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
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
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
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))
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
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'])