Cloud-based platforms for LoRa internet of things: a survey

ABSTRACT


INTRODUCTION
Internet of Things (IoT) provides network connectivity on small edge devices and offers new services at affordable prices. The main challenge in the conception of IoT applications and systems is to reduce deployment and maintenance costs of edge nodes due to the increase in the number of required edge nodes compared to that of hand-held devices. Edge nodes power consumption and hardware complexity can be minimized thanks to the wireless communication protocols specially conceived for IoT applications. In a similar vein, IoT systems maintenance costs can be reduced by dint of the cloud technology which offers the common service frameworks.
Two essential categories of wireless communication protocols, designed for IoT, are presented: short-and long-range communication protocols. The first category integrates Zigbee, Bluetooth, and WiFi. These protocols define short-range communication protocols conceived for IoT and suitable for the indoor environment. This kind of IoT systems is based on wired networks and application servers except the short wireless link relating between edge nodes and wireless gateways. The second category includes protocols of long-range wireless communication for IoT such as LoRa [1] and Sigfox [2]. The edge nodes of these systems do not require a battery replacement for several years. In addition, these nodes have tens of kilometers in communication range. Besides, these protocols are appropriate for the outdoors as tools of civil infrastructure monitoring or agricultural data sensing. It is necessary, however, to add network servers to manage more efficiently the radio resource between wireless gateways and application servers considering the channel states of multiple wireless gateways, which makes these long-range IoT systems different from the short-range ones. Some operator-based, low-power, long-range technologies like SigfoxTM cannot be used in an ad-hoc manner. Nevertheless, other technologies like LoRaTM suggested by Semtech radio manufacturer may be privately used. It is possible to deploy such technology following the newly suggested LoRaWANTM specifications [1] for large-scale interoperability or using absolutely ad hoc solutions where it is possible to realize customization toward specific application profiles. According to a previous survey on IoT cloud platforms [3], no less than 49 IoT cloud platforms are on the market to satisfy the needs of diverse individual users and groups like governments, enterprises, healthcare providers, farmers, transport operators, communications and manufacturing services. [4]. However, this relatively huge number has not helped the researchers and engineers much in their attempt to select the most appropriate cloud platform while endeavoring to develop IoT-based solutions to the problems of their clients/employers. This is largely due to the dearth of their knowledge about the multiple characteristics of these IoT cloud platforms and of the parameters decisive in their final platform selection. In particular, many metrics influence the IoT cloud platform choice for the LoRa protocol such as application domains, protocols, certified hardware, SDK/ language, connection, analysis, and cost.
In this article, we survey the IoT cloud platforms suitable for the LoRa protocol which enables lowpower and long-range communication. Several works handling LoRa cloud platforms are to be reviewed with the objective of making a technical and analytical comparison to evaluate the performance of some proposals based on the metrics mentioned above. The present study is the first attempt in the literature to survey plainly the IoT cloud platforms most used with the LoRa protocol.
The remainder of the paper is structured as follows: section II introduces the LoRaWAN and cloud computing concepts. It deals with different key issues in relation to both notions. Section III goes over the literature works which discuss the IoT cloud platforms used for LoRa protocol. An in-depth comparison between these works is included in section IV. Finally, some concluding remarks are drawn in section V which ends with some allusions to possible future avenues of research in the field.

PRELIMINARY CONSIDERATIONS
In this section, we present two essential notions used throughout the paper, namely LoRaWAN and cloud computing. First, we will define the basics of the concept LoRaWAN by insisting on the principle characteristics that warrant our choice of the LoRa protocol. Secondly, we define the cloud computing concept by highlighting its proven efficiency.

