Skip to content
forked from iotile/coretools

Core python tools for building and using IOTile based devices

License

Notifications You must be signed in to change notification settings

palagap/coretools

 
 

Repository files navigation

Core IOTile Tools

Build Status Build status

This repository contains the basic infrastructure needed build and interact with IOTile based devices. It is divided into a set of python packages that work together to create an extensible but easy to use framework that supports any IOTile device.

Read the latest Documentation!

Build Status

Tool PyPI Version
IOTile-Core PyPI version
IOTile-Build PyPI version
IOTile-Gateway PyPI version
IOTile-SensorGraph PyPI version
IOTile-Ship PyPI version
IOTile-Test PyPI version
IOTile-Cloud PyPI version
BLED112-Plugin PyPI version

Installation (from PyPI)

The core set of tools is divided into three pip installable packages

pip install iotile-core iotile-transport-bled112

If you also wish to use the IOTile build system to build IOTile components, you should also install IOTile-Build

pip install iotile-build

If you want to use the IOTile testing tools (necessary for testing CoreTools among other uses,

pip install iotile-test

Working with Encrypted Device Data

If your devices are configured to protect the report data that they produce, you need to install pycrypto in order to CoreTools to be able to decrypt report data. This is only necessary to view encrypted report data and, obviously, also requires that you have access to the device in question's signing key.

Pycrypto can be installed using:

pip install pycrypto

If you are running on Windows, you may not have a compiler installed that is able to compile the PyCrypto package. Microsoft provides a free compiler that is easily installed here.

Installing Support for IOTile Based Devices

CoreTools just gives you the framework to interact with IOTile based devices. In order to control any given IOTile device, you need to also install a support package that contains support for that device. Support packages extend CoreTools to provide support for specific tiles.

There are currently no publicly available support packages, so please contact Arch to get access to private support packages.

Continuous Deployment

Automatic release to pypi is handled by Travis CI every time a new tag is created on the master branch. The tags must have a specific naming format:

<distribution_name>-<version>

Where <distribution_name> is the name of a specific component of CoreTools. Currently, the known components are:

iotilecore
iotilebuild
iotilegateway
iotile_transport_bled112
iotile_transport_awsiot
iotiletest
iotilesensorgraph

The version must match the version that is encoded in version.py in the corresponding python distribution to be released and is checked in the release.py script before attempting to release.

Manually Releasing

Releasing new builds to pypi is handled by the scripts/release.py script. The script should be called with one argument, which is the name and version of the distribution being released.

First, make sure all build requirements are satisfied:

> pip install -r build_requirements.txt

Then, release (for example iotilecore-X.Y.Z) using

> python scripts/release iotilecore-X.Y.Z

You need to have the following environment variables set correctly with pypi and slack secrets:

PYPI_USER
PYPI_PASS
SLACK_WEB_HOOK

License

This software is released under the terms of the LGPL v3 license. It includes pieces that are distributed under the terms of their own licenses. A list of included 3rd party software is described in the README files for each component of IOTile CoreTools.

About

Core python tools for building and using IOTile based devices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 93.7%
  • Smarty 2.6%
  • C++ 2.2%
  • C 1.5%