How Does an IoT System Work?
By: Kenny Fok
Date: November 13, 2019
The Internet of Things (IoT) landscape is massive and confusing. Choosing the Right IoT platform for your commercial devices is not an easy task. This article aims to provide a quick and easy-to-understand introduction into the world of IoT.
What is an IoT Platform?
IoT Platform provides an end-to-end solution for your IoT devices to be online and controllable/manageable by end users via Apps. IoT Platform typically involves 4 components:
- Protocol(a language for communicating between the above 3 components)
Device component is responsible for handling all IoT aspects such as connectivity and security of the hardware "things". Device consists of hardware and software sub-components. Let's use an IoT lightbulb as an example. Device-hardware typically consists of connectivity module (such as Wi-Fi chipset) and core module (such as traditional LED bulb). If you are designing an IoT device from scratch, you should consider designing the hardware in a single piece. For example, instead of having two processors in each module, having a single processor. This would save hardware cost and software development cost (no need to have software to communicate between two processors). If you have existing non-smart device (core module), and would like to transform to smart device, designing a connectivity module retrofitting into the existing core module is typically the most cost-effective route.
For Device-software (strictly speaking, should call it "firmware" but will keep this simple here), each hardware module typically has the corresponding software:
- Connectivity software subsystems typically consists of the chipset software (Board Support Package - BSP) and the IoT software stack for communicating with Apps and Cloud using IoT protocol.
- Core software subsystem typically consists of the functionality of the device (e.g., turning on or off the LED bulb).
Apps is responsible for providing a User Interface to end users for accessing the IoT devices. Nowadays, there are 3 mainstreams of Apps platforms:
Cloud is basically a server infrastructure with well-known address (domain name or IP) on the Internet. The responsibility of Cloud varies based on the design of IoT platform and protocol. Typically, Cloud is handling operations, which are challenging (or not feasible) for Devices or Apps. Here are some examples:
- Holding user account info across multiple Devices
- Establishing a connection between Devices and Apps (given that Devices are typically behind router and firewall, it is challenging to connect it directly, and Apps on Mobile typically do not have a well-known address)
- Performing complicated operations and keeping Devices to perform only absolutely necessary operations for reducing cost. (less processing > lower the requirement of the hardware > lower cost)
Cloud typically consists of 3 sub-components:
- End points: Interfaces for external Internet components (Apps and Devices) to interface with the Cloud
- IoT software: Responsible for communicating with Device and Apps using IoT protocol
- Database: For storing any persistent data such as User account info
Navigating the world of IoT can be challenging, we hope this article provided some insight and clarity. Now that you have a base understanding of the complexities of IoT, how then do you choose the right platform for you? In our next article, we will discuss several key factors for choosing the right IoT platform that fits your needs.Contact Us