LoRaWAN
LoRa is a low-power, long-range wireless communication protocol for small, low-powered devices. This makes it very suitable not only for devices working on batteries but also for IoT implementation [5]. Figure 1 illustrates the LoRaWAN system components: terminal, gateway, network server, and application server. First, the terminal is defined as an edge device installed on remote sites. Second, the gateway is responsible for transferring packets from the LoRa terminals to the LoRa network servers and vice versa. The gateway is equally responsible for the transmission from the LoRa physical layer protocol to the protocols of the backhaul network. Third, the network server deals with upper-layer protocols for IoT systems. It exchanges control signaling messages of the MAC/L2/L3 layers with the terminals. Finally, the application server permits to handle the data gathered from IoT terminals. Broadly speaking, diverse organizations operate with the application server. Therefore, it does not depend on the IoT network protocols.
With the necessity of a low data rate, network connectivity, and a low power supply in the IoT applications, the LoRa protocol is considered very efficient. Long-range communication and low power consumption are made possible through the use of the low data rate features of the IoT applications. LoRa is actually distinguishable from previous wireless communication systems by its sacrificing the peak data rate [6] in order to realize low power consumption and long-range communication.
The LoRa network server has three categories of functions: management operations, encryption, and medium access control (MAC). The first category, i.e. management operation, consists in installing and uninstalling application services and devices. The second category of encryption serves to protect the data gathered by LoRa terminals. The MAC category role is to ensure the management of radio resources in order to ameliorate its network throughput. For that to happen, channel status information is collected and the data transmission interval of terminals is controlled by the LoRa network server. In addition, this server Two essential operations of the LoRa network server exist: uplink and downlink operations [7]. Uplink consists in transmitting data from LoRa terminals to LoRa gateways through a wireless link. Downlink defines transmission in the opposite direction, i.e. from the gateways to the terminals. For Uplink operation, it is possible that data transmitted from a LoRa terminal will be received by many LoRa gateways. This is owing to the LoRa system MAC protocol being so simple that no procedure of gateway selection exists. LoRa terminals are characterized by a simple MAC procedure which enables higher power efficiency. The network server requires choosing the optimal gateway in downlink communication. In fact, the channel status influences the processing overhead of the gateway selection. The gateway selection operations can therefore be more complex with an unstable channel status. LoRaWAN is a LoRa technology-based, low-power, and wide-area network (LPWAN) [5] that allows LoRa devices to communicate with each other and work as a wide-area network. This is particularly beneficial for long distances between short-range protocols and GSM. LoRa and LoRaWAN™ both have a lower link budget than the standard of other communication technologies. The core of the LoRa technology is its Chirp Spread Spectrum (CSS) modulation: the carrier signal of LoRa consists of chirps or sinusoidal signals whose frequency increases (up-chirp) or decreases (down-chirp) over time [9]. LoRa's chirps allow the signal to travel long distances and to be demodulated even when its power is up to 20 dB below the noise floor. Because of this aspect, carrier sensing in LoRa is quite challenging: LoRa radios allow carrier detection via the Channel Activity Detection (CAD) mode, a special reception mode which consumes half the energy necessitated by the normal reception mode. Yet, the signals produced by different LoRa networks operating in different settings which can lead to false detections following the creation of interference [10]. The different LoRa advantages [5] are: − Long-range: The LoRaWAN network enables robust long-range communications (up to 20 km in rural areas and up to 5 km in urban areas, depending on station performance) between field sensors and radio stations. − Low consumption: The LoRaWAN network has been specifically designed to reduce power consumption and increase the battery life of connected sensors for up to 10 years. − Totally bidirectional: The LoRaWAN network allows fully bi-directional communication that can respond to many use cases requiring both uplink and downlink. − Geolocation included: The LoRaWAN network offers secure network geolocation to locate any fixed or mobile LoRa device. LoRa uses the difference in time of arrival (TDoA) and other hybrid techniques to determine the location without the need for computing power on the terminal device. This native/base feature, unlike GPS, does not increase power consumption and does not require the addition of costly hardware components. − Extended interior coverage: The LoRa® radio modulation allows extensive indoor penetration, reaching energy meters, control modules in elevator shafts, or parking sensors in the basement. Alliance that federates the specification, development, and deployment of the standard, develops the certification guides, and ensures interoperability between radio infrastructure providers, network core vendors, and end device designers and manufacturers. LoRaWAN's open standard, high-performance infrastructure, and value-added connectivity services enable public or private operators to rapidly deploy and operate networks, with investments (Capex) and streamlined operational (Opex) expenditures, and to get quick marketing so as to benefit from the expansion of IoT in various fields. − Security: LoRaWAN offers two enduring layers of end-to-end security. One for the network and provides mutual authentication between the LoRaWAN device and the LoRaWAN network as part of the network association (Join). This certifies that the network traffic has not been tampered with. It has a number of characteristics: it comes only from a legitimate device; it is allowed to attach to a genuine network; it is not intelligible by a spy; and it has not been registered and replayed by a malicious actor. The other layer is for the security of the application ensuring that the network operator does not have access to end-user data. LoRaWAN is one of the few IoT networks that implement end-to-end encryption of user data exchanged between end devices and application servers. In traditional cellular networks, the traffic is encrypted on the radio link but transmitted in clear in the operator's backbone, forcing the user to choose and deploy an additional layer of security (Virtual Private Network (VPN) or a dedicated application encryption layer). − Scaling: LoRaWAN enables high-capacity, scalable networks to support thousands of connected enddevices and millions of transmitted messages. This high performance is achieved through the use of Adaptive Data Rate (ADR) and multi-channel receiver in gateways to simultaneously receive messages sent over multiple channels. These advantages of LoRaWAN are confirmed through a comparison made in [11] between LoRaWAN and two other LPWAN technologies. Many IoT factors are considered including quality of service, battery life, latency, scalability, payload length, coverage, range, deployment, and cost in terms of these factors and their technical differences.
These technologies are considered in the IoT market. However, Table 1 shows that LoRa serves as the technology with the lowest overall cost, with very long ranges (high coverage), infrequent communication rates, and very long battery lifetime [11]. In light of these obvious advantages of the LoRaWAN, the cloud IoT future is bright, especially in certain areas such as Smart City, intelligent buildings, monitoring, and agriculture.

