Skip to content

Commit 2632f96

Browse files
authored
Merge pull request #31 from jerryneedell/jerryn_update
update to use adafruit_requests
2 parents b39acdb + 42c55fd commit 2632f96

11 files changed

+35
-273
lines changed

adafruit_espatcontrol/adafruit_espatcontrol.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ class ESP_ATcontrol:
7070
MODE_SOFTAP = 2
7171
MODE_SOFTAPSTATION = 3
7272
TYPE_TCP = "TCP"
73+
TCP_MODE = "TCP"
7374
TYPE_UDP = "UDP"
7475
TYPE_SSL = "SSL"
76+
TLS_MODE = "SSL"
7577
STATUS_APCONNECTED = 2
7678
STATUS_SOCKETOPEN = 3
7779
STATUS_SOCKETCLOSED = 4

adafruit_espatcontrol/adafruit_espatcontrol_requests.py

Lines changed: 0 additions & 189 deletions
This file was deleted.

adafruit_espatcontrol/adafruit_espatcontrol_socket.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None):
3131
if type != SOCK_STREAM:
3232
raise RuntimeError("Only SOCK_STREAM type supported")
3333
self._buffer = b''
34+
self.settimeout(0)
3435

3536
def connect(self, address, conntype=None):
3637
"""Connect the socket to the 'address' (which should be dotted quad IP). 'conntype'
@@ -40,7 +41,8 @@ def connect(self, address, conntype=None):
4041
raise RuntimeError("Failed to connect to host", host)
4142
self._buffer = b''
4243

43-
def write(self, data): # pylint: disable=no-self-use
44+
45+
def send(self, data): # pylint: disable=no-self-use
4446
"""Send some data to the socket"""
4547
_the_interface.socket_send(data)
4648

@@ -53,12 +55,12 @@ def readline(self):
5355
firstline, self._buffer = self._buffer.split(b'\r\n', 1)
5456
return firstline
5557

56-
def read(self, num=0):
58+
def recv(self, num=0):
5759
"""Read up to 'num' bytes from the socket, this may be buffered internally!
5860
If 'num' isnt specified, return everything in the buffer."""
5961
if num == 0:
6062
# read as much as we can
61-
ret = self._buffer + _the_interface.socket_receive(timeout=1)
63+
ret = self._buffer + _the_interface.socket_receive(timeout=self._timeout)
6264
self._buffer = b''
6365
else:
6466
ret = self._buffer[:num]
@@ -68,6 +70,11 @@ def read(self, num=0):
6870
def close(self):
6971
"""Close the socket, after reading whatever remains"""
7072
# read whatever's left
71-
self._buffer = self._buffer + _the_interface.socket_receive(timeout=1)
73+
self._buffer = self._buffer + _the_interface.socket_receive(timeout=self._timeout)
7274
_the_interface.socket_disconnect()
75+
76+
def settimeout(self, value):
77+
"""Set the read timeout for sockets, if value is 0 it will block"""
78+
self._timeout = value
79+
7380
# pylint: enable=unused-argument, redefined-builtin, invalid-name

adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131

3232
# pylint: disable=no-name-in-module
3333

34-
import adafruit_espatcontrol.adafruit_espatcontrol_requests as requests
34+
import adafruit_espatcontrol.adafruit_espatcontrol_socket as socket
35+
import adafruit_requests as requests
3536

3637
class ESPAT_WiFiManager:
3738
"""
@@ -50,7 +51,7 @@ def __init__(self, esp, secrets, status_pixel=None, attempts=2):
5051
self.debug = False
5152
self.secrets = secrets
5253
self.attempts = attempts
53-
requests.set_interface(self._esp)
54+
requests.set_socket(socket, esp)
5455
self.statuspix = status_pixel
5556
self.pixel_status(0)
5657

docs/api.rst

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,5 @@
77
.. automodule:: adafruit_espatcontrol.adafruit_espatcontrol
88
:members:
99

10-
.. automodule:: adafruit_espatcontrol.adafruit_espatcontrol_requests
11-
:members:
12-
1310
.. automodule:: adafruit_espatcontrol.adafruit_espatcontrol_socket
1411
:members:

examples/esp_atcontrol_aio_post.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22
import board
33
import busio
44
from digitalio import DigitalInOut
5+
from digitalio import Direction
56

67
# ESP32 AT
78
from adafruit_espatcontrol import adafruit_espatcontrol, adafruit_espatcontrol_wifimanager
89

9-
#Use below for Most Boards
10-
import neopixel
11-
status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards
12-
#Uncomment below for ItsyBitsy M4#
13-
#import adafruit_dotstar as dotstar
14-
#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2)
1510

1611

1712
# Get wifi details and more from a secrets.py file
@@ -22,24 +17,16 @@
2217
raise
2318

2419

25-
# With a Metro or Feather M4
26-
uart = busio.UART(board.TX, board.RX, timeout=0.1)
27-
resetpin = DigitalInOut(board.D5)
28-
rtspin = DigitalInOut(board.D6)
29-
3020
# With a Particle Argon
31-
"""
3221
RX = board.ESP_TX
3322
TX = board.ESP_RX
3423
resetpin = DigitalInOut(board.ESP_WIFI_EN)
3524
rtspin = DigitalInOut(board.ESP_CTS)
3625
uart = busio.UART(TX, RX, timeout=0.1)
3726
esp_boot = DigitalInOut(board.ESP_BOOT_MODE)
38-
from digitalio import Direction
3927
esp_boot.direction = Direction.OUTPUT
4028
esp_boot.value = True
41-
"""
42-
29+
status_light = None
4330

4431
print("ESP AT commands")
4532
esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200,
@@ -58,7 +45,7 @@
5845
response = wifi.post(
5946
"https://io.adafruit.com/api/v2/"+secrets['aio_username']+"/feeds/"+feed+"/data",
6047
json=payload,
61-
headers={bytes("X-AIO-KEY", "utf-8"):bytes(secrets['aio_key'], "utf-8")})
48+
headers={"X-AIO-KEY":secrets['aio_key']})
6249
print(response.json())
6350
response.close()
6451
counter = counter + 1

examples/esp_atcontrol_cheerlights.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import board
33
import busio
44
from digitalio import DigitalInOut
5+
from digitalio import Direction
56

67
# ESP32 SPI
78
from adafruit_espatcontrol import adafruit_espatcontrol, adafruit_espatcontrol_wifimanager
@@ -19,30 +20,17 @@
1920
raise
2021

2122

22-
#Use below for Most Boards
23-
status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards
24-
#Uncomment below for ItsyBitsy M4
25-
#import adafruit_dotstar as dotstar
26-
#status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2)
27-
28-
# With a Metro or Feather M4
29-
uart = busio.UART(board.TX, board.RX, timeout=0.1)
30-
resetpin = DigitalInOut(board.D5)
31-
rtspin = DigitalInOut(board.D6)
3223

3324
# With a Particle Argon
34-
"""
3525
RX = board.ESP_TX
3626
TX = board.ESP_RX
3727
resetpin = DigitalInOut(board.ESP_WIFI_EN)
3828
rtspin = DigitalInOut(board.ESP_CTS)
3929
uart = busio.UART(TX, RX, timeout=0.1)
4030
esp_boot = DigitalInOut(board.ESP_BOOT_MODE)
41-
from digitalio import Direction
4231
esp_boot.direction = Direction.OUTPUT
4332
esp_boot.value = True
44-
"""
45-
33+
status_light = None
4634

4735
print("ESP AT commands")
4836
esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200,

0 commit comments

Comments
 (0)