Skip to main content

Avnet IoTConnect Lite SDK

Project description

This document is reformatted to better viewing as a standalone document. We recommend visiting this GitHub v1.2.0 link for best experience.

Introduction

This project is the /IOTCONNECT Python Lite Client (SDK) that aims for a modern, intuitive and robust interface to connect your Linux, Windows or MacOS devices to the Avnet IoTConnect platform.

The project supports /IOTCONNECT Device Protocol 2.1 devices. The project requires Python 3.9 or newer and provides a set of features for most common /IOTCONNECT use cases.

If you need support for older Pyton, both Protocol 1.0 and 2.1, Properties (Shadow/Twin) Offline or HTTP Client along with other features like Gateway/Child support you should check out the standard iotconnect-python-sdk repository.

See the iotc-python-lite-sdk-demos repository for implementation examples.

Licensing

This python package is distributed under the MIT License.

Installing

The quickest way to get started with the project is to follow the QUICKSTART.md document.

Using the Client

Using this client to communicate to /IOTCONNECT involves the following steps:

  • Get familiar with the client API by examining documentation at client.py
  • Initialize the client with either:
    • iotcDeviceConfig.json (downloaded from the device Info panel) - see the basic-example
    • Explicit parameters to the constructor - see the minimal example.
  • Optionally, configure your own Client settings (log verbosity, timeouts etc.) and pass those to the constructor.
  • Optionally, pass callbacks for C2D message and OTA (see the basic-example) or even your own custom message handler to the constructor
    • While actual download and application replacement mechanism would depend on how your application runs (via a system service, cron or other method) a simple OTA download and install method is shown in the ota-handling example.
  • Optionally, pass a callback for the MQTT disconnect event and handle it according to your application requirements.
  • Call Client.connect(). The call should block until connected based on timeout retry settings.
  • Call Client.send_telemetry() at regular intervals. Verify that the client is connected with Client.is_connected()

Development and Testing

Please ensure to review the CONTRIBUTING.md document for detailed guidelines before making changes to the project.

To set up for development:

  • Ensure to use a modern IDE like PYCharm Community Edition or VSCode so that typing hints will be properly recognized. This will ensure that problems are caught early or typing issues are not causing a burden for future development.
  • Clone this repository locally.
  • Create a new development branch.
  • Install the local repo as editable package with development dependencies:
pip3 install -e .[dev]
  • If needing to make changes to the iotc-python-sdk-lib, clone that repository as well and install it as editable package:
pip3 install -e path/to/iotc-python-sdk-lib
  • When done with changes, submit a pull request for this and/or the iotc-python-sdk-lib repository as needed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iotconnect_sdk_lite-1.2.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iotconnect_sdk_lite-1.2.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file iotconnect_sdk_lite-1.2.0.tar.gz.

File metadata

  • Download URL: iotconnect_sdk_lite-1.2.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for iotconnect_sdk_lite-1.2.0.tar.gz
Algorithm Hash digest
SHA256 b115fb3b9cbae3df5af4ca35a871fffded6dc6eff923334358a2bdbb4459c8d7
MD5 fec5df4066d0dbb5478f1b4f8bd07f70
BLAKE2b-256 7911c96bf4f414f3d9f5e418e8e7820d7f91186b188e11f2f23de22894086392

See more details on using hashes here.

File details

Details for the file iotconnect_sdk_lite-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iotconnect_sdk_lite-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac0614336573ef76a19d23553f2f6223851ae3ac8e5273c83b64b0daf06aa6b6
MD5 dfec548f0d3b5dcfa8d96ea64ebbb0c1
BLAKE2b-256 5ee495209dc97c535997a4e452e5df07e8369c0736cc800f24f79e2a4740dff1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page