Okay, it’s time to develop something for the Internet of Things (IoT). Everyone’s doing it, so it should be easy, right?
Wrong. The dilemma for developers is that partners are needed to create a solution, since very few will develop an IoT solution from scratch. While getting tools and hardware from vendors is nothing new, buying or building IoT infrastructure is—and it tends to involve a larger number of cooperating parties. It also involves selling services, which is often a much different sales model for developers and their companies. This may also entail small payments or subscriptions with a range of additional services to separate customers from their money.
The problem is that once an infrastructure is chosen, it is unlikely that migration to another solution is possible (let alone easy, or practical). This means upfront research is critical, and long-term stability of partners will be key to overall success or failure. If you think migrating a website to a new platform is bad, even between versions of the same product, then the IoT equivalent could be a nightmare.
There is a plethora of IoT framework/stack solutions. It almost seems like every cloud provider, chip vendor, module vendor, and board vendor are working on, providing, or partnering to deliver a solution akin to the Matrix MXE-202i gateway, which works as part of ADLINK’s SEMA Cloud platform (see figure). These all tend to be “standards based,” but are typically APIs at the interface level. This is useful and, “in theory,” allows components to be swapped out.
But an IoT framework is not—or at least, should not be—an isolated set of black box components. Features like remote management and security need to span the system. Even minor differences in implementations will make testing changes a major task, and these have the potential to open performance-, security-, support-, or bug-related issues.
The IoT discussion makes all other technical discussions about languages, operating systems, or development environments seem like trivial exercises. IoT encompasses much more than just adding networking to embedded devices or linking networked devices to the cloud. It has more to do with integration than connectivity.
IoT comes in many flavors ,from consumer to industrial, and each solution will have a different set of functional and IoT-related requirements. Electronic Design will continue to track emerging IoT technology and to ask the hard questions that developers need answered.