diff --git a/adafruit_io/adafruit_io.py b/adafruit_io/adafruit_io.py index ef7c97a..4be2bed 100755 --- a/adafruit_io/adafruit_io.py +++ b/adafruit_io/adafruit_io.py @@ -133,14 +133,20 @@ def _delete(self, path): return response.json() # Data - def send_data(self, feed_key, data, metadata=None): + def send_data(self, feed_key, data, metadata=None, precision=None): """ Sends value data to a specified Adafruit IO feed. :param str feed_key: Adafruit IO feed key :param str data: Data to send to the Adafruit IO feed :param dict metadata: Optional metadata associated with the data + :param int precision: Optional amount of precision points to send with floating point data """ path = self._compose_path("feeds/{0}/data".format(feed_key)) + if precision: + try: + data = round(data, precision) + except NotImplementedError: # received a non-float value + raise NotImplementedError('Precision requires a floating point value') payload = self._create_data(data, metadata) self._post(path, payload) diff --git a/examples/adafruit_io_simpletest_analog_in.py b/examples/adafruit_io_simpletest_analog_in.py index b14c034..b44bd02 100644 --- a/examples/adafruit_io_simpletest_analog_in.py +++ b/examples/adafruit_io_simpletest_analog_in.py @@ -9,6 +9,9 @@ from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager from analogio import AnalogIn +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient, AdafruitIO_RequestError @@ -28,7 +31,11 @@ esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # ESP32 Setup @@ -37,7 +44,8 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_data.py b/examples/adafruit_io_simpletest_data.py index 7c1e8b6..78908f5 100644 --- a/examples/adafruit_io_simpletest_data.py +++ b/examples/adafruit_io_simpletest_data.py @@ -9,6 +9,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient, AdafruitIO_RequestError @@ -25,17 +28,21 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_digital_out.py b/examples/adafruit_io_simpletest_digital_out.py index c2bd52d..57e3e61 100644 --- a/examples/adafruit_io_simpletest_digital_out.py +++ b/examples/adafruit_io_simpletest_digital_out.py @@ -10,6 +10,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient, AdafruitIO_RequestError @@ -26,17 +29,21 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_feeds.py b/examples/adafruit_io_simpletest_feeds.py index 6b95437..ae2e502 100644 --- a/examples/adafruit_io_simpletest_feeds.py +++ b/examples/adafruit_io_simpletest_feeds.py @@ -8,6 +8,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient @@ -24,17 +27,21 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_groups.py b/examples/adafruit_io_simpletest_groups.py index 17c8ed4..dcdb8f1 100644 --- a/examples/adafruit_io_simpletest_groups.py +++ b/examples/adafruit_io_simpletest_groups.py @@ -8,6 +8,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient @@ -18,24 +21,27 @@ print("WiFi secrets are kept in secrets.py, please add them there!") raise - # ESP32 Setup esp32_cs = DigitalInOut(board.D9) esp32_ready = DigitalInOut(board.D10) esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_metadata.py b/examples/adafruit_io_simpletest_metadata.py index 03d22df..6145f4c 100644 --- a/examples/adafruit_io_simpletest_metadata.py +++ b/examples/adafruit_io_simpletest_metadata.py @@ -9,6 +9,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient, AdafruitIO_RequestError @@ -25,17 +28,21 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_randomizer.py b/examples/adafruit_io_simpletest_randomizer.py index ff383de..7010fa7 100644 --- a/examples/adafruit_io_simpletest_randomizer.py +++ b/examples/adafruit_io_simpletest_randomizer.py @@ -10,6 +10,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient @@ -26,17 +29,21 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_temperature.py b/examples/adafruit_io_simpletest_temperature.py index cececec..63f8c5f 100644 --- a/examples/adafruit_io_simpletest_temperature.py +++ b/examples/adafruit_io_simpletest_temperature.py @@ -14,6 +14,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient, AdafruitIO_RequestError @@ -33,17 +36,21 @@ esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py diff --git a/examples/adafruit_io_simpletest_weather.py b/examples/adafruit_io_simpletest_weather.py index 7d0cfa7..3b9ac82 100644 --- a/examples/adafruit_io_simpletest_weather.py +++ b/examples/adafruit_io_simpletest_weather.py @@ -11,6 +11,9 @@ # ESP32 SPI from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager +# Import NeoPixel Library +import neopixel + # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient @@ -21,24 +24,27 @@ print("WiFi secrets are kept in secrets.py, please add them there!") raise - # ESP32 Setup esp32_cs = DigitalInOut(board.D9) esp32_ready = DigitalInOut(board.D10) esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +"""Use below for Most Boards""" +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +"""Uncomment below for ItsyBitsy M4""" +#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # PyPortal ESP32 Setup -import microcontroller -esp32_cs = DigitalInOut(microcontroller.pin.PB14) -esp32_ready = DigitalInOut(microcontroller.pin.PB16) -esp32_reset = DigitalInOut(microcontroller.pin.PB17) +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, board.NEOPIXEL) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) """ # Set your Adafruit IO Username and Key in secrets.py