Cloud computing
Cloud computing is defined as the on-demand availability of computer system resources, particularly computing power and data storage, with no direct and active managing of the user [12]. Generally, this term describes the availability of the data centers to several users through the Internet. Today, large clouds predominate which have functions distributed throughout numerous emplacements from central servers. In case the connection to the user is fairly close, it is possible to consider it an edge server. Three types of cloud exist [13]. First, enterprise clouds are clouds which are restricted to a particular organization. Second, public clouds are the ones available to several organizations; however. The third and final type is the hybrid cloud which is composed of a combination of the first two types, i.e. enterprise and public clouds.
The cloud computing notion counts on resource sharing to attain scale economies and a high degree of coherence. Avoiding (or only reducing) up-front IT infrastructure costs is allowed to companies by advocates of public or hybrid clouds. Moreover, cloud computing permits enterprises to obtain their applications and run them faster, with enhanced manageability and reduced maintenance costs. That requires IT teams to quickly regulate resources to accommodate unpredictable and fluctuating demands. The model "pay-as-you-go" is typically used by cloud providers. When administrators are not habituated to cloudpricing models [14], this model can induce unexpected operating expenses. The remarkable growth in cloud computing is brought about by the widespread availability of high-capacity networks. Another contributing factor is the ubiquity of high-storage devices and low-cost computers as well as of autonomic and efficient computing. Additionally, the pervasive adoption of service-oriented architectures and hardware virtualization can be cited as a third factor which helped to boost this growth as shown in Figure 2. To summarize, this section has highlighted the essential characteristics of both the LoRaWAN and the Cloud computing concepts. The most known IoT Cloud platforms combining the two concepts are to be introduced in the next section. The objective is to select the best IoT cloud platform from among them based on some important metrics such as pricing and application domains.

