Develop IoT applications with Virtual Devices

IoTIFY is your cloud based intelligent device simulator and load testing solution for IoT platforms. It enables rapid IoT Application development by simulating virtual devices in the cloud.

What is IOTIFY?

IoTIFY provide intelligent IoT system simulation on the cloud, which makes it super easy to develop a large scale Cloud-based IoT Application. Our Rapid IoT application development environment helps you prototype, scale and manage your IoT application with ultimate flexibility and ease. Following diagram illustrates IoTIFY positioning in your IoT development ecosystem.

IOTIFY device virtualization platform enabled rapid prototyping

Using IoTIFY, you could quickly turn an idea into a prototype, then scale from a single IoT endpoint to hundreds of thousands using our Network Simulation tool.

Getting Started with IoTIFY

IoTIFY simulates devices, so you will need a cloud platform to connect our simulator to. We already support a majority of the cloud platforms right out of the box.
Here is a workflow of how a cloud application can be developed with IOTIFY

IOTIFY device virtualization platform enabled rapid prototyping

In order to model a device with our system, you will need a basic knowledge of Javascript, a little background about IoT protocols such as MQTT/CoAP/HTTP and connectivity information about your IoT cloud platform, such as AWS.

Step 1. Define a device model (template)

As a first step, we will need you to define how your device talks to your cloud platform. E.g. A connected light bulb sends following information to its cloud platform every 1 minute

status: true,
temperature: 104

A device template will simply model this behavior in a simple javascript function as follows:-

state.status = chance.bool(),
state.temperature: chance.integer({min:20, max:150});
return JSON.stringify(state, null, 2);

Once this template is run by our system on a predefined interval, we will call this function every time and send the generated returned value to your cloud platform.

Above is a very simple example of how the basic templating works. If you would like to learn more, have a look at the detailed guide here.

Step 2.Refine and iterate your device model

So you have established a basic model of your device. Now its time to dig deeper and add more functionality to your template. Templates are very powerful as they allow you to create complex Javascript logic.
E.g. You could even simulate a device to device interaction such as a simulated light bulb being controlled by a simulated light switch.
Templates are also bidirectional, i.e. they enable you to react to messages received from the cloud platform. Know more about this here.

You could pack as many features and functions to your template and make sure that your simulation covers the entire spectrum of device behavior.
Once the simulation is finalized, its time to run a full system simulation at large scale.

Step 3. Full system simulation and performance testing your IoT platform.

Almost every cloud platform promises millions of IoT endpoints, but how many of them actually deliver and at what cost?
Launching a full system simulation with iotify is very simple. Just specify the number of devices you would like to simulate and we will take care of the rest.
Do a full system simulation to -

When should you use IOTIFY?

and many more..

Do you have any real world examples?

Here are some examples of things you could do with IOTIFY

The tools provided by IOTIFY gives you immense flexibility to create any IoT network. You could even build your own Smart City simulation.

And finally, if you any other question where you need expert advice, we are here to help. Drop us a line to see how could we help.

Getting started

Sounds exciting? Get yourself familiar with the templates first and then straight down to examples.

Discuss and Collaborate

IoT is a collaborative effort. Join our slack channel or fork our github repos and start sharing with the community!