How Does an IoT System Work?
By: Kenny Fok
Date: July 6, 2021
IoT (Internet of Things) Platform
The Internet of things (IoT) is a complex network of devices that are embedded with sensors, software, and other technologies; connecting and exchanging data with other devices and systems over the Internet. These devices range from ordinary household objects to sophisticated industrial tools. With more than 7 billion connected IoT devices today, experts are expecting this number to grow to 10 billion by 202 and 25 billion by 2025.
Traversing the Internet of Things (IoT) landscape can be confusing and challenging to comprehend. It can make choosing the right IoT platform for your needs no easy task. This article aims to provide a quick and easy-to-understand introduction into the world of IoT.
What is an IoT Platform?
An IoT platform provides end-to-end solutions for your IoT devices, for the purposes of them being online, controllable, and manageable by end user(s) via iOS, Android, or web applications. IoT platforms typically involve four main components:
- App (iOS, Android, or web based)
- Protocol (a language for communicating between the above 3 components)
Defining an IoT Device
A device component is responsible for handling all IoT aspects, such as connectivity and security of the hardware "things". A typical device consists of hardware and is considered non-smart. An IoT device is hardware and software sub-components. In other terms, anything that has a sensor attached to it and can transmit data from one object to another or to people with the help of Internet. IoT devices include wireless sensors, software, actuators, and computer devices. They are attached to a particular object that operates through the Internet, enabling the transfer of data among objects or people automatically without human intervention, e.g. an IoT enabled lightbulb.
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 on hardware costs and software development costs, eliminating the need to have software in order to communicate between two processors. If you have an existing non-smart device, core module, and would like to transform it into a smart device; designing a connectivity module and retrofitting it into the existing core module is typically the most cost-effective route.
For Device-software, i.e. "firmware", 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).
What is an application and how is it used in conjuction with an IoT platform? A mobile application, most commonly referred to as an app, is a type of application software designed to run on a mobile device, such as a smartphone or tablet computer. Mobile applications frequently serve to provide users with similar services to those accessed on PCs. IoT apps provide a UI, "user interface", for connecting to and controlling IoT devices. The three main application platforms are:
IoT and the Cloud
What is the cloud and how does it interact with an IoT platform?
The cloud is a server infrastructure with a well-known address (domain name or IP) on the Internet. The cloud functions by way of cloud computing. Cloud computing is the delivery of different services through the Internet. These resources include tools and applications like data storage, servers, databases, networking, and software. The responsibility of cloud varies based on the design of IoT platform and protocol. On an IoT platform, the cloud handles operations that are challenging or not feasible for devices or applications. 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)
The cloud typically consists of three 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? Our eSmart Tech IoT platform may be the solution you are looking for!