LORA IOT CLOUD PLATFORMS
Multiple IoT cloud platforms exist, but not all of them can be applied to the LoRa protocol. In this section, we survey the literature reporting on the four most used LoRa IoT cloud platforms. These are: ThingSpeak [15], OpenStack [16], The Things Network [17], and Thethings.io [18].

ThingSpeak
The framework proposed by Pham [19] is a low-cost LoRa platform & software intended to deploy ad hoc LoRa IoT test-beds with a high degree of customization and flexibility. Besides, it uses a free ThingSpeak [16] platform account to deploy the sensors and the gateway in order to visualize captured data in real time. In fact, ThingSpeak presents an open IoT data platform founded on public cloud technology. This platform permits to collect real-time data, analyze them, and activate an Open API. It is based on applications and plugins, visualization, monitoring, data storage and addition of user's data with a diversity of third-party platforms. Moreover, it operates with IoT platforms like Arduino, ioBridge, Twitter, Twilio, MATLAB and ThingHTTP. It is possible to collect sensor data into each channel having eight fields that can manipulate any type of data, one status field, and three location fields. There are different applications ameliorating the reaction measures such as Tweet Control that permits to listen to the Twitterverse and respond in real-time, TimeControl that allows performing actions automatically at predetermined times using the ThingSpeak application, TalkBack that permits to queue up command for user's device, and React which reacts when some conditions are met by channel data. ThingSpeak enables the public cloud by triggering facilities, but it does not promote connecting devices simultaneously.
Another work proposed by Pham et al. [20] deals with how these applications are being utilized in the African rural, sub-Saharan context. This study describes a low-cost, long-range IoT framework which takes into consideration the cost of hardware and services in addition to fast appropriation, flexibility, and customization by third parties. In this work, the sensors and the gateway can be deployed within minutes by small farms using a free account created on the ThingSpeak platform in order to be able to visualize gathered data in real time. Dupont et al. [21] propose WAZIUP which is the fruit of a project funded within the EU H2020 framework and aimed to deploy an open innovation IoT platform capable of bridging the North/South technological divide, with a special focus on remote, largely isolated and rural, areas in the developing countries, particularly those located south of the Sahara Desert. The main objective of this platform is to enable the development of IoT applications with Big Data capabilities.
A Low-cost LoRa IoT Framework is realized by Pham in the WAZIUP/WAZIHUB projects (EU H2020) [22]. This framework is based on a LoRa gateway conceived with a Raspberry Pi 2 and an RFM 95 radio module. Pham realized simple PCBs for Raspberry PI, Arduino Nano, and Arduino ProMini in order to connect between the RFM 95 LoRa radio module and the Raspberry Pi or an Arduino board. These PCBs are offered free. The PCB presents a simple RFM95 breakout with a header pin designed for both Raspberry (for gateway conception) and Arduino boards. This PCB is conceived consequently to be connected to the GPIO header row of the Raspberry. By using an Internet-connected Raspberry, it is possible to configure and manage the LoRa gateway.The conceived LoRa gateway can be connected to different LoRa end-devices. An example of a simple end-device is realized with a LoRa radio module connected to an Arduino MEGA, Uno, Mini, Pro Mini, Teensy, or Nano board via the corresponding SPI pins. It is possible to use Nano/ProMini breakout PCB designed by Pham [19] in order to simply connect RFM95 radio to Arduino. By adding a temperature sensor (e.g. LM35DZ), the end-device becomes able to send temperature readings periodically to the LoRa gateway connected to the ThingSpeak.

