diff --git a/adafruit_espatcontrol/adafruit_espatcontrol_requests.py b/adafruit_espatcontrol/adafruit_espatcontrol_requests.py index 7f9381c..9d56ec0 100644 --- a/adafruit_espatcontrol/adafruit_espatcontrol_requests.py +++ b/adafruit_espatcontrol/adafruit_espatcontrol_requests.py @@ -122,7 +122,7 @@ def request(method, url, data=None, json=None, headers=None, stream=None): sock.write(b"Content-Length: %d\r\n" % len(data)) sock.write(b"\r\n") if data: - sock.write(data) + sock.write(bytes(data, 'utf-8')) line = sock.readline() #print(line) diff --git a/examples/espatcontrol_aio_post.py b/examples/espatcontrol_aio_post.py new file mode 100644 index 0000000..6f418b9 --- /dev/null +++ b/examples/espatcontrol_aio_post.py @@ -0,0 +1,68 @@ +import time +import board +import busio +from digitalio import DigitalInOut +from adafruit_espatcontrol import adafruit_espatcontrol +from adafruit_espatcontrol import adafruit_espatcontrol_requests as requests + + +# Get wifi details and more from a settings.py file +try: + from settings import settings +except ImportError: + print("WiFi settings are kept in settings.py, please add them there!") + raise + + +# With a Metro or Feather M4 +resetpin = DigitalInOut(board.D5) +rtspin = DigitalInOut(board.D9) +uart = busio.UART(board.TX, board.RX, timeout=0.1) + +# With a Particle Argon +""" +RX = board.ESP_TX +TX = board.ESP_RX +resetpin = DigitalInOut(board.ESP_WIFI_EN) +rtspin = DigitalInOut(board.ESP_CTS) +uart = busio.UART(TX, RX, timeout=0.1) +esp_boot = DigitalInOut(board.ESP_BOOT_MODE) +from digitalio import Direction +esp_boot.direction = Direction.OUTPUT +esp_boot.value = True +""" + + +esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, reset_pin=resetpin, + run_baudrate = 460800, rts_pin=rtspin, debug=True) +print("Resetting ESP module") +esp.hard_reset() +requests.set_interface(esp) + +print("Connected to AT software version", esp.get_version()) + +counter = 0 +while True: + try: + # Connect to WiFi if not already + while not esp.is_connected: + print("Connecting...") + esp.connect(settings) + print("Connected to", esp.remote_AP) + # great, lets get the data + print("Posting data...", end='') + data=counter + feed='test' + payload={'value':data} + response=requests.post( + "https://io.adafruit.com/api/v2/"+settings['aio_username']+"/feeds/"+feed+"/data", + json=payload,headers={bytes("X-AIO-KEY","utf-8"):bytes(settings['aio_key'],"utf-8")}) + print(response.json()) + response.close() + counter = counter + 1 + print("OK") + except (RuntimeError, adafruit_espatcontrol.OKError) as e: + print("Failed to get data, retrying\n", e) + continue + response = None + time.sleep(10) diff --git a/examples/espatcontrol_cheerlights.py b/examples/espatcontrol_cheerlights.py index fd308a7..13aa298 100644 --- a/examples/espatcontrol_cheerlights.py +++ b/examples/espatcontrol_cheerlights.py @@ -2,13 +2,14 @@ This example will query ThingSpeak channel 1417 "CheerLights" and display the color on a NeoPixel ring or strip """ + import gc import time import board import busio from digitalio import DigitalInOut -import adafruit_espatcontrol -import adafruit_espatcontrol_requests as requests +from adafruit_espatcontrol import adafruit_espatcontrol +from adafruit_espatcontrol import adafruit_espatcontrol_requests as requests import neopixel import adafruit_fancyled.adafruit_fancyled as fancy diff --git a/examples/espatcontrol_quoteEPD.py b/examples/espatcontrol_quoteEPD.py index 523d994..1a50493 100644 --- a/examples/espatcontrol_quoteEPD.py +++ b/examples/espatcontrol_quoteEPD.py @@ -9,7 +9,7 @@ import board import busio from digitalio import DigitalInOut -from Adafruit_CircuitPython_ESP_ATcontrol import adafruit_espatcontrol +from adafruit_espatcontrol import adafruit_espatcontrol import ujson from adafruit_epd.epd import Adafruit_EPD from adafruit_epd.il0373 import Adafruit_IL0373 diff --git a/examples/espatcontrol_settings.py b/examples/espatcontrol_settings.py index 33f3fbc..79c9fb2 100644 --- a/examples/espatcontrol_settings.py +++ b/examples/espatcontrol_settings.py @@ -6,5 +6,6 @@ 'password' : 'my password', 'timezone' : -5, # this is offset from UTC 'github_token' : 'abcdefghij0123456789', - 'aio_feed_webhook' : 'abcdefghij0123456789', + 'aio_username' : 'myusername', + 'aio_key' : 'abcdefghij0123456789', } diff --git a/examples/espatcontrol_simpletest.py b/examples/espatcontrol_simpletest.py index 74747fe..5f58d6e 100644 --- a/examples/espatcontrol_simpletest.py +++ b/examples/espatcontrol_simpletest.py @@ -2,7 +2,7 @@ import board import busio from digitalio import DigitalInOut -import adafruit_espatcontrol +from adafruit_espatcontrol import adafruit_espatcontrol # Get wifi details and more from a settings.py file try: diff --git a/examples/espatcontrol_webclient.py b/examples/espatcontrol_webclient.py index 5aebd7b..07e4b6b 100644 --- a/examples/espatcontrol_webclient.py +++ b/examples/espatcontrol_webclient.py @@ -2,8 +2,8 @@ import board import busio from digitalio import DigitalInOut -import adafruit_espatcontrol -import adafruit_espatcontrol_requests as requests +from adafruit_espatcontrol import adafruit_espatcontrol +from adafruit_espatcontrol import adafruit_espatcontrol_requests as requests # Get wifi details and more from a settings.py file try: