My last article on basics of IoT explains how and where IoT makes sense, how it can be better utilized, where the gaps are and what designers can look forward to in terms of new developments. This article would focus on various building blocks of IoT system and how one can get started with building of IoT based applications.
By Dilin Anand
Characteristics of IoT Systems
IoT based systems are essentially called as applications because of their purposeful nature. However, each of the IoT system should exhibit certain characteristics, in order to be called as a full-fledged IoT system or application. These characteristics state that…
- The central object (or the thing) should have unique identification such that it can be distinguished from various objects of the network. Without having unique identification, it becomes extremely difficult or limiting to develop useful application.
- Most of the objects should be able detect presence of other objects and thus follow rule of autonomy. If objects can detect other objects’ presence, they can further interact with each other or work accordingly.
- Objects of IoT should be capable of autonomous data capture most of the times. While most of the sensors do fulfill this criterion, this applies to larger system as well.
- Applications of IoT and objects that are part of that should be interoperable between different communication technologies. Since not all the IoT applications may have same protocol or technology in use, it is essential to have interoperability.
- There should be service-based interaction between objects; which means if there are two or more objects in vicinity or in contact – they should be able to communicate directly with each other and exchange information and data if necessary.
- One of the characteristic that could make IoT applications smarter is having cooperation possible between autonomous objects. If two autonomous objects can interact and cooperate with each other to accomplish any preset or necessary task, it can intensify value of such application manifold.
- In addition to above points, IoT systems and their parts should also have low power operations as and where possible, should be contextual in nature, programmable by users, should have redundancy (fail-safe operations) built-in and most importantly secure.
What are basic blocks of IoT?
Four things form basic building blocks of IoT system viz. end nodes, processing node, connectivity and application as shown in the image.
Each of these nodes has to have certain characteristics in order to form an effective system as explained further.
End node
It is the front-most node of any IoT system, in absence of this IoT is left-out without essential “T” of the system. These are also called as edge products or objects or things (T in IoT) and mostly work as sensing nodes. In some cases, these objects could also perform dual role as sensors or input devices as well as actuators or output devices.
Their main job is to collect or disseminate data (or do both). End nodes need to have unique identifier in order to identify them and communicate with them effectively in large array of end-nodes in bigger IoT application or system.
Most of the end nodes are required to be active in nature. This means these sensors are not basic sensors but are active in nature and thus can modify or alter signal as per application’s requirement.
End nodes can be controlled with command-control mechanism and this may be either autonomous or may be handled by the end-users directly.
Typical examples of end nodes could be humidity sensor, temperature sensor, MEMs, radar vision, ultrasonic sensors, RFID readers, flow meters, cameras, etc.
While most of the sensors are easily available in local market, converting them into active sensors is something a designer or maker will have to do.
Processing node
This section does form central part of the IoT system and so can be considered as a heart of IoT. The main job of this node is to process the data and information received from end-nodes and transmit to further link for action which may be software application or cloud based service. It also sends the information received from application to the end-nodes.
Processing nodes provide local intelligence to the entire network of sensors and application. While heavy lifting software is based on cloud network or individual PCs, processing nodes form small computing elements in local infrastructure.
These can be easily controlled with command-control mechanism by application software and mostly work on real-time basis. Processing node also performs encryption and decryption of data to maintain security of communication.
Typically a processing node involves one or more microcontrollers, microprocessors, hybrid circuits, etc. and may be relatively bigger in size as compared to end-nodes.
Processing nodes are not readily available devices; they are custom made by designers as per the need of an application.