Merge pull request #672 from dastels/iot_air_sensor
Add support for Metro M4 AirLift Lite
This commit is contained in:
commit
2b2bd39476
2 changed files with 21 additions and 8 deletions
|
|
@ -41,12 +41,19 @@ except ImportError:
|
||||||
class AIO(object):
|
class AIO(object):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
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_cs = DigitalInOut(board.D10)
|
||||||
esp32_ready = DigitalInOut(board.D9)
|
esp32_busy = DigitalInOut(board.D9)
|
||||||
esp32_reset = DigitalInOut(board.D6)
|
esp32_reset = DigitalInOut(board.D6)
|
||||||
|
self._onboard_esp = False
|
||||||
|
|
||||||
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
|
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:
|
if self._esp.status == adafruit_esp32spi.WL_IDLE_STATUS:
|
||||||
logger.debug('ESP32 found and in idle mode')
|
logger.debug('ESP32 found and in idle mode')
|
||||||
|
|
@ -55,6 +62,9 @@ class AIO(object):
|
||||||
|
|
||||||
requests.set_interface(self._esp)
|
requests.set_interface(self._esp)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def onboard_esp(self):
|
||||||
|
return self._onboard_esp
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
logger.debug("Connecting...")
|
logger.debug("Connecting...")
|
||||||
|
|
|
||||||
|
|
@ -30,16 +30,19 @@ gps_interface.begin()
|
||||||
|
|
||||||
logger.debug('GPS started')
|
logger.debug('GPS started')
|
||||||
|
|
||||||
|
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_uart = busio.UART(board.A2, board.A3, baudrate=9600)
|
||||||
air = air_quality.AirQualitySensor(air_uart)
|
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)
|
i2c = busio.I2C(board.SCL, board.SDA)
|
||||||
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
|
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
|
||||||
|
|
||||||
aio_interface = aio.AIO()
|
|
||||||
|
|
||||||
reading_interval = 300.0
|
reading_interval = 300.0
|
||||||
reading_time = time.monotonic()
|
reading_time = time.monotonic()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue