Visible Light Communications for Internet of Things: Prospects and Approaches, Challenges, Solutions and Future Directions

: Visible light communications (VLC) is an emerging and promising concept that is capable of solving the major challenges of 5G and Internet of Things (IoT) communication systems. Moreover, due to the usage of light-emitting diodes (LEDs) in almost every aspect of our daily life VLC is providing massive connectivity for various types of massive IoT communications ranging from machine-to-machine, vehicle-to-infrastructure, infrastructure-to-vehicle, chip-to-chip as well as device-to-device. In this paper, we undertake a comprehensive review of the prospects of implementing VLC for IoT. Moreover, we investigate existing and proposed approaches implemented in the application of VLC for IoT. Additionally, we look at the challenges faced in applying VLC for IoT and offer solutions where applicable. Then, we identify future research directions in the implementation of VLC for IoT.


Introduction
There is a rising interest to provide wireless connectivity to "Things" through the internet infrastructure by extending the realms of the internet with a growing trend in smart city, smart grids, smart manufacturing, and smart transportation concepts [1][2][3][4]. The exponential growth of the Internet of Things (IoT) and the advancement in wireless communication have resulted in an astronomical increase in the number of 'Things' taking part in IoT causing a radio frequency (RF) spectrum scarcity [5][6][7]. Today, there is genuine concern for research efforts to investigate new wireless communication alternatives capable of delivering massive connectivity, diverse data rate, low latency, high capacity, and efficiency as well as high security. In this regard, visible light communication (VLC), which is an emerging and very promising wireless communication technique, could be considered capable of solving key challenges of wireless communications infrastructure in the wireless communication industry [8,9]. For example, most of the major challenges currently facing the implementation of 5G technology can be mitigated by the use of VLC [10][11][12][13]. Yet, the most desirable capability of VLC is that it offers an alternative to the already overloaded radio frequency (RF) spectrum with 10,000 times more capacity than the RF spectrum [14,15]. Furthermore, the VLC spectrum remains unregulated and unlicensed [16]. At present, it is the only safe-to-use bandwidth solution capable of alleviating the RF spectrum scarcity challenge [17]. Moreover, VLC can be deployed together with other critical communication systems and devices, e.g., in the airplane and hospital since it does not interfere with the electromagnetic fields generated by RF devices [18]. Currently, there are several ongoing studies aimed at transmitting medical data such as photoplethysmography, electrocardiography, and body temperature using VLC applications [19]. Unlike RF signals, visible light cannot penetrate through walls and does not spread uncontrollably making it appropriate for highly secured connections where wireless data transmission is intended to remain within the range of an access point [20,21]. For all these reasons, VLC can be applied to most IoT-based smart systems. As a result, a new paradigm in wireless communication known as the internet of light-emitting diode (LED) which integrates IoT with VLC using LED has been introduced and is being investigated. For instance, this technology has been applied in indoor navigation and art gallery monitoring where an array of LEDs on the ceiling of departmental stores and museums which act as a source of illumination are used to transmit the position of certain products and artworks to a user mobile device [19,[22][23][24]. Another area of application is in the automotive industry where LED headlights and taillights of modern cars have been used in automobile collision prevention systems through vehicular VLC [11,14,25]. In addition, VLC-IoT can be applied to transmit medical data in biomedical sensing and data transmission [19]. These and more attributes have made VLC an attractive alternative solution to RF signals for high data rate transmission and limitless broadband solutions. As a result, there is a new upsurge in research contributions on VLC and on how to improve different aspects of VLC communications. Additionally, many scientists and engineers are now making attempts in implementing VLC for different application areas to overcome specific communications challenges. Unfortunately, there is a dearth of contributions highlighting the potentials, prospects, approaches, challenges, and solutions on the implementation of VLC for IoT communications. Therefore, we recognize the need for an effort that combines the above-mentioned in a single work. The contributions in this paper are our attempt to provide a comprehensive review of the VLC-IoT paradigm and our contributions are summarized as follows:

1.
A point-by-point discussion on whether IoT needs VLC for optimal network performance or not is presented.

2.
A network architecture prototype for the deployment of prospective VLC-IoT networks is proposed. 3.
The existing and proposed approaches used in the implementation of VLC for IoT are presented.

4.
The benefits and challenges of implementing VLC for IoT are presented and solutions are suggested where applicable.

5.
Future research directions are identified and discussed on different aspects of VLC and the application of VLC technology.
To the best of our knowledge, there is yet to be a comprehensive survey that combines the prospects, existing and proposed approaches, challenges, solutions, future research directions in applying VLC for IoT in a single review paper. The rest of the work is organized as follows. Section 2 discusses related contributions. In Section 3, an overview of the VLC-IoT concept is presented. Section 4 investigates whether or not VLC is necessary for the deployment of IoT networks. In Section 5, we present our proposed VLC-IoT network architecture. Then, existing and proposed VLC-IoT approaches are presented in Section 6. The benefits of VLC for IoT are highlighted in Section 7. Section 8 identifies the challenges, solutions, and future research directions of VLC for IoT. Finally, Section 9 concludes the paper.

Related Works
In this section, we give an overview of related contributions to the application of VLC for IoT and other applications in the literature. While many papers have discussed the application of VLC for diverse wireless technologies, only a few have highlighted VLC for IoT in particular. In [1], the fundamentals and challenges of indoor VLC systems were investigated. Additionally, the authors identified the characteristics of channel models in indoor VLC as well as presented the theoretical details of channel modeling. In [5], the authors proposed a VLC system design for IoT by integrating VLC in the dark and utilized orthogonal frequency division modulation (OFDM) to overcome the limitations of traditional VLC for data transmission. In a similar contribution [9], VLC-over-UART systems were proposed and bit error rate analysis was used to evaluate the performance of the proposed system. In another contribution [18], an overview of the potentials of LiFi in transforming indoor lighting into the backbone of wireless communications was carried out. In [4], the concept of VLC was introduced and the application of VLC-as well as some of the challenges facing VLC-were discussed. Similarly, in [26], VLC opportunities for future 6G as well as other novel VLC concepts were discussed. The challenges and potentials of VLC for industrial applications were presented in [27] by examining the latest research trends in VLC systems. In their contribution, the authors in [28] highlighted how optical wireless communications (OWC) have contributed to 5G and IoT solutions. In [3], the concept of light-based internet of things (LIoT) was introduced and discussed. Lastly, in [10], as part of their contributions, the authors gave an overview of the challenges and applications of optical IoT (OIoT) in relation to VLC and optical camera communications (OCC) as part of 5G standards. In Table 1, we summarize the differences in the contributions in our paper in comparison to cited related works.

Overview of the VLC-IoT Paradigm
This Section presents an overview of VLC and IoT which is followed by a point-bypoint discussion on whether the integration of VLC services into the IoT network is vital or not.

VLC: An Overview
Currently, LED lights are widely spread in our daily life. In addition, the IEEE 802.15.7 group recently issued a draft standard on OWC based on the progress in actual research regarding the improvement at the physical and data link layers of the performance of LED-based VLC. Moreover, VLC is defined in IEEE 802. 15.7-201115.7- [IEEE_802.15.7-2011 as one of the communication solutions for meeting specific communication challenges using visible light. For example, some industry areas may be subject to limited RF communication environments, such as factories, mines, or underground facilities. In such environments, a dedicated communication technology is required [11]. The choice of VLC as a physical media support for IoT communication is due to several factors among them the network scalability, the interference mitigation, and the RF frequency bands scarcity. Moreover, VLC offers no interference to existing RF-based communications with the main advantage of being not subject to a license to use the spectrum of visible light. Additionally, VLC provides accurate location-based communication, in contrast to existing low-power communication, such as Bluetooth low energy (BLE) and near-field communication technologies [27].

IoT: An Overview
Recently, IoT is moving from a limited usage M2M type communication system to a global IoT network service with a large impact on our daily life [29]. Furthermore, with AI and robotics, IoT constitutes one of the pillars of 4IR with all the emerging smart environments and things that will be built and deployed to assist in dedicated application domains, ranging from smart cars, smart cities, smart campuses to smart manufacturing [30,31]. Wireless communication technologies such as narrow band-IoT (NB-IoT), BLE, and Zig-Bee, as well as the protocols to support packet delivery, such as CoAP [RFC7252], MQTT [MQTT], MQTT-SN [MQTT-SN], and within the scope of hybrid communication support for the physical and transport layers. Moreover, as IoT is going to fully support the digitalization model, cloud computing will be the main support, and a set of standards and software have been designed to assist in developing IoT systems and products (Open Connectivity Foundation (OCF) or oneM2M). At the device level and regarding physical media access, the main challenge concerns scalability. Even if 5G is supposed to provide the needed frequency bands, supporting IoT only by the cellular network providers will not be possible due to different factors such as the legislation, country by country regarding frequency band allocation, and mainly the under 1G band [32].

VLC-IoT: Is VLC Really Necessary for IoT Networks Deployment?
In this section, we ask the important question: Does VLC improve IoT performance? Clearly, ubiquitous IoT needs massive connectivity, high reliability, high data rate, and high positioning accuracy as well as low latency and low power consumption with improved security [33,34]. Furthermore, the ever-growing number of IoT devices imposes a new challenge on the IoT network to deliver high-speed data transmission to support the different application services of devices, things, and machines. This is in spite of millimeter wave (mmWave) being capable of supporting high-speed short-range communications [33]. However, the rapid growth of wireless communications is poised to overwhelm the mmWave and RF spectrum. On the other hand, the license-free VLC spectrum supports high-speed transmission with boundless capacity. The network capacity in massive IoT deployment can be improved by executing small cells in 5G wireless networks [18,26,28]. Yet, co-channel interference in densely deployed small cells will limit the extent to which IoT network coverage can be extended through small cells deployment [28]. Similarly, cross-layer interference in heterogeneous 5G networks can limit network capacity for massive IoT devices [35]. However, VLC does not generate electromagnetic interference nor does it interfere with RF communications. Therefore, it can be deployed in scenarios that are electromagnetic interference sensitive. Currently, high power consumption in 5G networks with a massive number of IoT devices is a big challenge in wireless communications. As a result, the current RF-based 5G wireless networks cannot support massive connectivity with high-speed data rate transmission of massive IoT devices. Similarly, the high cost of hardware and design complexity of mmWave communications due to multiple antennas implemented at both the receivers and transmitter deters massive connectivity of massive IoT devices [16]. However, VLC is cost-effective because it deploys existing lighting infrastructure also due to the low cost of its front-end components. Moreover, VLC offers high accuracy localization for object tracking and navigation through visible light positioning (VLP) [36,37]. Moreover, VLC is safe for indoor environments unlike RF-based positioning systems [37]. Furthermore, security is a key challenge in massive IoT as a result of the large number of devices involved which attracts an equally large number of attackers. Conversely, VLC offers high communication security because VLC does not penetrate walls like RF waves that easily penetrates walls and buildings making it vulnerable to eavesdroppers [26,34]. Due to these unique features, VLC can either be deployed to complement or totally replace RF-based solutions for numerous IoT-based indoor and outdoor applications to provide more bandwidth and coverage. Another approach is to develop IoT devices that can use a hybrid of VLC and 5G networks to achieve envisioned high data rates.

Proposed VLC-IoT Network Architecture
Obviously, the numerous promising features of VLC mentioned above engender VLC as an attractive solution where connectivity and quality of service (QoS) for massive IoT devices are challenges. Therefore, VLC needs to be integrated with IoT in such a manner that it supports massive connectivity and meets the stringent QoS requirements of IoT devices. In this section, we propose a network architecture prototype for the deployment of a prospective VLC-IoT network. Figure 1 shows our proposed VLC-IoT architecture. The proposed architecture comprises a VLC-aided central network, e.g., VLC-aided smart home, VLC-aided smart transportation, etc., a set of sensors and actuators and APs that are capable of communicating with VLC-IoT devices with different communication technologies [16,38]. Essentially, each technology and network is a sub-network of the architecture. The central network, e.g., the VLC-aided smart home consists of a number of VLC APs fitted to the room ceiling or street/traffic lights in VLC-aided transportation [39]. Each VLC APs has LED lamps for lighting which also supports communication for IoT devices. The sensors and actuators network consist of sensors that collect and transmit data as well as actuators that perform specific IoT-related functions [40]. A ZigBee coordinator manages and controls the interaction and communication between the sensor and actuators that use the ZigBee communication protocol, while a VLC gateway coordinates the communication of nodes in the sensors and actuators network that use the VLC protocol [41]. The communication between the central networks and the sensor and actuator network is executed using LoRaWan/LTE-M to permit long-distance communication between the sensors and the internet network. The architecture deploys a frame format that permits node discovery, identification, and routing so that each node can effectively communicate with other nodes in the architecture. The frame format is capable of redirecting data and controlling messages between the different subnetworks and is compatible with VLC technology. When a frame arrives at an AP, the AP reroutes it within a subnetwork or outside the subnetwork using unique node identifiers and a MAC which directs the frame to the destination IP address [19,38]. The frame translation, re-routing, node identification, and communication functionalities which guarantee interoperability between the different technologies are realized by a layered model. The protocol stack executed in the model allows the VLC-IoT nodes to translate frames arriving from different technologies and to redirect them to the IP address inside the cell or outside the cell. The resultant frame is suitable for communication with any device on the network regardless of their subnetwork or protocol. As presented in Figure 2, the protocol stack is driven using a cross-layer optimizer. Moreover, the protocol stack is implemented in a software-defined fashion to enable intelligent and fast adaptability to achieve optimized performance between protocol layers. The front-end hardware implemented in the VLC-aided IoT network are LEDs as transmitters and photodiodes, optical cameras as receivers, and LoRa gateways.

VLC-IoT: Existing and Proposed Approaches
Different approaches have been adopted for the realization of the VLC-IoT paradigm. In this section, we discuss the existing and proposed approaches that have been implemented in the literature.

Multiple Access Technique in VLC-IoT
Conventional multiple access techniques used for RF communication are usually deployed in most VLC-IoT networks. Moreover, most of these techniques are implemented without considering the unique characteristics of VLC. Nonetheless, a few techniques have also been proposed and developed for VLC.

Existing Approaches
The existing multiple access techniques that are usually implemented for VLC-IoT include the following and we provide a detailed account of the techniques below.

1.
Orthogonal frequency division multiple access (OFDMA) scheme OFDMA is an orthogonal multiple access (OMA) scheme used to facilitate the efficient deployment of bandwidth [42]. The OFDMA scheme achieves high data rates and mitigates mutual interference by allocating multiple devices to separate narrow-band orthogonal subchannels to guarantee the QoS requirements of devices [16]. However, the implementation of OMA-aided techniques for massive connectivity with diverse QoS requirements is a challenge due to the scarcity of wireless resources. Although VLC mitigates the scarcity of wireless resources, nevertheless, OMA schemes cannot be applied directly for intensity modulation and direct detection (IM/DD) systems. This is because most of these techniques are developed for RF-based systems and have been adopted for VLC without considering the unique characteristics of VLC systems [4].

2.
Code division multiple access (CDMA) scheme In the CDMA scheme, multiple VLC-IoT devices can transmit concurrently in a shared time slot [33,41]. The optical CDMA (O-CDMA) was developed specifically to mitigate multipath interference challenges experienced in VLC systems [16]. The O-CDMA utilizes optical orthogonal codes (OOC) comprising of a sequence 0 s and 1 s. However, in massive IoT, it is a challenge to generate OOC for each device. As a result, the random optical code (ROC) was developed for massive connectivity VLC-IoT systems. Another approach has been considered for massive connectivity in VLC-IoT systems is to combine color shifting key (CSK) modulation with OCDMA.

3.
Space division multiple access (SDMA) scheme By exploiting spatial diversity, frequency-time resources can be shared by multiple devices in the SDMA scheme [17,33]. Furthermore, since the SDMA scheme is unaffected by the number of devices it can be deployed for massive IoT [16]. However, in order to apply SDMA directly for VLC-IoT systems, directional light beams have to be generated via the limited field-of-view of the LEDs. Similarly, a higher aggregate uplink data rate can be achieved through SDMA by using a CMOS sensor at the VLC-IoT access [38,40].

4.
Non orthogonal modulation access (NOMA)-aided VLC (in indoor down link VLC networks) NOMA is an emerging multiple access (MA) technique with the capacity to provide higher data rates than OMA due to its superior spectral efficiency [43]. NOMA exploits the power domain at the transmitter and continuous interference cancellation (SIC) at the receiver to enable multiple devices to transmit simultaneously on the same bandwidth or in the same time slot without mutual interference [42]. NOMA is a suitable MA technique for VLC-IoT systems because the technologies implemented in NOMA support an increasing number of connections, improve network capacity, and reduce network latency. Furthermore, the short distance between the transmitter and receiver in VLC systems enhances high-performance gain in NOMA-aided VLC-IoT. Again, the power allocation and decoding order in NOMA, which exclusively depends on the channel state information, can accurately be estimated in VLC systems due to its constant channel gain making VLC-IoT easily compatible with the NOMA technique [16,33,38].

Proposed Approaches
The following approaches have been proposed for VLC-IoT and a detailed account is presented in the subsection.

NOMA to MIMO-VLC
In recent times, the deployment of MIMO to increase system capacity in VLC systems (MIMO-VLC) by using equipped LEDs has been widely implemented. By extension, the application of NOMA to MIMO-VLC networks has recently been proposed in the literature-albeit not explored extensively. Moreover, existing technologies utilized for NOMA-aided VLC networks would have to be upgraded while entirely new approaches need to be developed to implement NOMA for MIMO-VLC networks. Some power allocation techniques have, however, been proposed for MIMO-based networks [16,33,38]. Nonetheless, these techniques can so far only be implemented for NOMA-aided RF-MIMO systems. At the time of writing, these approaches are yet to be deployed for NOMAaided MIMO-VLC networks. This is because of the special characteristics of light waves implemented in VLC systems as well as the high computational complexity of NOMA aided MIMO-VLC networks [42]. In addition, at this stage, the power allocation approaches deployed for single LED NOMA-aided MIMO-VLC cannot directly be applied in multiple LEDs NOMA-aided MIMO-VLC networks. Therefore, efficient low complexity power allocation techniques required for the deployment of the proposed NOMA aided MIMO-VLC networks for high-speed data communication are also a major concern [38,41].

2.
Orthogonal frequency-division multiple access (OFDMA)-based VLCP Some IoT devices, e.g., robots require the integration of both high-speed transmission and high-accuracy positioning (VLCP) for indoor IoT setups [6,41,44]. For this reason, techniques such as the OFDMA-based VLCP which combines orthogonal frequency-division modulation (OFDM) with two-dimensional (2D) positioning algorithms for integrated VLCP systems have been proposed. However, OFDMA-based VLCP systems suffer from high out-of-bound interference (OOBI) of OFDM signals. As a result, an OFDMA-based VLCP system needs large guard bands to mitigate OOBI resulting in degraded communication and positioning performance as well as decreased bandwidth utilization efficiency. However, a different technique, the OFDMA-interleaving-based VLCP where idle positioning subcarriers are deployed to create frequency holes in the frequency domain can be deployed to mitigate this challenge. In such a case, positioning signals (blue color) that are immune to OOBI from OFDM signals are employed to fill the frequency holes in order to achieve higher positioning accuracy and bandwidth utilization performance.

3.
Filter bank multiple carrier (FBMC)-based VLCP Another technique proposed in the literature to mitigate OOBI for VLCP systems is the FBMC-based technique. This scheme uses the FBMC technique to filter interference leakage of each communication subcarrier to mitigate the negative effects of OOBI [12,45]. In addition, FBMC-based VLCP improves spectral efficiency and the utilization ratio of subcarriers. Moreover, FBMC-based VLCP increases the positioning accuracy of VLCP systems. However, FBMC-based VLCP needs extra signal processing at the transmitter which results in high computational complexity [16].

Modulation Techniques in VLC-IoT
An overview of the existing and proposed modulation techniques implemented for VLC-IoT including on-off key (OOK) and PPM is presented.

Existing Approaches
Based on the review of the relevant literature, we have identified the following modulation techniques as the existing modulation schemes deployed for VLC-IoT.

1.
On-off key (OOK) modulation The on-off key (OOK) modulation is one of the most employed modulation schemes for VLC-aided systems. In actual fact, it is the most widely deployed modulation scheme for intensity modulation/direct modulation in low-to-moderate data rate VLC systems. In addition, OOK is widely used for dimming control in VLC-IoT systems [16,33,38,41]. To achieve a dimming target, OOK adds a group of redundant 0 s and 1 s to a signal and allocates different light intensity levels to the 0 s and 1 s to achieve the dimming goal [41]. Although, by adjusting the light intensity allocated to 0 s and 1 s, the negative impact of adding redundant bits on the performance of the VLC-IoT system is eliminated. However, it leads to chromaticity shifts by under-driving the LEDs. Nonetheless, OOK is still the most deployed modulation scheme in VLC-IoT systems due to its simplicity and low power consumption [38]. Other advantages of OOK include the fact that it is not hardware and resource intensive [16,33,46].

2.
Pulse position modulation (PPM) In the pulse position modulation (PPM) scheme a single pulse is transmitted in each period of L equal time slots. This scheme is based on the pulse position wherein the position of a pulse signifies the symbol that is transmitted. The PPM is a commonly deployed modulation scheme in VLC systems due to the simplicity of its implementation [16,33,41]. Besides, the PPM has a greater power efficiency than OOK albeit with higher complexity and increased bandwidth requirements. Hence, several variants of the PPM, e.g., multipulse PPM (MPPM) and overlapping PPM (OPPM) have been advanced where multiple pulses can be transmitted during the duration of a symbol to achieve higher spectral efficiency and dimming control. Similarly, a new variant known as the variable PPM (VPPM) has been proposed specifically for VLC systems in which the pulse width of the transmitted symbol can be adjusted to achieve different dimming level requirements. To further improve spectral efficiency and improve dimming control levels other variants of the PPM which combines both MPPM and OPPM known as the overlapping multiple PPM (OMPPM) have recently been proposed. In the OMPPM, more than one pulse position is permitted in each optical pulse [6,9,38].

Proposed Approaches
The proposed modulation schemes implemented for VLC-IoT such as DMT, and CAP which offer much higher throughputs are discussed in this section.

1.
Color shifting key (CSK) The CSK modulation was proposed in the latest IEEE 802.15.7 standard where transmitted bits are encoded to specific colors in the color space chromaticity diagram (the CIE 1931 coordinates). However, the major limitation of CSK is that it cannot be implemented in VLC systems where the light source is phosphorus-based LEDs [47]. In addition, the application of CSK involves complex circuit structures. Nonetheless, the IEEE 802.15.7 standard PHY III specifies the use of CSK for systems equipped with multiple sources of light and color-filtered photodetectors. Additionally, the combination of CSK modulation with OCDMA has been proposed in VLC-IoT systems to enable massive connectivity by allowing the simultaneous transmission to multiple users [34].

2.
Discrete multitone (DMT) The nonlinear characteristics of LEDs can impact severely on the performance of VLC systems. To mitigate this drawback, techniques such as DMT which defy non-linearity have been proposed [48,49]. In DMT modulation, a single-carrier signal is divided into multiple independently modulated flat subcarriers that are orthogonal to their corresponding timedomain waveforms [50]. Thus, signal transmission is optimized over the subcarriers due to the flat channel response within the subcarriers by means of adaptive bit-loading. Again, in DMT, the signal power distribution over the subcarriers can be adjusted to have similar BER performance for enhanced and efficient use of available bandwidth. To further improve BER performance, a post-distortion non-linear elimination algorithm can be applied together with DMT in VLC systems [49]. Presently, a 1 Gb/s transmission rate has been demonstrated in VLC using white LED and DMT signal [50]. In addition, a 1.5 Gb/s transmission has been achieved over 10 m LED-based SI-POF link using a multilevel CAP modulation [51].

3.
Carrier-less amplitude-phase (CAP) CAP is a high spectral efficiency modulation scheme that is similar to OFDM and is a variant of quadruple amplitude modulation (QAM) [52,53] in which two pulse amplitude modulated signals are filtered using pairs of orthogonal pulse shaping filters forming a Hilbert pair [53]. The deployment of two orthogonal baseband signals in CAP eliminates the need for discrete Fourier transform and inverse discrete Fourier transform [52]. Another unique feature of CAP is that it can be implemented as a single or multiband scheme. CAP has a low peak-to-average power ratio (PAPR) in comparison to DMT when deployed as a single carrier modulation [54]. For this reason, CAP has been proposed in VLC-IoT scenarios where power constraints are imposed by the transmitter front-end and design considerations. A comprehensive article on the implementation of CAP in VLC is presented in [54]. Other advantages of CAP include less complexity and easy implementation [55] as well as lower power consumption and lower cost [52].

Handover Mechanisms in VLC-IoT
A quick search of the latest research contributions in VLC shows that more contributions are aimed at supporting multi-user access, enabling bi-directional transmission, and achieving high speed in VLC systems. Nonetheless, an essential albeit not widely researched topic for the VLC is the handover process. The handover process guarantees that VLC-IoT devices can maintain seamless connection when they move from one access point (AP) to another AP without dropping connection.

Existing Approaches
It is important that the unique characteristics of the VLC systems are taken into consideration when implementing a framework for a handover mechanism in VLC-IoT systems. Based on the literature, we have highlighted the different existing handover processes deployed for VLC systems especially in scenarios where massive-IoT connectivity is a requirement.

1.
Vertical Handover Similar to a typical vertical handover mechanism in RF systems, vertical handover in VLC-IoT systems occur between different access layers. However, in VLC-IoT systems, this type of handover is usually triggered when there is a line-of-sight (LOS) blockage. For example, when a VLC-IoT device experiences a LOS blockage to a VLC AP it can connect to an RF AP to maintain seamless connection and guarantee QoS requirements of VLC-IoT devices [56].

Horizontal Handover
This handover mechanism is commonly executed in mobile VLC-IoT devices to maintain seamless connectivity and to prevent inter-cell interference. In this respect, a moving VLC-IoT device switches its connection from one VLC AP to another VLC AP seamlessly to maintain connectivity [56]. Some information, e.g., speed, direction, and acceleration of the mobile VLC-IoT device are significant when estimating what time a handover will be required. In addition, this type of information is vital to improving the performance of the handover mechanism.

Proposed Approaches
A review of the relevant literature shows that a few handover techniques have been proposed for VLC-IoT to improve specific key performance metrics of the VLC-IoT system by taking into consideration the unique characteristics of VLC systems. We provide a brief account of such a handover mechanism below.

Received signal intensity-based vertical handover (RSI-VH)
This handover mechanism is designed based on the received signal intensity (RSI) values of the APs at the VLC-IoT devices. This handover process is usually triggered when the RSI value of any neighboring APs of a VLC-IoT device is greater than the RSI value of the current AP serving the VLC-IoT device [57]. This handover technique was majorly proposed to improve throughput and QoS satisfaction levels of VLC-IoT systems [58].

Non-line-of-sight-based vertical handover
This handover process is proposed to reduce unnecessary/avoid frequent handover in VLC-IoT systems to improve system performance. In the proposed handover mechanism, a VLC-IoT device waits for a set time (dwell period) when it detects an LOS blockage instead of immediately implementing a handover [56]. When the dwell period expires, if a neighboring AP with better channel resources is available, the VLC-IoT devices handovers to it. Otherwise, the VLC-IoT device will remain with it current serving AP until the blocked link is restored [57].

VLC-IoT: Existing and Possible Network Topologies
The VLC technology is still an evolving technology. As a result, it has not fully adjusted to IoT requirements of low-cost, low power, low complexity, and small devices. Presently, the VLC technology is implemented using field-programmable gate arrays (FPGAs) or digital signal processors (DSPs) [59,60]. However, FPGAs or DSPs do not match IoT massive-connectivity requirements in terms of low power consumption, low cost, and small size. For the purpose of communication, IoT relies on wireless communications majorly comprising of nodes and gateways commonly referred to as wireless sensors networks (WSNs) [60]. These nodes perform specific tasks, e.g., temperature and humidity sensing whereas the gateways function as the interface between the nodes and the internet. Nodes in WSNs can operate in different network topologies depending on routing algorithms and applications.

Existing Network Topologies
The commonly deployed network topologies deployed in WSNs are Star topology. In the star topology, all the nodes are connected to one gateway through dedicated links. Whereas in Mesh topology, each node has a dedicated point-to-point link to every node in the network and some nodes can function as data relay between devices and gateways. Moreover, intermediary data connectors can be deployed between nodes and gateways to form tree networks [60].

Proposed Network Technology
Existing IoT communication technologies e.g., LoRaWAN, SigFox, NB-IoT, WiFi, BLE, NFC, and ZigBee are able to function well in the star topology [61]. By extension, VLC-IoT systems can be deployed in a star topology due to their simplicity in applying routing algorithms which reduces network complexity [60]. In real VLC scenarios or testbeds, which deploys existing infrastructures, an LED fitted to a ceiling can act as a gateway communicating with several IoT devices in a star topology. Thus, several LED light sources acting as a separate gateway can communicate with hundreds of non-interfering small cell networks with a high probability of LOS link and high signal-to-noise ratio [60].

VLC-IoT: VLC Benefits for IoT
The potential benefits of VLC for IoT are immense. In this section, we investigate the benefits of VLC for IoT.

1.
Massive IoT device connectivity With IoT moving from a limited usage machine-to-machine (M2M) type communication system to a global IoT network service needing massive connectivity, a high-speed network connectivity becomes essential. Conversely, due to the usage of LEDs in almost every aspect of our daily life, VLC is providing massive connectivity for various types of massive IoT communications ranging from M2M, vehicle-to-infrastructure, infrastructureto-vehicle, chip-to-chip, and device-to-device [28].

2.
Ultra-high-capacity hybrid radio-optical wireless networks The high data rate, intrinsic security, and safety of VLC joined with the flexibility and scalability of radio communications create a high-performance and robust hybrid communications system to meet the ultra-high network capacity requirements of IoT networks. Having hybrid devices and a reconfigurable network that can adapt to their radio environment by dynamically selecting the best operating modes will result in a high-performance wireless communications network. Research contributions in VLC have proposed and demonstrated that nodes or devices equipped with both radio and optical interfaces can exploit the best features of both communication systems to support high data rate services [26].

3.
Low-energy-consuming networks with energy autonomous nodes The vision of IoT is to connect virtually all the devices in the world to the Internet. As a result, there is an exponential rise in the number of devices participating in IoT with the number expected to hit an unprecedented landmark rapidly [28]. Therefore, one of the big challenges IoT is expected to face is the energy to operate these massive number of nodes since most of them will run on batteries in remote locations. Fortunately, LED sensors will help IoT to save a lot of energy since LED sensors consume less energy compared to RF sensors [62]. Similarly, the concept of LIoT where network nodes can harvest the energy they need to transmit and receive information from light has resulted in low energy-consuming networks with energy-autonomous nodes [26].

4.
Highly reliable dense small cell networks for large scale VLC-IoT communications The vision of IoT to connect billions of devices can be achieved by deploying highly dense small cell networks. Moreover, the VLC concept supports the deployment of highly reliable dense small networks through the high flexibility and controllability of LED lights [26]. For example, hundreds of non-interfering small cell networks with a high signal-to-noise ratio can be created in a large room using several LED light sources. By extension, multitier networks comprising of satellite, macro cells, and small cells can be created using hybrid communications systems. In this case, the small cell can contain both VLC networks and RF femtocell to meet the demand of massive connectivity of IoT networks as well as for large-scale VLC-IoT communications.

VLC-IoT: Challenges, Solutions, and Future Directions
The deployment of VLC for IoT imposes new communications challenges. In this section, we identify such challenges and suggest potential solutions.

Challenges and Solutions
In this section, we discuss the specific challenges that are met when implementing light waves for IoT applications due to the unique characteristics of light waves and provide possible solutions. The challenges imposed by VLC on VLC-IoT are presented in Table 2 and include: Limited modulation bandwidth of off-the-shelf LEDs One of the major challenges of implementing VLC for IoT is the limited modulation bandwidth of off-the-shelf LEDs. In the current infrastructure system, the wavelength of existing off-the-shelf LEDs deployed for lighting purposes and employed for data transmission in the VLC technology is too short to encode information in the signals phase using the current technology. This is because of the limited linear operation region of LEDs for electro-optical conversion which requires that modulating signal falls within strict amplitude constraints in order to mitigate nonlinear effects [63].

Suggested possible solutions
To mitigate this challenge, we suggest (1) the use of multiple-input multiple-output (MIMO) advanced modulation and multiple access schemes including those proposed in some parts of this survey, (2) the use of smart LEDs, which in the long run saves cost because it last longer and can have different degrees of brightness and different colors which mitigate the problem associated with modulation when using "dumb" LEDs 3.
Extended link distance in outdoor VLC-IoT applications In outdoor VLC-IoT, e.g., in satellite and deep-space applications, unlike most indoor VLC applications, the distance between the transmitter and the receiver is relatively longer. Moreover, the short-wavelength of OWC limits the transmission range of VLC to a few meters. Therefore, the extended distances in outdoor VLC-IoT applications limit the number of areas in which VLC high data rate can be applied for IoT since increasing the distance by a few meters decrease the data rates [64]. Other challenges imposed by the extended transmission range of outdoor VLC-IoT applications include ISI, inter-cell interference (ICI), and co-channel interference (CCI).

Suggested possible solutions
The problem of extended link distance in outdoor VLC-IoT applications can be resolved by the following suggested solutions: (1) the use of relays to extend the transmission range of VLC-IoT applications, (2) deploying LEDs-to-camera VLC for extended range of transmission, e.g., RGB LEDs (with a data rate of >10 Gb/s over 1.5 to 2 m) and RGB/white LEDs (with data rates of 125 Mbits/s over 5 to 6 m), (3) development of hybrid OFDM and CDMA resource allocation algorithms that are capable of reducing ISI and ICI for extended transmission range [12].

5.
Line-of-sight (LOS) signal loss and shadowing effects The requirement for the transmitters and receivers to be aligned for short-distance communications with small field of views (FOVs) is a major source of concern in VLC-IoT especially in mobile VLC-IoT devices, e.g., in robots with moving parts. This is because a clear and uninterrupted path between transmitter and receiver is always required to maintain effective communications [46]. Similarly, when humans are deployed together with robots, e.g., in smart factories the quality of the VLC link can be degraded by moving human bodies due to shadowing effects.

6.
Suggested possible solutions We suggest the following solutions to mitigate the problem of LOS in VLC-IoT including: (1) using antennas with high spatial diversity to ensure that at least one uninterrupted signal connection is always guaranteed at any point in time, (2) using multiple MIMO antennas to reduce the risk of LOS signal loss due to interrupted signals, and (3) using transmitters with ultra-wide FOVs to eliminate loss of signals.

7.
Lack of recognized channel models for VLC-IoT communications Though several aspects of VLC have witnessed considerable advancements due to increased research contributions in VLC, the same, however, cannot be said about channel models for VLC. The lack of a recognized channel model for VLC is still an open research challenge. Presently, channel modeling for visible light links especially for outdoor non-lineof-sight environments is still mainly based on preliminary empirical measurements, e.g., LEDs are treated as Lambertian emitters when calculating the channel gains in VLC. Other factors that may affect visible light links include alignment between the transmitter and receiver, scattering, free space loss, absorption, and scintillation noise due to atmospheric turbulence [16,38].

Suggested possible solutions
We propose the following solution for solving the lack of recognized channel models for VLC links: (1) the characteristics and theoretical details of channel models for indoor and outdoor VLC should be identified and investigated, (2) the validity of existing theoretical channel models for VLC-aided networks should be tested in different transmission medium so as to establish a recognized channel model for VLC links.

Future Research Directions
The advancement in electronics and telecommunication engineering has led to the development of enhanced components and technologies in VLC. Therefore, there is bound to be renewed research efforts in VLC-IoT. We discuss some possible future research directions and provide a summary in Figure 3.

1.
Development of improved handover mechanisms Shadowing effects and LOS signal loss due to moving IoT devices as well as a blockade from machines/human operators deployed together with IoT devices are major challenges to the performance of VLC-IoT networks. Therefore, robust handover mechanisms that can guarantee communication connectivity and QoS requirements under LOS blockages should be investigated and developed for VLC-IoT networks for improved performance [65,66].

2.
Advancement of improved receiver camera for VLC-IoT infrastructure It is envisioned that the advancements in electronics engineering will bring about the development of improved electronics components such as the optical communication image sensor which is capable of providing higher bits' rate communication compared to existing camera chips [67]. In the future, when these chips are manufactured and eventually deployed, VLC-IoT communication will occur at a much higher rate in comparison to the current rate. Moreover, camera-based VLC is the candidate for the IEEE 802.15.7rl optical camera communications standard and a key future component in the envisioned VLC-IoT technology [68].

3.
Deploying VLC for vehicular communications in road tunnels The RF signals currently deployed for vehicular communications in intelligent transport systems suffer from some constraints that affect their performance, particularly in road tunnels. The fact that light waves are more reliable than RF signals in closed spaces makes VLC an attractive solution for the future of vehicular communications and IoT technologies in road tunnels. However, more research needs to be carried out with complex simulations scenarios where the channel is estimated as a time-variant system to determine the maximum achievable frame size and link duration. Moreover, external agents that affect the VLC channel inside a tunnel should be investigated [69].

4.
Software-based approach to VLC-IoT infrastructure Current research trends show that IoT communications contemplate VLC infrastructureoriented communications as the preferred solution for high data rates communications. However, in the future, IoT applications with modest bandwidth requirements could run on a software-based VLC framework requiring minimal network interfaces [70]. It is envisioned that in the future, VLC-IoT hardware components would no longer need to take critical control decisions locally as they can be programmed from a remote interface [70]. Therefore, the details of protocols of software-centric approaches that are likely to play key roles in the future of infrastructure-less VLC systems need to be studied and investigated [71].

Conclusions
VLC is a promising and emerging technology. Therefore, there is an attraction to apply it for almost every single application. Accordingly, in recent years, the VLC concept has gained a lot of attention. However, it was discovered that most contributions have been geared towards improving the speed and data rate of the VLC concept leading to a lack of a comprehensive review of the application of the VLC concept to improve other wireless communication technologies. For instance, IoT combined with AI and robotics has transcended M2M type communication to become the pillars of 4IR with all the emerging smart environments and things that will be built and deployed to assist in dedicated application domains, ranging from smart cars, smart cities, smart campus to smart manufacturing. Although, 5G is supposed to provide the needed frequency bands for IoT, nonetheless, supporting IoT only by the cellular network providers will not be possible due to different factors such as legislation, country by country regarding frequency band allocation, and mainly the under 1G band. Therefore, in this paper, we undertook a comprehensive review of the prospects of implementing VLC for IoT. Moreover, we investigated existing and proposed approaches implemented in the application of VLC for IoT. Additionally, we looked at the challenges faced in applying VLC for IoT and offer solutions where applicable. Then, we identified future research directions in the implementation of VLC for IoT.