Skip to main content

EnOS API SDK for Python

Project description

Using EnOS Service SDK for Python (Preview Edition)

This repo contains the preview edition of EnOS Service SDK for Python. This article instructs how to prepare your development environment and use the EnOS Service SDK for Python.

Installing Python

To use the EnOS Service SDK for Python, you will need Python 2.7.10+, and pip is required.

Obtaining EnOS API SDK for Python

You can obtain the SDK through the following methods:

  • Install from pip
  • Download the source code by cloning this repo and build on your machine

Install from PIP

pip install enos-api-sdk-python

Build from source code

  1. Obtain the EnOS API SDK for Python source code from GitHub:

    git clone https://github.com/EnvisionIot/enos-api-sdk-python.git
    
  2. From the directory where the source code is stored, run the following command:

python setup.py install

Key Features

As the preview edition, the EnOS Service SDK currently contains only partial of the EnOS Service REST API features as listed below:

  • Apply certificate by device key
  • Post measure point data
  • List and create products

API Reference

To access the EnOS API documentation, go to EnOS API > API Documents in the EnOS Console. For each service category, you can check the summary of the APIs from the API list table and click the More icon for view details of each specific API, including API description, calling method, requesting URL, parameter description, calling sample, and response sample.

Sample Code

This sample demonstrates how to post a struct type of measure point to the EnOS cloud.

from enosapi.request.PostMeasurepointsEnOSRequest import PostMeasurepointsEnOSRequest
from enosapi.client.EnOSDefaultClient import EnOSDefaultClient
import time
import json

enos_api_url = "https://{HOST}/enosapi/"

# the application configuration created in console
access_key = "ACCESS_KEY"
secret_key = "SECRET_KEY"

# sub-device parameters
device_asset_id = 'DEVICE_ASSET_ID'
product_key = 'PRODUCT_KEY'

# OU ID
org_id = "OU_ID"


if __name__ == "__main__":
    timestamp = int(time.time() * 1000)        # timestamp in milliseconds
    struct_measure_point = {'RawImage': 'local://file1',
             'ProcessedImage': 'local://file2',
             'Sensor': 'PM10',
             'UpperLimit': 100,
             'Value': 120,
             'AlertFlag': 1,
             'AlertMessage': 'PM10 over limit'}

    measure_points = {
        'StructMeasurePoint1': struct_measure_point  # the StructMeasurePoint1 is the identity of a measure point
    }

    data = [{
        'measurepoints': measure_points,
        'assetId': device_asset_id,
        'time': timestamp
    }]

    param = {
        "data": json.dumps(data)
    }

    file_to_upload = {"file1": open("apple.png", 'rb'), "file2": open("orange.png", 'rb')}

    request = PostMeasurepointsEnOSRequest(org_id=org_id, product_key=product_key,
                                           params=param, upload_file=file_to_upload)

    enos_api_client = EnOSDefaultClient(enos_api_url, access_key, secret_key)

    response = enos_api_client.execute(request)
    print(response)

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

enos-api-sdk-python-0.0.1.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

enos_api_sdk_python-0.0.1-py2-none-any.whl (10.2 kB view hashes)

Uploaded Python 2

Supported by

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