esp32spi_wpa2ent_aio_post.py
1 # SPDX-FileCopyrightText: 2019 ladyada for Adafruit Industries 2 # SPDX-License-Identifier: MIT 3 4 import time 5 import board 6 import busio 7 from digitalio import DigitalInOut 8 import neopixel 9 from adafruit_esp32spi import adafruit_esp32spi 10 from adafruit_esp32spi.adafruit_esp32spi_wifimanager import ESPSPI_WiFiManager 11 12 print("ESP32 SPI WPA2 Enterprise webclient test") 13 14 # Get wifi details and more from a secrets.py file 15 try: 16 from secrets import secrets 17 except ImportError: 18 print("WiFi secrets are kept in secrets.py, please add them there!") 19 raise 20 21 # ESP32 setup 22 # If your board does define the three pins listed below, 23 # you can set the correct pins in the second block 24 try: 25 esp32_cs = DigitalInOut(board.ESP_CS) 26 esp32_ready = DigitalInOut(board.ESP_BUSY) 27 esp32_reset = DigitalInOut(board.ESP_RESET) 28 except AttributeError: 29 esp32_cs = DigitalInOut(board.D9) 30 esp32_ready = DigitalInOut(board.D10) 31 esp32_reset = DigitalInOut(board.D5) 32 33 spi = busio.SPI(board.SCK, board.MOSI, board.MISO) 34 esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) 35 """Use below for Most Boards""" 36 status_light = neopixel.NeoPixel( 37 board.NEOPIXEL, 1, brightness=0.2 38 ) # Uncomment for Most Boards 39 """Uncomment below for ItsyBitsy M4""" 40 # status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) 41 wifi = ESPSPI_WiFiManager( 42 esp, secrets, status_light, connection_type=ESPSPI_WiFiManager.ENTERPRISE 43 ) 44 45 counter = 0 46 47 while True: 48 try: 49 print("Posting data...", end="") 50 data = counter 51 feed = "test" 52 payload = {"value": data} 53 response = wifi.post( 54 "https://io.adafruit.com/api/v2/" 55 + secrets["aio_username"] 56 + "/feeds/" 57 + feed 58 + "/data", 59 json=payload, 60 headers={"X-AIO-KEY": secrets["aio_key"]}, 61 ) 62 print(response.json()) 63 response.close() 64 counter = counter + 1 65 print("OK") 66 except (ValueError, RuntimeError) as e: 67 print("Failed to get data, retrying\n", e) 68 wifi.reset() 69 continue 70 response = None 71 time.sleep(15)