CSC/ECE 517 Spring 2017/final T1701

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

What is Tago?

Founded in 2014, Tago is startup based out of Centennial Campus. They have created a service that allows users to craft dashboards that are used by Internet of Things (IoT) devices for a variety of purposes. These include storing/visualizing data, running triggers that send emails, SMS messages, or data to other devices/http endpoints, and initiating custom analysis scripts to manipulate and analyze data. Along with the dashboard, Tago has developed an SDK that developers can utilize when programming on the IoT devices in order to make these various requests.

What are we doing?

Currently, Tago’s SDK is only developed for NodeJS, but they have begun work on a Python SDK. We have decided to assist in order to speed up the the development and delivery of their Python SDK. We have broken down the project into two teams, T1701 and T1702, and split the work by assigning different subsets of functionality.

Why are we doing it?

Tago currently has customers with needs for a Python SDK including Texas Instruments and Tesla. The sooner the SDK is developed, the sooner these companies can utilize them. Python has a number of advantages over NodeJS, particularly around the communities. The Python community has implemented a vast number of scientific and other niche libraries that could be useful in IoT sensors and measurement equipment.


Implementation

Services

As a part of services, Tago should provide some functions that can greatly help your application. When setting up a service, an analysis-token needs to be passed. For convenience, the context returns a property token that you can use to setup a service object.

SMS

The SDK should provide support to send a SMS directly to tago admins or customers from analysis. SMS costs incurred depend on the country of operation.

Method
  • send
    • This method is used to send SMS.
    • Arguments
      • Phone number. (With the country code if not in the US)
      • Message to be sent

Email

The SDK should provide support to send a email with analysis details or any other info.

Method
  • send
    • This method is used to send email.
    • Arguments
      • Email address
      • Subject of the email
      • Message to be sent
      • E-mail address for the receiver to reply to