IoT Hype Won’t Carry Your Business—Simplicity Will

If you find yourself in a fervor to IoT-enable your products, you may be overwhelmed by complexity. But there are simple solutions.
Published: May 24, 2016

The hype around the Internet of Things is everywhere. Product producers are racing toward prototyping new, connected products and upgrading existing offerings to enable connectivity in them as well. In the process, they may begin to feel stumped by the complexity of IoT development.

When you review the steps that go into connecting a device to an IoT network, the complexity can be quite daunting. You need to consider:

• Spectrum allocation and government regulations
• Device management
• Data management
• Systems integration
• Applications and services rollout
• Device support
• Infrastructure support
• Secure connectivity
• And so much more

These are all aspects that come to play, together with the need to find skilled engineers. General software engineers lack the skill set needed to develop IoT-enabled solutions. These solutions require complex, powerful coding on minute footprints. Embedded software engineers have these skills. However, they are rare and, therefore, difficult to hire and retain to manage a solution on an ongoing basis.

There must be a simpler way to IoT-enable devices.

Simplicity
For straightforward use cases, such as enabling remote access for users or providing an access point to multiple devices, an embedded Web server will provide a robust, simple solution. Embedded Web servers act as a building block for IoT solution platforms, providing thin client interfaces for applications and delivering indexing, reporting and debugging tools for devices. If your development does not require additional functionality, such as cloud connectivity, then a strong embedded Web server is a more flexible, cost-effective solution than a full-scale IoT solution platform.

To get a little more into the technical piece, a good embedded Web server can serve a Web-based graphical user interface (GUI) on devices, implement RESTful services, RPC (for example, JSON-RPC), asynchronous WebSocket communication and telemetry data exchange, among other functionalities. It should be plug-and-play for developers: taking existing code and, just by adding some additional lines of code, integrating it into your existing product.

By building an embedded Web server into an existing product, a virtual control panel to configure the product can be created. This is how it could be used:

Dashboard Server
Through phone or desktop applications, end users can access the product
remotely. Examples of this application are Internet-connected alarm systems, home thermostats and so forth.

Predictive Maintenance and Monitoring
Consider a service engineer or technician who needs to monitor or access multiple devices simultaneously. The IoT can enable remote device access and power monitoring.

Real-Time and Server-Side Data Push
An embedded Web server library with built-in WebSocket functionality can act as a source of real-time data for external systems. For example, real-time data for graphs, event logs or alert notifications can be pushed from the server side via a persistent WebSocket connection. An embedded Web server without WebSocket functionality cannot perform this real-time task.

Considering what this could actually look like, see this dashboard example, created for a fictitious air-conditioning provider:

Click on the above chart to view a larger version.

Spot the elements that the solution should provide you with: secure sockets layer (SSL)/transport layer security (TLS) security standards, authentication and more.

Getting to the Action
The examples above walk through what an embedded Web server can achieve. Of course, getting to the action is often a lot faster with this solution than building an entire IoT infrastructure, thereby reducing development time and time to market. This is why considering an IoT-ready Web server makes sense.

To obtain more information regarding Web servers and determine which one can offer the right level of features (WebSocket support, RESTful services and so on), I recommend checking out this Wiki comparison page.

So, before diving into complex Internet of Things solutions headfirst, consider simplicity and embedded Web servers. It may make your IoT development a lot simpler!

Sergey Lyubka is the CTO and co-founder of Cesanta. He is the author of Mongoose (an embedded Web server) and Mongoose IoT Platform (a full-stack IoT solution). Together with his team, he aims to bring all devices online.