Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 0 additions & 54 deletions network_adapter.py

This file was deleted.

51 changes: 49 additions & 2 deletions tb_device_mqtt.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@
"""

import gc
import sys
from json import dumps, loads

from network_adapter import NetworkAdapterFactory

__version__ = "0.0.1"
__repo__ = "https://github.com/samson0v/CircuitPython_thingsboard-client-sdk.git"

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


class NetworkAdapter:
def get_socket_pool(self):
pass

def get_ssl_context(self):
pass


class CircuitPythonNetworkAdapter(NetworkAdapter):
def __init__(self):
import socketpool
import wifi

self._pool = socketpool.SocketPool(wifi.radio)

def get_socket_pool(self):
return self._pool

def get_ssl_context(self):
return None


class CPythonNetworkAdapter(NetworkAdapter):
def __init__(self):
import adafruit_connection_manager
from adafruit_connection_manager import CPythonNetwork

radio = CPythonNetwork()
self._pool = adafruit_connection_manager.get_radio_socketpool(radio)
self._ssl_context = adafruit_connection_manager.get_radio_ssl_context(radio)

def get_socket_pool(self):
return self._pool

def get_ssl_context(self):
return self._ssl_context


class NetworkAdapterFactory:
@staticmethod
def create():
if sys.implementation.name == "circuitpython":
print("Using CircuitPython network adapter")
return CircuitPythonNetworkAdapter()
print("Using CPython network adapter")
return CPythonNetworkAdapter()


class TBDeviceMqttClient:
def __init__(
self,
Expand Down
Loading