Challenge Overview

As part of the launch of our new Topcoder Community for Predix, we are launching series of fun challenges to help introduce you to GE's Predix platform. This is the fourth challenge of the series and will be a good start to becoming acquainted with Predix services.

 

If you missed the previous challenges in the series, no problem. Each of the challenges is independent and not related to the others. But you might want to reference the previous challenges for some helpful links and steps.

1. Hello World

2. Using User Account and Authentication

3. Photo Album Using Predix Blob Store

This is a fun challenge. Although there will be no prize money awarded, members who complete this challenge successfully will receive 500 TCO points for TCO ‘17.

 

NOTE: If you haven’t completed the first challenge in this series, you will also need to register for your Predix account. Go to http://predix.topcoder.com/ and click the Join the Topcoder Community for Predix button. Fill out the registration form and confirm your email address. Complete the instructions you’ll receive in your community welcome email to register for your Predix developer account.

Challenge Details

What is Predix?

The Predix platform is a cloud-based Platform-as-a-Service (PaaS) for the Industrial Internet. The Predix platform provides tools, framework, guidelines, and best practices that enable you to create solutions to run industrial-scale analytics. As it connects machines, data, people, and other assets, the Predix platform uses leading technologies for distributed computing, big-data analytics, asset data management, and machine-to-machine communication. A comprehensive platform overview can be found here. If you have previously used or are familiar with other platforms-as-a-service (AWS, Google Cloud Platform, Heroku, IBM Bluemix), this should feel right at home.

 

Requirements for this challenge

 

While setting up your app name, please include your Topcoder handle in the app name, to enable us to distinguish between apps. Eg your handle is xyz. Your app name could be xyz-timeseries

 

As your introduction to the Predix platform services, you will be using Time Series Services and Predix UI Services. Time Series is useful in managing and storing time series data. For example, you may have some temperature or pressures sensors installed at your factory, and they generate a stream of data every minute. Since we don’t have sensors to generate the data as of now. We will generate some sample data in our app and send it to Time Series.

 
 

Scenario

You are an owner of a theater, and have installed 3 temperature sensors at following 3 locations inside the theater.

- Auditorium

- Cafeteria

- Back Stage

You would like to see how the temperature varies across the 3 regions, across different times, so that you can optimize cooling and save costs.

The application should fulfill the following requirements:

- Allow users to generate sample data to be sent to Time Series

- Allow users to visualize the time series data using Predix UI Time Series Chart.

 

The application should be hosted on Predix and use Predix Time Series services to store and retrieve timestamp data. Please remember to include your Topcoder handle in the Predix app, so we can identify your application.


References

The documentation of Time Series can be found here. A step by step walk through for the time series can be found in the Predix ResourcesTime Series provides two API points: one for sending data, and another for querying data. Please check the Sample JSON for sending data for the temperature sensor for the theater for the auditorium.

 

Time Series Chart can be generated by px-vis-timeseries component of Predix UI.

A sample application using Predix UI is here. The interactive demo is here.

 

{

 "messageId": "1003",  //Unique Identifier for the message

 "body": [

   {

     "name": "Temperature",

     "datapoints": [

       [

         1479451858907, //Time Stamp

         10, //Data Value

         3 //Data Quality

       ],

       [

         1479451858908,

         11,

         3

       ],

       [

         1479451858909,

         12,

         3

       ],

        [

         1479451858910,

         13,

         3

       ]

     ],

     "attributes": {  //Custom Attributes associated with the data

       "location": "Auditorium"

     }

   }

 ]

}

 
 

You can use the Predix Toolkit to test the time series. A sample screen for the application is shown below. The UI is for demonstration purposes only. The actual UI is not important, as long as the application fulfills the stated requirements.

 

Page 1: Generating data for the Time Series

 

 
 

Page 2: Time Series Analysis Chart

 

 


Final Submission Guidelines

1. Provide your application URL in a text file and upload in the challenge.
2. Please include your Topcoder handle somewhere in the application URL.
3. You can use any language to build the application, as long it’s supported by Predix.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30055931