Our physical world is transforming at an unprecedented rate into a complex and dynamic system of connected devices. Such dynamics are evident due to COVID-19 making the organisations rethink the way they work and operate. Working digitally and virtually across locations along with partner organisations is the need of the hour. Internet of Things makes such communication possible. The increasing importance of capturing real-time data and acting upon the insights is the driving focus of Internet of Things (IoT) – both in terms of its wider applicability and the path towards achieving scale. Defined as the interaction between the digital and physical worlds, IoT helps the digital world interact with the physical world using a plethora of sensors and actuators. The sensors take data from various devices, convert it into viable actions for human analysis. This paper brings forth Bluetooth, Zigbee, RFID, Z-Wave, Wi-Fi, ANT, 6LoRaWAN, NFC, GSM technology, and Cloud software technologies used by various IoT devices. They aid sensors which collect data from multiple devices. Comparison of these technologies is made on basis of frequency band, range, data rate and modulation type. This paper also discusses microcontrollers namely Arduino Uno, Adafruit Feather Huzzah32, SparkFun ESP8266 Thing, and Raspberry Pi which analyse, and process data based on various settings to perform tasks or provide the data required by industry. Wi-Fi technology embedded on Arduino controller is recommended, the deciding factors being security, availability, reliability, mobility, performance, scalability, interoperability, management and trust.
The Internet has become a part of life with a rapid increase in the number of internet users. IoT grants people and things to be connected anytime, anyplace, with anyone, ideally using some network and service (Stanford, n.d.). It allows to connect organizations and people, with the world around them and do more meaningful, higher-level work (Internet of Things for Telecom Engineers, n.d.). Improvements in the availability of low power technology, last-mile connectivity, long-lasting batteries, and cheaper sensors make IoT solutions more affordable and relevant compared to the situations in the past (Garg & Gupta, 2020).
Internet of things (IoT) is achieved by interconnecting the internet with computing devices embedded into everyday objects, enabling them to send and receive data. Such communication between multiple devices occur with little human intervention.
IoT architecture from a broad perspective has four layers. Figure 1 describes the high-level architecture of IoT having 4 layers. The sensors and actuators constitute the first layer which gathers information to be transmitted over secure channels (Data Flair, n.d.). Sensors collect information about location, changes in the air, environment, etc. The network layer is the second layer. It carries and transmits data gathered from physical objects through sensors. The medium can be either wireless, or wire based. Since it also connects the network devices and networks with each other, it is extremely sensitive to attacks from the attackers. Technologies like RFID, GSM, Wi-Fi, Bluetooth Low Energy, and ZigBee help transfer data (Baidya & Kumar, 2018). The sensors are selected as per the requirement of applications. The processing layer is the penultimate layer which receives information that can be stored and analysed (Sethi & Sarangi, 2017). This layer also processes received data, makes decisions, and delivers required services over network wire protocols. The Application Layer, the ultimate layer is the interface between the end IoT devices and the network. Few IoT applications are smart homes, smart health care, smart cities, etc (Hiotron, n.d.).
Figure 1. IoT Architecture
Most of the IoT devices used in the first layer, whether they are sensors, actuators, or both, consist of hardware and software. Examples of sensors such as temperature sensors, IR sensors, ultrasonic sensors, pressure sensors, proximity sensors, and touch sensors, and other such devices that monitor their surrounding environments. Switches, valves, locks, and other such devices that perform a physical action can be categorised as actuators. Due to Moore's law and other advancements in technology, even inexpensive IoT devices can be sophisticated with robust microprocessors/microcontrollers that run complete software stacks. These software stacks primarily expose the sensor/actuator to the outside world over wireless or wire- based connection.
The network layer is the connecting layer between data processing layer and sensors and/or actuators (interfaces). It gets data from the interfaces and passes the information to data processing layer using networking technologies like 3G, 4G, Wi-Fi, infrared, etc. This is also called communication layer because it is responsible for communication between data processing layer and sensors and/or actuators. All the transfer of data is done securely keeping the obtained data confidential. Figure 2 introduces wireless communication technologies Bluetooth, ZigBee, GSM, RFID, Z-Wave, Wi-Fi, ANT, THREAD, 6LoRaWAN, NFC, and Cloud that can be used to communicate either between themselves or between devices.
Figure 2. Network Technologies to Connect Smart Devices
The most suitable Network Technology can be chosen based on its ease-of-use, security, range, interoperability, scalability, network performance, cost, and power consumption. Although from a broad perspective the range, data rate and power consumption are the major deciding factors, network topology and physical size constraints are also important for choosing a network.
Figure 3 compares the protocols over the data rate and range. This may only be the starting point for a rough comparison. It shows that NFC (Near Field Communication) has low data rate and a low range whereas WI-Max, 3G, and GSM have long range, but Wi-Fi has nominal data rate while covering a sufficient range. Applications requiring low-power, communication over small distances and that need a low bandwidth can use ZigBee, Wi-Fi, Bluetooth, BLE, ANT, and Z-Wave. Though these have limited quality-of service (QoS) and operate under unlicensed spectrum, they are apt for home and indoor environments.
Figure 3. Comparison of Various Technologies
Table 1 specifies that Bluetooth, ZigBee, and Wi-Fi have a high range while ANT, Infrared and Bluetooth provide a high data rate. Among these Wi-Fi supports varied modulation techniques, and also has moderate values for all parameters mentioned in the Table (Pothuganti & Chitneni, 2014). Bluetooth is the next best choice. Bluetooth has survived and later evolved as Bluetooth Smart or Bluetooth low energy. This helped bring a lot of connectivity in the "mobile server powered economy." Essentially, a phone would act as a middleware to fetch data from a sensor and send it over to the internet.
Table 1. Comparison between Technologies
Bluetooth is a wireless technology to replace the cables connecting electronic devices. This is ideal for IoT-based products for smart homes having a range of around 10 meters. It uses short-wavelength radio signals.
Zigbee is a low cost; mesh networked, low power consumption, low data rate, long battery life, and low power radio frequency-based protocol for IoT. Few considerations with ZigBee are that the data rates are limited to only 250kb/s but can have a range up to 100 meters with line-of- sight, and different Zigbee versions do not communicate with each other.
GSM technology covers a moderate range of area, has a moderate range, consumes low power, and uses the ATmega328 microcontroller in general (Business Corporate, 2018). An IoT application that operates over long distances can take advantage of GSM/3G/4G cellular communication abilities. While cellular can send high quantities of data, especially for 4G, the cost and power consumption will be too high for many applications. It is suitable for low-bandwidth projects that will send small amount of information over the Internet. Though the SMSbased systems satisfy the user needs and requirements are remotely used, GSM with GPRS isn't suggestible because if a connection is lost then the full system will not work (Čolaković & Hadžialić, 2018). Recharging of the data pack every month is also a factor to be considered while selecting GSM as a network technology.
RFID covers a small area ranging from 10cm to 200m with a data rate up to 4 Mbps. It is a bidirectional radio frequency identification system, which consists of tags and readers that can be interfaced to handheld computing devices or personal computers. This is cumbersome and a costly affair (Rich, 2020).
Z-Wave is a RF communication IoT technology that requires less power. It is primarily designed for home automation. ZWave uses a simpler protocol than few others, enabling faster and simpler development, but the only maker of chips is Sigma Designs compared to multiple sources available for wireless technologies such as ZigBee and others.
Wi-Fi's connectivity is more popular than other IoT communication protocols, and often an obvious choice for many developers, especially given the availability of Wi- Fi within the home environment within LANs. This is used within a range up to 150 meters. There is a wide existing infrastructure also offers fast data transfer and can handle high quantities of data. Currently, the most common Wi-Fi standard used in homes and many businesses is 802.11n, which offers a range of hundreds of megabits per second, which is fine for file transfers but may consume more power for many IoT applications.
ANT is a protocol requiring ultra-low-power which helps developers build low-powered sensors with a mesh distribution capability. ANT operates in 2.4 GHz band. ANT packet has 8-byte payload that is transmitted in 150 microseconds or less. This technology supports data rates of 1 Mb/s.
6LoRaWAN is a popular IoT Technology. It targets wide-area network (WAN) applications. The 6LoRaWAN design provides low-power WANs with features specifically needed to support low-cost mobile secure communication in IoT, smart city, and industrial applications. This specifically meets requirements for low- power consumption and supports large networks with millions and millions of devices. 6LoRaWAN has data rates ranging from 0.3 kbps to 50 kbps (Zanella et al., 2014).
NFC (Near Field Communication) is an IoT technology which enables simple and safe communication between electronic devices specifically for smart phones. Thus, allowing consumers to perform transactions where physical presence is not required. The user can access digital content and connect to electronic devices. It extends the ability of contactless card technology enabling devices to share data at a distance that is less than 4cm.
Cloud software completes an end-to-end IoT solution. Cloud service providers like Amazon (AWS), Microsoft (Azure), Google (Google Cloud), and IBM (IBM Cloud) offer a huge choice of IoT platform components that can be used to connect to smart homes and smart building deployments to manage, monitor and control IoT devices.
This is the brain of the system's architecture; it collects information through sensors and receives commands through remote control devices like a phone or laptop. A user interface is connected to the database via a web server. The database consists of the details of all the source devices which are connected to the sensors/actuators and their status. A user remotely accessing these source devices can query the device's status information from the database via the web server. The microcontroller manages all the operations and communications in the network. Microcontrollers should be cheap, easy to use and program, have enough resources for simple applications, and consume little electricity. Few microcontrollers are Arduino Uno Board, E310KIT, Adafruit Feather Huzzah32, SparkFun ESP8266, and Raspberry Pi.
Arduino Uno Board is the most favoured board in the Arduino board family. Arduino boards can interpret analog or digital input signals from various sensors and turn it into an output like activating a motor, turning LED off/on, connect to the cloud and many other actions. The board operations can be controlled by a set of instructions to the microcontroller on the board through Arduino IDE. Unlike most previous programmable circuit boards, Arduino Uno does not need an extra piece of hardware (called a programmer) to load a new code onto the board, instead a USB cable can be used. It uses a simplified version of C++, making it easier to learn to program.
E Series Evaluation Kit is offered by Particle Company, and are designed for building an IoT project. The E-Series is designed for long-term deployments in the field. It has an embedded SIM card that resists vibration, corrosion, and mechanical failure.
Adafruit feather versions are designed for prototyping on the fly and can be used for wearable devices or hand- held usage. It is easier for developers to share hardware. The Adafruit Feather line have many accessories called feather wings that accelerate development of a project.
Adafruit Feather Huzzah32 version is packed with everything needed to rapidly prototype a connected project. This version has a USB-to-Serial converter, an automatic bootloader reset, a Lithium Ion/Polymer charger, and a dual-core ESP32 chip, which means it, has both Wi-Fi and Bluetooth Classic/LE support. The Adafruit Feather 32u4 Bluefruit LE kit is designed around BLE (Bluetooth low energy). The Adafruit Feather 32u4 Basic Proto, is designed around power, this is useful in projects where saving battery life is the top priority.
SparkFun ESP8266 Thing board comes with the ESP8266, a low-cost Wi-Fi enabled microcontroller that can be used to blink LEDs or automate any project imaginable. SparkFun's inventor kits are highly regarded and are recommended for beginners looking for an Arduino starter kit.
Raspberry Pi is a single board-based computer that runs on Linux and is designed for prototyping computing applications. Raspberry Pi 400 is the latest version, is a powerful, easy-to-use computer that is built as a portable keyboard (Raspberry Pi, n.d.).
Table 2. Comparison between Raspberry Pi and Arduino Uno
From the varied microcontrollers available, the most used and readily accessed models are Raspberry Pi and the Arduino Uno. Even though both these boards run on very low power, power interruption in Raspberry Pi may cause damage to the software and applications whereas Arduino Uno restarts automatically. This necessitates Raspberry Pi to be properly shut down before disconnecting the power. Raspbian is Raspberry Pi's fully functional operating system. Raspberry Pi can use different operating systems (Singh et al., 2019). Though Linux is preferrable, android may also be installed.
Arduino Uno does not have any operating system rather the code written to it is interpreted. It is very easy to execute a simple code. Input and output pins allow these boards to be connected to other devices (Patil, 2016). Arduino Uno can be expanded using boards called shields that are easily installed for Arduino Uno (Irshad & Feroz, 2016).
Hence it can be understood that, Arduino Uno is good for repetitive tasks such as opening the garage door and switching the lights on and off, etc. While Raspberry Pi is good for performing multiple tasks, driving complicated robots. For example, if the soil moisture needs to be monitored and the details are to be mailed informing if it is necessary to water the plants, Arduino Uno can be used. In cases where the soil moisture needs to be monitored and if there is a need to increase moisture content, and the weather is to be checked online to know the possibility of rain, and if it is going to rain, the moisture content to be taken care without intrusion of any personnel required, and a mail or an intimation needs to be sent in scenarios when moisture content to be raised, if and there is no chance of rain, for such conditions Raspberry Pi is used. In simple terms, Arduino Uno is used for beginners' projects and complicated projects can be easily handled by Raspberry Pi.
Analysis of network technologies and microcontrollers has been done to determine their suitability for IoT applications with regards to the power, cost, range and scalability, and throughput requirements. It is recommended that ZigBee and BLE be used for home lighting, heating and ventilation systems, and wearables. For home security systems with door and surveillance cameras and for entertainment devices Bluetooth and Wi-Fi can be used, and Wi-Fi alone be used when high throughput requirements are needed. Arduino Uno is suggested when cost, power consumption and ease-of-use are dominant parameters. Also recommended when simple repetitive tasks need to be performed. Whereas, Raspberry Pi is suggested when performance, flexibility in the choice of software, programming languages and performance are the key factors. In scenarios where there is an occurrence of multiple cases while performing one instruction and intense calculations are required, then also Raspberry Pi is suggested.