Skip to content

Commit 2b2bd39

Browse files
authored
Merge pull request #672 from dastels/iot_air_sensor
Add support for Metro M4 AirLift Lite
2 parents 72b4100 + 07994ed commit 2b2bd39

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

IoT_Environment_Sensor/aio.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,19 @@
4141
class AIO(object):
4242

4343
def __init__(self):
44-
esp32_cs = DigitalInOut(board.D10)
45-
esp32_ready = DigitalInOut(board.D9)
46-
esp32_reset = DigitalInOut(board.D6)
44+
try:
45+
esp32_cs = DigitalInOut(board.ESP_CS)
46+
esp32_busy = DigitalInOut(board.ESP_BUSY)
47+
esp32_reset = DigitalInOut(board.ESP_RESET)
48+
self._onboard_esp = True
49+
except AttributeError:
50+
esp32_cs = DigitalInOut(board.D10)
51+
esp32_busy = DigitalInOut(board.D9)
52+
esp32_reset = DigitalInOut(board.D6)
53+
self._onboard_esp = False
4754

4855
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
49-
self._esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)
56+
self._esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_busy, esp32_reset)
5057

5158
if self._esp.status == adafruit_esp32spi.WL_IDLE_STATUS:
5259
logger.debug('ESP32 found and in idle mode')
@@ -55,6 +62,9 @@ def __init__(self):
5562

5663
requests.set_interface(self._esp)
5764

65+
@property
66+
def onboard_esp(self):
67+
return self._onboard_esp
5868

5969
def connect(self):
6070
logger.debug("Connecting...")

IoT_Environment_Sensor/code.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,19 @@
3030

3131
logger.debug('GPS started')
3232

33-
air_uart = busio.UART(board.A2, board.A3, baudrate=9600)
33+
aio_interface = aio.AIO()
34+
35+
if aio_interface.onboard_esp:
36+
air_uart = busio.UART(board.D5, board.D7, baudrate=9600)
37+
else:
38+
air_uart = busio.UART(board.A2, board.A3, baudrate=9600)
3439
air = air_quality.AirQualitySensor(air_uart)
3540

36-
logger.debug('Ait quality sensor started')
41+
logger.debug('Air quality sensor started')
3742

3843
i2c = busio.I2C(board.SCL, board.SDA)
3944
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
4045

41-
aio_interface = aio.AIO()
42-
4346
reading_interval = 300.0
4447
reading_time = time.monotonic()
4548

0 commit comments

Comments
 (0)