Starfish Studio

A Browser-based web application for IoT Simulation

Create the next killer app Starfish Studio

Starfish Studio Simulation Environment

Quickly ideate and prototype your Internet of Things applications and solutions. Using our web based application for simulating virtual and real-world devices you can quickly illustrate and understand the viability or your concepts and ideas.

Starfish Studio

Starfish Studio is a web application developers can use to design, test, and validate simulated IoT devices before deploying their applications on the network. They can create and experiment with various network configurations—called "solutions"—and simulate device and network activity. 

In Starfish Studio, developers can:

  • Develop a solution without deploying real devices
  • Build a virtual solution from a collection of templates or those they create themselves
  • Configure the number of simulated devices and their data schemas
  • Simulate the data feed
  • Create an account to access simulated data through API in their own application
  • Mix real devices and simulated devices to test new applications on top of an existing infrastructure

 

Terminology

Solution: A collection of devices that are deployed in the field for a specific use or application. Solution names are case sensitive.

Device: A Silver Spring AP or Milli, or external devices such as a sensor that gauges changes in environment since it was last recorded.

Observation: Any sensor data about changes in the environment, such as temperature, humidity, or location.

Webhook: A user-defined HTTP callback triggered by an event.

Token: A unique access token that authorizes the user to to call Data Platform APIs. To obtain a token, you must provide the ClientID and Secret key obtained from Silver Spring Networks when you registered with the Developer Portal.

 

To Get Started

Create an account in Developer Portal

  1. Sign-up for DevPortal account
  2. Navigate to the Account Settings tab in the My Account area and select ClientID/Secret
  3. Create the ClientID/Secret with the available button
  4. Store the ClientID/Secret somewhere safe as it cannot be retrieved again for security purposes.

 

Log into Starfish Studio

Launch Starfish Studio from the Developer Portal

  1. From the dropdown menu, navigate to Developer Portal > Data Platform > Starfish Studio.
  2. Under My Account on the Data Platform tab,  click Launch Starfish Studio, or  click the button display below.

 

Launch Starfish Studio

 

Configure Your Device Simulation

Note that in this version of Studio, a single solution  "StudioSimulation" (case sensitive) is supported for simulated data. When calling Data Platform APIs for simulation data, you will need to specify StudioSimulation as the solution name.  Developer Kits purchased in the Developer Portal are provisioned in a single solution named "sandbox" for real devices and observations. When calling Data Platform APIs for real device data, you will need to specify sandbox as the solution name

  1. In the text box above the Sensor List, enter a name for your device.
  2. Select one or more sensors from the list of sensors. The code in the Observation Sample section changes to reflect your choice.
    For example, if you select Temperature as the sensor, the Observation Sample displayed is as follows:

{
  "deviceId": "ebfaf2f6-0a34-4d5c-8033-111624be26d9",
  "observation": {
    "timestamp": "2017-04-03T23:31:01.322Z",
    "temperature": -77.2646
  }
}

  1. Click Save to save your selection.

This opens a new page to run your simulation.

 

Run Your Simulation

  1. Select the number of devices to include in the simulation
  2. Click Run to start your simulation.
    Studio runs the simulation and presents the results to you. If, for example, you selected the temperature sensor, four devices are displayed.
  3. Stop the simulation when you see the simulated data displayed on the page. After you have stopped it, you can edit your simulation to change the sensor type, if needed.

 

Retrieve Data

After device simulation is completed, Studio uploads the sensor data (observations) to the Data Platform.  You can then retrieve the data at any time.  However, for real devices, you will need to first upload the observations to the Data Platform using the POST method that is listed in the Observations section on the API View tab.

To retrieve sensor data

  1. In the API View, click Show Authorization Token and copy the access token (or use the tokens API to retrieve a token with your ClientID/Secret).
  2. Scroll down to Observations and click Get Observations for all devices.
  3. Scroll down to the Parameters section and enter StudioSimulation in the solution name field.
  4. In the Authorization field, paste in the access token.
  5. Optionally, specify the time period in the From and To fields.
  6. Click Try it out!
    If the call is successful, Studio returns a Response Code of 200, and the Response Body section displays the observation for each device along with other information such as the device ID, timestamp, and other optional domain information that is available.

To retrieve device metadata

  1. In the API View, click Show Authorization Token and copy the access token (or use the tokens API to retrieve a token with your ClientID/Secret).
  2. To retrieve data about your devices, select Get all devices.
  3. In the Parameters section, enter StudioSimulation as the solution name. 
  4. Paste in the access token that you copied to the clipboard in Step 3.
  5. Click Try it out!.
    If the call is successful, Studio returns a Response Code of 200, and the Response Body section displays the metadata for all your simulated devices.  If the call is unsuccesful due to a client error, the status code is 400.