Skip to main content

A management API for connecting and managing Clients via websocket connections.

Project description

iot.io Server

iot.io Overview

This project aims to create a lightweight and intuitive system for connecting IoT devices to a central server for small IoT system implementations and hobbyists.

The framework focuses on providing easy to use system of libraries so the end user does not need to understand the protocol implementation, though this also is fairly simple.

The format of the framework is somewhat reminiscent of Socket.IO where handlers functions are defined and executed and run as events are triggered.

Quickstart Guide (Server)

This is an example of a simple IoTManager instance which accepts a "EhcoClient" and will print every message the client sends out to console.

from flask import Flask
from iotio import IoTManager, DeviceType, IoTClient
from eventlet import wsgi
import eventlet
"""
Example implementation of a Echo server.

Defines an EchoClient of type 'echo'.
Works with the corresponding 'echo' iot.io-client example.
"""

# create a flask app
app = Flask("Echo Example")

# create an instance of the IoTManager
manager = IoTManager(app)


# define the EchoClient device
class EchoClient(DeviceType):
    def on_connect(self, client: IoTClient):
        print("EchoClient Connected! ID: " + client.id)

    # define a handler for when the client receives a "echo" event
    def on_echo(self, message: str, client: IoTClient):
        print("Message from Client of type '" + self.type + "' with ID '" + client.id + "': '", message, "'")

        # respond to client with the 'echo_response' event
        return "echo_response", message

    def on_disconnect(self, client: IoTClient):
        print("EchoClient Disconnected! ID: " + client.id)


# add the device type to the manager
manager.add_type(EchoClient("echo"))

# run the server using eventlet
if __name__ == "__main__":
    wsgi.server(eventlet.listen(('0.0.0.0', 5000)), app)

If you would like to see the matching quickstart guide for an example client go here.

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

iot.io-0.4.10.tar.gz (19.7 kB view details)

Uploaded Source

Built Distributions

iot.io-0.4.10-py3.8.egg (24.3 kB view details)

Uploaded Egg

iot.io-0.4.10-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file iot.io-0.4.10.tar.gz.

File metadata

  • Download URL: iot.io-0.4.10.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for iot.io-0.4.10.tar.gz
Algorithm Hash digest
SHA256 f71269d58e0e736d413338bddf01fdd4dab90a97db7142c77f6f78a93814ddaa
MD5 427fec0eae0f3b35831e1ccdd7d2421f
BLAKE2b-256 852f2ff542d1f6c4dc81cff3830438dc40ab6754d2cee286b8f6eb5d7d854041

See more details on using hashes here.

File details

Details for the file iot.io-0.4.10-py3.8.egg.

File metadata

  • Download URL: iot.io-0.4.10-py3.8.egg
  • Upload date:
  • Size: 24.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for iot.io-0.4.10-py3.8.egg
Algorithm Hash digest
SHA256 386fb24e83d09be34ef79e0040980b04c7af98ec585e0da23084b7712a27d359
MD5 2f0fe7d63a32362a01e9c3638ea77831
BLAKE2b-256 e96bcce545d22d6b6431103705c647ade7ab0a2072a6f45b0c47f09a9f4016ea

See more details on using hashes here.

File details

Details for the file iot.io-0.4.10-py3-none-any.whl.

File metadata

  • Download URL: iot.io-0.4.10-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for iot.io-0.4.10-py3-none-any.whl
Algorithm Hash digest
SHA256 429f85acc636eb39ed1ee2cd7ef5783775a7b94941ba345de9e4d9e9e7a947d3
MD5 b093bbebb45f50c02e71c76f2a35a110
BLAKE2b-256 965576af36678f08e266ff90ea3ea66e814552f15fe32e1672a90d315c6d747c

See more details on using hashes here.

Supported by

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