1. Disclaimer
Total Page:16
File Type:pdf, Size:1020Kb
Deliverable D1.1. Review of Reference Architectures for IoT Enabled Agriculture Development. Consultancy Design of a reference architecture for an IoT sensor network. Company International Center for Tropical Agriculture (CIAT). Km. 17 Recta Cali-Palmira. Palmira, Valle del Cauca, Colombia. Consultant Dr. Jairo Alejandro Gómez Escobar, Eng. PhD. E-mail: [email protected]. Date 29th of April 2019. Revision 1.2. 1. Disclaimer This report (Report) has been commissioned by the CGIAR Platform for Big Data in Agriculture, represented by the International Center for Tropical Agriculture (CIAT). This Report was produced independently by Dr. Jairo Alejandro Gómez (Consultant), and it provides information intended for CIAT. None of the statements contained in this report are intended to establish any obligation, standard or procedure by or on behalf of CIAT. By virtue of publishing this report, CIAT is under no obligation to adopt any of the recommendations set forth in the Report. The views expressed in this Report are not necessarily the views of CIAT. The information, statements, statistics, guidelines, and commentary (together the ‘Information’) contained in this Report have been prepared by Consultant from publicly available material and from discussions held with researchers from CIAT. While the consultant has made every attempt to ensure that the information contained in this Report has been obtained from reliable sources, the consultant is not responsible for any errors or omissions, or for the results obtained from the use of this information. All information in this Report is provided "as is", with no guarantee of completeness, accuracy, timeliness or of the results obtained from the use of this information, and without warranty of any kind, express or implied, including, but not limited to warranties of performance, merchantability and fitness for a particular purpose. The Information contained in this Report has not been subject to an audit. Care has been taken in the preparation of this Report, but all advice, analysis, calculations, information, forecasts, guidelines, and recommendations are supplied for the assistance of CIAT and nothing herein shall to any extent be relied on as authoritative or as in substitution for the exercise of judgment by CIAT. The consultant engaged in the preparation of this Report shall not have any liability whatsoever for any direct or consequential loss arising from use of this Report or its contents and gives no warranty or representation (express or implied) as to the quality or fitness for the purpose of any architecture, design, process, product, or system referred to in the Report. In no event will the Consultant be liable to CIAT or anyone else for any decision made or action taken in reliance on the information in this Report or for any consequential, special or similar damages, even if advised of the possibility of such damages. Certain links in this Report connect to Web Sites maintained by third parties over whom the Consultant has no control. The Consultant makes no representations as to the accuracy or any other aspect of information contained in those Web Sites. 1 Review of Reference Architectures for IoT Enabled Agriculture Development 2. Executive summary In order to feed a growing global population worldwide and in light of new challenges including climate variability, degrading ecosystems, and loss of arable land, we must leverage the insights, agility, and precision made possible by digital tools and technologies in agriculture worldwide. To achieve this in developing economy contexts, much still must be learned about the appropriate technologies to collect, analyze, and act on relevant data for food security. Fortunately, in the last few decades, the data collection process has evolved. Expensive point-to-point networks gave way to distributed wide-area wireless sensor networks, and this set the stage for the Internet of Things (IoT). The IoT is a recent paradigm under which an array of electronic devices (known collectively as “things”) provide and exchange data through a network, very often through the Internet but it can also be a local or wide-area network. IoT approaches are enabling the development of new services spanning the perception-planning-action cycle. There are many different alternatives to abstract an IoT network, and this report highlights some of the most representative architectures developed by technological leaders, open-source communities, and researchers which are briefly summarized in the following paragraphs. Intel provides a compelling vision for end-to-end IoT solutions that includes a layered architecture for secure deployments, an example of common data flows as well as their characterization, a set of high-level software components and interfaces, and a detailed view of the possible communication technologies and protocols that can coexist in the solution. Intel has achieved a good balance with its architecture between abstraction, complexity, and usefulness. Intel provides development boards, gateways, and neural compute sticks that can enhance IoT applications, and in terms of software, it is contributing with other companies and the Linux Foundation to develop Zephyr1, a scalable real-time operating system (RTOS) supporting multiple hardware platforms. As Intel doesn’t provide implementation details of the software components in its architecture, they have to be mapped to the service solutions implemented by third-party companies. Over time, Intel has partnered with Amazon Web Services, Microsoft Azure, and Google Cloud Platforms to connect its hardware to the cloud2. Amazon Web Services (AWS) provides a simplified architecture with “things” that handle sensing and actuation, the cloud that handles the storage and the computing, and a set of services that enable the intelligence to transform logic and insights into action. Amazon provides a set of specific software components in the cloud to ease the IoT management, as well as low-level software (Amazon FreeRTOS, and AWS IoT Greengrass) that can run in different hardware platforms such as for microcontrollers and gateways, respectively. The problem with Amazon’s vision is that it assumes too early that the “things” in the IoT architecture are already connected to the Internet, providing little guidance as to how to achieve it. 1 Zephyr: a scalable real-time operating system (RTOS). https://www.zephyrproject.org 2 Intel IoT. https://software.intel.com/iot/home 2 Microsoft Azure has three main components in its architecture: “things” that produce data, insights extracted from the data, and actions based on insights. Despite its conceptual simplicity, Azure manages to provide a complete set of core and optional subsystems that support its vision without underestimating the challenges of connecting the field devices to the Internet. Azure has made a remarkable effort in improving its software development kit for IoT devices in recent years to support a wide variety of hardware platforms and programming languages. At the same time, it has powered some cutting edge IoT applications in agriculture involving TV white space technology. The Google IoT reference architecture is heavily influenced by machine learning, providing software services for handling large volumes of data once they reach the cloud. However, and similarly to AWS, it doesn’t illustrate how to transfer the data from the field to the Internet beyond simple use cases. The IBM architecture for IoT has 5 layers called user layer, proximity layer, public network, provider network, and an enterprise network. The most relevant aspect of IBM architecture is that it explicitly includes the user in the IoT abstraction process, something that most of the other architectures ignore. Having the user (researchers, farmers, stakeholders) at the core of the entire IoT deployment should be a priority for CIAT’s pilot. After reviewing the commercial options, it is clear that there are great services for IoT development. However, they can be expensive for the small farmer. For this reason, a set of open source architectures and software alternatives were explored. Mainflux is a modern, scalable, secure, open source, and patent-free IoT cloud platform that can be deployed either on-premises or in the cloud. It accepts user, device, and application connections over various network protocols, thus making a seamless bridge between them. Thinger.io is an open- source platform that offers a ready to go and scalable cloud infrastructure for connecting millions of devices or things. SiteWhere is an industrial-strength open-source application-enablement platform for the Internet of Things (IoT). DeviceHive is a micro service-based system, built with high scalability and availability in mind, and Zetta is an open source software platform for creating an Internet of Things servers that run across geo-distributed computers and the cloud. The options provided by the open source community are very competitive but they do require more technical knowledge that their commercial counterparts to get a working solution. In a recent paper, Guth et al. (2018)3 proposed a simplified architecture that summarizes the key blocks that appear in many of the IoT architectures reviewed in this report. The architecture includes sensors, actuators, devices and drivers, gateways, a layer for the IoT integration middleware and another for the applications. In this architecture, sensors and actuators communicate with field devices through firmware drivers. These