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.
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.
- 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 Resources. Time 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.