I. Introduction
The applications of the Internet of Things (IoT) are becoming a common sight nowadays. The word “Smart” is now associated with IoT applications, as seen in Smart homes, Smart factories, Smart military, Smart logistics, and the list goes on [1]. In this instance, Smart means the ability of an object to execute an expected task automatically without the intervention of humans. IoT has made the interaction between man and machines a reality, especially with the application of Artificial Intelligence (AI) and Machine Learning (ML). Sizes of IoT devices vary from very small to as small as the tip of the finger. The practical operations of IoT are made possible by Wireless Sensor Networks (WSN) [2], [3] These are networks of spatially dispersed and dedicated sensor devices installed in locations that are meant to be monitored. These sensors, sometimes referred to as nodes are limited in power and capacity due to their miniaturized form factor. While in operation, they intentionally collect sensed data and route them to locations where they can be used to trigger another operation or stored for further analysis.