diff --git a/IoT_Environment_Sensor/aio.py b/IoT_Environment_Sensor/aio.py index 439b277eb..d42436431 100644 --- a/IoT_Environment_Sensor/aio.py +++ b/IoT_Environment_Sensor/aio.py @@ -41,12 +41,19 @@ except ImportError: class AIO(object): def __init__(self): - esp32_cs = DigitalInOut(board.D10) - esp32_ready = DigitalInOut(board.D9) - esp32_reset = DigitalInOut(board.D6) + try: + esp32_cs = DigitalInOut(board.ESP_CS) + esp32_busy = DigitalInOut(board.ESP_BUSY) + esp32_reset = DigitalInOut(board.ESP_RESET) + self._onboard_esp = True + except AttributeError: + esp32_cs = DigitalInOut(board.D10) + esp32_busy = DigitalInOut(board.D9) + esp32_reset = DigitalInOut(board.D6) + self._onboard_esp = False spi = busio.SPI(board.SCK, board.MOSI, board.MISO) - self._esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) + self._esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_busy, esp32_reset) if self._esp.status == adafruit_esp32spi.WL_IDLE_STATUS: logger.debug('ESP32 found and in idle mode') @@ -55,6 +62,9 @@ class AIO(object): requests.set_interface(self._esp) + @property + def onboard_esp(self): + return self._onboard_esp def connect(self): logger.debug("Connecting...") diff --git a/IoT_Environment_Sensor/code.py b/IoT_Environment_Sensor/code.py index cbb986a44..e92d95a2e 100644 --- a/IoT_Environment_Sensor/code.py +++ b/IoT_Environment_Sensor/code.py @@ -30,16 +30,19 @@ gps_interface.begin() logger.debug('GPS started') -air_uart = busio.UART(board.A2, board.A3, baudrate=9600) +aio_interface = aio.AIO() + +if aio_interface.onboard_esp: + air_uart = busio.UART(board.D5, board.D7, baudrate=9600) +else: + air_uart = busio.UART(board.A2, board.A3, baudrate=9600) air = air_quality.AirQualitySensor(air_uart) -logger.debug('Ait quality sensor started') +logger.debug('Air quality sensor started') i2c = busio.I2C(board.SCL, board.SDA) bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c) -aio_interface = aio.AIO() - reading_interval = 300.0 reading_time = time.monotonic()