At this point, we’ve heard over and over about how big the Internet of Things (IoT) will be – estimates range up to 200 billion devices by 2020 (Source: Intel). That’s a lot of things we need to connect. Many of these devices will be in an enterprise setting with McKinsey estimating 70 percent of value to be captured by business-to-business applications like monitoring a gas pipeline, tracking building energy use, or measuring soil moisture on a farm – not the cool smart home gadgets like thermostats and refrigerators.
To reach these heady forecasts, there are a variety of challenges to overcome – one of which is how to provision and bring online all these new devices. The process of provisioning involves getting each device configured to send data to the right place and authenticate it on the network. This establishes a trusted identity for each device, be it a laptop, database, tiny sensor, or any other data producing or receiving node.
Provisioning is difficult and time consuming at large scale. We can all agree that typing in security tokens, configuring connectivity and installing firmware for tens of thousands of sensors on farms owned by a commercial grower will cost a lot and take a long time! Let’s look at how devices are configured and brought online now, and how we might be able to simplify and speed up this process in the future.
Embedded hardware for makers
For the makers community that works with raw embedded hardware like Raspberry Pis, Arduinos and BeagleBones, there’s a bit of manual work involved in getting data from a sensor to the cloud using an IoT platform. At a high level, the process includes:
- Install an OS
- Install firmware
- Define the data format and who should receive the data
- Create a virtual device in the platform device management dashboard
- Apply a security key to the device for authentication
- Configure network connectivity
Of course, this list is very simplified and inevitable troubleshooting will be required as each step has myriad possibilities – choose from many platforms, OSs, network protocols, etc. It’s easy to see why these do-it-yourself projects take a lot of tinkering, but this process isn’t meant to be scalable.
Most of us are more familiar with the process of getting a consumer product up and running. This generally involves downloading an app and going through a setup wizard. Setting up an Amazon Echo, for example, requires this process and is fairly painless as long as you’re only doing it once. Consumer products have actually done a really good job simplifying this process and making it as easy and fail-proof as possible, but a single uniform product connecting over WiFi only and not interacting with devices from other vendors is a bit simpler than what most IoT implementations will be looking for.