OpenStack
Three different Cloud layers are used by the WAZIUP IoT: Infrastructure as a Service (IaaS), Container as a Service (CaaS), and Platform as a Service (PaaS). OpenStack [20] provides the first layer in order to provide Virtual Machines (VMs) running the full platform. Iaas layer is essential since most Cloud vendors (Rackspace, Amazon) utilize VMs as fundamental selling units. Kubernetes [23] provides the second layer. This layer permits to offer and serve containers (for example Docker containers) to WAZIUP services and applications. Indeed, the containers offer ultra-fast, light-weight virtualization for micro-services and applications running inside the VMs. Deis [24] provides the third and final Cloud layer which offers to developers such services as the compilation and the deployment of an application. Besides, Deis permits to compile all the applications pushed by the users and host them in containers on Kubernetes. More importantly, OpenStack presents one of the most known open source cloud platforms [20]. It offers the essential functions commonly needed to build application services on any cloud environment like networking, storage, computation, user interface, telemetric, and authentication. This platform enables not only to build cloud services but also to render them easy, fast, and unattached to hardware/software platforms. OpenStack provides a collection of interfaces for a service application program. It equally permits to automate the management operations, which is crucial in the minimization of the network operation cost.
What is suggested by So and his colleagues [6] is to use the system services offered by OpenStack in the actual restructuring of the LoRa network server operations so as to make it scalable and flexible. In fact, the functions of the LoRa network server on the OpenStack platform integrate four VMs: gateway agent, LoRa control, LoRa data, and application server agent. The gateway agent VM defines the protocol of transport allowing communication between the LoRa gateway and the LoRa network server. In a similar vein, the application server VM puts the LoRa network server into contact with the application server via the appropriate transport protocol. The LoRa data VM realizes the operations of the data plane. The LoRa control VM realizes the operations of the control plane through exchanged control messages with LoRa gateways or terminals. For validation purposes, an experimental system has been established by exploiting accessible open sources related to OpenStack, LoRa gateway, and LoRa terminal. Two vital components constitute the evaluation system: the access network and the cloud network. In order to implement the access network, the IoT station 868 conceived by Kerlink [25] is used as the LoRa terminal. The SK-iM880A manufactured by IMST [26] serves to deploy the LoRa Gateway. At this level, three categories of software structure exist: firmware, hardware adaptation layer (HAL), and customer application layer [22]. The binary image is the available form of the Firmware. Two alternatives on the HAL are present: either provided by Kerlink or by Semtech. In the proposed project, the Semtech version of HAL is used by reason of its being open source. The gateway function included in the customer application layer exchanges packets between the LoRa terminals and the networks server. The cloud network implementation is based on the OpenStack Liberty version under the Ubuntu 14.04 LTS desktop. The OpenStack dashboard shows two networks: an external network to communicate with LoRa gateways and an internal network for communication between the LoRa network server VMs.

The things network
An IoT cloud platform named The Things Network (TTN) [25] enables low power devices to use long-range gateways in order to connect to a decentralized Network for exchanging data with applications. Among the different projects which use TTN, one LoRa project [27] designs a single channel LoRa gateway with a Raspberry Pi 2 (installed Raspbian) and the LoRa shield v95-868 [28] using open sources [29]. The LoRa Gateway receives data from the LoRa node. Then, it uploads this data to the TTN network using an Internet connection.This project also designs a LoRa node based on the LoRa Shield and MEGA 2560 [30].
Another LoRa TTN project [31] designs a single-channel LoRa gateway by means of the ESP8266 module [32] and the RadioRFM95/96. Three LoRa nodes have been tested with this gateway: ESP8266based LoRa nodes with RFM95 transceivers, TeensyLC connected to HopeRF RFM 95 radio, and ArduinoPro Mini.

