Virtual IoT Devices

How to use Virtual IoT Devices for Integrating IoT Applications

In this article, you will learn what are Virtual IoT Devices, their advantages, applications and how to create & use an IoT Device Simulator using mock service Mock.IO.

Technology has been making our lives easier by the day! Till now the focus was on making the technology available to humans to use intelligently but with the Internet of Things, the focus is shifted to making the devices intelligent and self-learning. Today a smart washing machine can connect to the network, download updates to the software, and learn from the experience of other machines all by itself. A smart refrigerator can suggest recipes to you based on the groceries stored in it.

The global Internet of Things market is growing at an exponential rate. According to a report by Fortune Business Insights, it was USD 308.97 billion in 2020 and is expected to grow from $381.30 billion in 2021 to $1,854.76 billion in 2028 at a CAGR of 25.4% in the forecast period. 

Technology advances always amaze us but have you ever wondered how these devices work so efficiently and flawlessly?

The answer lies in testing the software applications thoroughly. Developing and testing software apps for IoT Devices pose a significant challenge of mimicking the actual pool of physical IoT devices and that’s where the Virtual IoT devices come into the picture.

What is a Virtual IoT Device

A virtual IoT device is a software service that mimics the behavior of an actual IoT device in use. It is a solution to easily create and simulate thousands of virtual connected devices without actually owning or managing even a single physical device! Isn’t it cool? Let us explore how this is done.  

What is a Mock Service

The primary player in the Virtual IoT device creation is the Mock Service. Mocking is nothing but an imitation. It simulates the behavior of a real API but in a more controlled manner. A simple mock service consists of a server, which on matching certain requests returns a predefined response and other parameters associated such as response code, headers, etc. exactly as a real API would.

Virtual IoT Devices

 

What can be Mocked

Many common operations can be mocked. Some of them are listed below-

  • CRUD Operations — Create, Read, Update, and Delete operations in the application’s main user flows
  • Authentication and Authorization Flow 
  • Pagination 
  • Search/Sort 
  • File Download
  • Error Handling — e.g., Timeouts, delays, validations, etc.

Why Use a Mock Device Instead of Actual Device

There are many reasons to use mock devices instead of actual ones. Here is the list of the main reasons-

  • Real backends are costly 
  • Real services are a limited resource 
  • Real data seeding is a pain 
  • Real environments are unstable
  • Real vendor backend troubleshooting is slow 
  • Real environments are low capacity 
  • Can’t test special cases against real backends

Top Mocking Service Providers

Many mocking service providers are available. Top options across North America are listed below-

  1. Karate
  2. Sandbox
  3. Mockmock
  4. Mock.io 

Advantages of Mock Service

The main advantages of using Virtual IoT devices using mock service are listed below-

  • The frontend and backend teams can work parallelly
  • Removes dependency and work-block between teams 
  • Mocking for Functional Tests 
  • Mocking during development
  • Mocking for External Components 
  • Mocking for Non-Functional Testing

Best Practices While Creating the Mock IoT Devices

  • Make the mock virtual devices 100% technically equivalent 
  • Use recording tools or log files to create complex mock behavior 
  • Use mocks to create negative tests 
  • Create mock so that it can forward requests
  • Use mocks to enable continuous testing

Applications of Virtual IoT Devices

Virtual IoT Simulators can be used to develop and test software applications for –

  • Smart Waste Management 
  • Water Usage Management
  • Monitoring energy usage
  • Simulate Connected cars driving in real conditions etc.

Integrating SmartConnect with Mock.IO

At Incepta, we test various applications using Virtual IoT simulators with our IoT integration platform, SmartConnect.

To integrate SmartConnect with Mock.IO we need to create a specific data model for our Mock IoT devices. The next step is to create necessary resources in MOCK IO and populate the data. Finally, create necessary endpoints in the process API that will send requests to MOCK services and integrate the responses to the Experience API which will send the data to the front-end. See the image below for details:

Mock IO using SmartConnect

Other common IoT device properties: location, status, site, device_id, created_at, disconnected, type. 

  • After creating the data fields in Mock.IO, we populate those fields with a mock response. 
  • Then we include those endpoints in the process APIs request flow. 
  • Then we pass the response to the experience-API which will send the response to the frontend. 

Conclusion

As discussed above, Virtual IoT devices are quite helpful and play an important role in developing and testing various software applications for IoT-enabled systems. We also discussed the advantage of virtual IoT simulators and best practices while designing such systems. We hope you enjoyed reading this blog post. For any queries feel free to contact us.

Contact us by emailing [email protected] or calling +1 877 797 0406 to know more about Virtual IoT devices today!

About Incepta Solutions

At Incepta Solutions, our team of #InceptaInnovators is passionate about developing the bridge between people and operations, as we create stories that we can all be proud of.

Since our inception in 2010, we are recognized as trusted experts in providing digital services to global businesses. We are proud to be named one of the top 5 Information Technology companies in Canada on the Growth List 2020 (published by Canadian Business and MacLeans). In addition, we are humbled to be a certified Great Place to Work – Canada.

Our full suite of technology services includes:

Integration | Digital Transformation | Cybersecurity

Data Management | Cloud Strategy | Customer 360

Our Mission

At Incepta Solutions, we provide business solutions that solve challenges and enable future growth and success for our clients. We leverage industry-leading technologies to provide innovative solutions that are robust, of premier quality, and cost-effective.

Our Vision

In our growth journey, our goal is to become a global leader in digital transformation and enterprise solutions. We enable businesses all over the world to solve complex and critical integration challenges. As #InceptaInnovators, we hope to look back at these times on how we have helped global brands and enterprises achieve success. Our driving force is that one day, we are able to reflect on our shared journey and be proud of the stories we have created together.

Incepta Solutions | Powered by innovation, driven by results

Stay connected:

LinkedIn | Twitter | Facebook | Instagram

More relevant insights

RPA CoE

Business Insights, Digital Transformation, Featured Post Business Insights

5 Steps to Set Up an RPA CoE (Center of Excellence) for Your Company

RPA Center of Excellence is the enabler of RPA adoption across the organization. Learn to set up an RPA CoE for your company in five easy steps.

Read More

Case Studies, Development, Digital Transformation, Featured Post Success Stories, News & Insights, Success Stories

Data Migration & Validation for a Major Retail Business Group

This case study explains how Incepta Solutions helped a major retailer with Data Migration & Validation using Extract Transformation and Load.

Read More