Skip to content

Commit 4b593ff

Browse files
authored
Merge pull request #9 from Andry925/fix/move-network-adapter-to-sdk-client
Moved network adapter code into sdk client module
2 parents 57780a4 + 5281e50 commit 4b593ff

2 files changed

Lines changed: 49 additions & 56 deletions

File tree

network_adapter.py

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

tb_device_mqtt.py

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@
2121
"""
2222

2323
import gc
24+
import sys
2425
from json import dumps, loads
2526

26-
from network_adapter import NetworkAdapterFactory
27-
2827
__version__ = "0.0.1"
2928
__repo__ = "https://github.com/samson0v/CircuitPython_thingsboard-client-sdk.git"
3029

@@ -36,6 +35,54 @@
3635
CLAIMING_TOPIC = "v1/devices/me/claim"
3736

3837

38+
class NetworkAdapter:
39+
def get_socket_pool(self):
40+
pass
41+
42+
def get_ssl_context(self):
43+
pass
44+
45+
46+
class CircuitPythonNetworkAdapter(NetworkAdapter):
47+
def __init__(self):
48+
import socketpool
49+
import wifi
50+
51+
self._pool = socketpool.SocketPool(wifi.radio)
52+
53+
def get_socket_pool(self):
54+
return self._pool
55+
56+
def get_ssl_context(self):
57+
return None
58+
59+
60+
class CPythonNetworkAdapter(NetworkAdapter):
61+
def __init__(self):
62+
import adafruit_connection_manager
63+
from adafruit_connection_manager import CPythonNetwork
64+
65+
radio = CPythonNetwork()
66+
self._pool = adafruit_connection_manager.get_radio_socketpool(radio)
67+
self._ssl_context = adafruit_connection_manager.get_radio_ssl_context(radio)
68+
69+
def get_socket_pool(self):
70+
return self._pool
71+
72+
def get_ssl_context(self):
73+
return self._ssl_context
74+
75+
76+
class NetworkAdapterFactory:
77+
@staticmethod
78+
def create():
79+
if sys.implementation.name == "circuitpython":
80+
print("Using CircuitPython network adapter")
81+
return CircuitPythonNetworkAdapter()
82+
print("Using CPython network adapter")
83+
return CPythonNetworkAdapter()
84+
85+
3986
class TBDeviceMqttClient:
4087
def __init__(
4188
self,

0 commit comments

Comments
 (0)