Thethings.io
Another IoT cloud platform named Thethings.io [32] is frequently used in LoRa projects. This industrial platform offers a whole back-end solution intended for IoT markers and application developers using a simple API. It is considered hardware agnostic and permits to connect any device able to use WebSockets, HTTP, CoAP, or MQTT protocols. It can monitor real-time based jobs while connecting devices end-to-end by influencing device supervision, monitoring, and analytical support. Table 2 is showing Recapitulates LoRa IoT cloud platforms existing in the literature. From Table 2, we can conclude that, while most of the published studies are based on the ThingSpeak and The Things Network, only a few use OpenStack and Thethings.io due to such constraints as the experimental hardware type and the industrial form. Consequently, we will try to compare these LoRa IoT cloud platforms in the next section in order to select the best, i.e. the most useful, one for researchers [15], [16], [17], [18], and [19] OpenStack  LoRaCloud: LoRa Platform on OpenStack  LoRa terminal: IoT station 868 produced by Kerlink.  LoRa Gateway: SK-iM880A produced by IMST.

COMPARISON OF Lora-IoT CLOUD PLATFORMS
After conducting a profound study of the IoT cloud platforms used with the LoRa protocol in the previous section, we undertake a comparison between the best four platforms suitable for LoRa projects with the aim of permitting researchers to choose the most adequate one for their respective research domains. The selected platforms are Thething.io, ThingSpeak, OpenStack, and The Things Network. In Table 3 we present the application domains specific to the selected platforms. We note that the four chosen platforms have ease of use in the domains of application development, system management, analytics, monitoring management, and visualization domains. This fact clearly warrants our opting for these four IoT platforms in particular. While both the enterprise IoT platform TheThings.io and OpenStack are not applicable in two domains, data management for both and academic research and device management for each, respectively, ThingSpeak is inapplicable only in the data management domain. The Things Network is the only platform used in all domains, which makes it the most applicable LoRa IoT cloud platform of all four. In addition to the domains of application, we study the different characteristics of IoT cloud platforms used with LoRa as mentioned in Table 4.
ThingSpeak platform has an easy configuration and is a hardware agnostic (any IoT device can be used), yet it is limited by the number of messages per year threshold. On the other hand, OpenStack and Thethings.io are not free with medium configurations. Therefore, we conclude that "The Things Network" paltform has the most efficient characteristics. In fact, this platform is free in comparison to the other three platforms. In addition, it has the combined advantages of the easily configured connection and of the easy IoT data storage, analysis, visualization, and management. To confirm this conclusion, we detail the advantages and drawbacks of the different IoT cloud platforms in Table 5.
From Table 5 and Table 4, we confirm the efficiency of "The Things Network" platform compared to other platforms. We conclude that it is the most performing and easy to use of all four. Nonetheless, our findings should not be understood as a denial of the relative merits of the other three platforms which may be efficient and satisfactory depending on the type of application, its degree of complexity and the size of its different building elements.

CONCLUSION
The number of Internet of Things (IoT) applications has increased significantly in recent years. Thus, these require low-power operation and long-range communication which are provided by the application of LoRa/LoRaWAN. The connected devices generate big data which are processed by system architectures based on the cloud server. In this article, we conducted an in-depth study summarizing the most widely used IoT cloud platforms suitable for the LoRa protocol reported on in the literature covering the topic. As a first step, we selected the most known platforms and exhaustively explained some realized LoRa Cloud projects. Then, we performed a comparison based on such essential metrics as protocols, SDK language, connection, analysis, certified hardware, pricing, offered domains, and characteristics as well as the advantages and disadvantages of each platform. A detailed study was also carried out for each related work. Based on both comparisons, we were able to conclude that each of the platforms scrutinized in this paper has its own advantages and drawbacks and can potentially be chosen using precise metrics according to the needs of the target application.
In future work, more features should be applied, demonstrated and analyzed via the experiments in specific applications such as water pipeline monitoring. Moreover, from this in-depth study of LoRa IoT cloud platforms and others already published or forthcoming, we expect to be able to conceive our own platform while taking into account the advantageous aspects of existing platforms while avoiding the potential pitfalls of such an endeavor. Another important facet to focus on is how the factors of hardware, network protocols, classification and decision algorithms intersect to form this platform. As with other IoT cloud platforms, it is necessary to validate the performance of the conceived platform and prove its efficiency.