IoT Vending: modelo inteligente en la nube para máquinas Vending

Boces Vela, David (2015). IoT Vending: modelo inteligente en la nube para máquinas Vending. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Descripción

Título: IoT Vending: modelo inteligente en la nube para máquinas Vending
Autor/es:
  • Boces Vela, David
Director/es:
  • Burgos Ortiz, José Manuel
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería Informática
Fecha: Junio 2015
Materias:
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (2MB) | Vista Previa

Resumen

El presente proyecto es un trabajo de estudio e implementación de la suite AWS de Amazon, concretamente de sus servicios AWS Internet of Things, AWS Lambda y AWS DynamoDB. Se ha creado un modelo de negocio en la nube, que toma decisiones en tiempo real en función de la interacción de la máquinas de venta y los clientes. Gracias a este modelo, la empresa propietaria de estas máquinas puede automatizar muchas de las tareas de gestión y mantenimiento de las mismas. En todo momento se tienen monitoreadas las máquinas, así como los productos que contienen. En cualquier momento se puede saber el número de unidades que tiene una máquina de cada producto, así como el tipo de producto que es, su fecha de caducidad, o su precio. Toda esta información se almacena en una base de datos alojada en la nube, lo cual ofrece una gran escalabilidad y flexibilidad, además de no requerir ningún componente hardware para su almacenamiento e interacción, con el consiguiente ahorro de costes. La implementación del proyecto hace uso de tres servicios que ofrece Amazon, alojados todos ellos en la nube. El primero de ellos es AWS Internet of Things (AWS IoT), gracias al cual se puede conectar un objeto a internet para poder monitorizarlo e indicarle acciones. AWS IoT es en este proyecto la parte encargada de la comunicación entre la máquina vending y los servicios de AWS en la nube. Este servicio, haciendo uso del motor de reglas que incluye, recoge las peticiones del usuario enviadas por la máquina, las analiza, y manda de vuelta una acción para que la máquina la ejecute. El segundo servicio es AWS Lambda, gracias al cual podemos crear funciones dentro de AWS IoT que estudian los datos entrantes y dan como resultado una acción como mostrar un mensaje por pantalla o enviar un correo electrónico. El último servicio de la suite AWS que se utiliza es AWS DynamoDB, la solución propuesta por Amazon para la creación, almacenamiento e interacción con bases de datos en la nube. Este servicio se empleará para alojar toda la información relevante acerca de los productos como su nombre, fabricante, precio, fecha de caducidad, etc. Así mismo, también se dispondrá de una tabla para cada una de las máquinas vending monitorizadas, que recogerá información acerca de las unidades disponibles en la misma de cada uno de los productos que ofrece. Para la parte física del proyecto se ha utilizado una placa Arduino Yún conectada a un ordenador. Esta placa ejecuta un pequeño programa (sketch) que es el encargado de la conexión con el endpoint de AWS IoT, así como de enviar la solicitud adecuada recogida de la máquina vending en formato JSON. También recogerá las acciones procedentes de AWS IoT como consecuencia de la solicitud (imprimir un mensaje por el display del tipo “Producto agotado. Por favor, seleccione otro”).En un principio se planeó conectar la placa Arduino a una máquina vending real ubicada en la Facultad de Informática de la Universidad Politécnica de Madrid, pero debido a la imprevista firma de contrato laboral por parte del autor de este proyecto en los primeros meses del desarrollo del mismo, no se pudo compatibilizar el trabajo en la facultad con el desarrollo de la actividad laboral. Por ello, en lugar de una máquina vending real se ha utilizado un simulador que representa el panel y el display de la máquina. Al final de la memoria se incluyen seis casos prácticos que demuestran el funcionamiento de la implementación.---ABSTRACT---The present project is a study and implementation work on the Amazon AWS suite, concretely on its AWS Internet of Things, AWS Lambda and AWS DynamoDB services. A business model has been created on the cloud, which makes real time decisions depending on the interactions between the vending machine and the customers. Thanks to this model, the enterprise that owns these machines is able to automatize many of its management and maintenance tasks. At all times machines are kept monitored, and so are the products contained within them. At any time the number of units of each product that a machine contains can be known, as well as its product type, its date of expiry or its price. All this information is stored within a cloud hosted database, which offers great scalability and flexibility, besides of requiring no hardware component for its storing and interaction, with consequent cost saving. The implementation of the project uses three services offered by Amazon, all of them hosted in the cloud. The first among them is AWS Internet of Things (AWS IoT), thanks to which an object can be connected to internet in order to monitor it and indicate actions to it. In this project, AWS IoT is the part responsible of the communication between the vending machine and the AWS services in the cloud. This service, using the included rule engine, collects the users’ orders sent by the machine, analyses them and sends back an action for the machine to execute. The second service is AWS Lambda, thanks to which we are able to create functions within AWS IoT which study the incoming data and react with an action, such as showing up a screen message or sending an email. The last service used in the AWS suite is AWS DynamoDB, Amazon’s proposed solution for creation, storage and interaction with cloud hosted databases. This service will be used to host all relevant product related information, such as its name, manufacturer, price, date of expiry, etc. Moreover, there will be a table for each monitored vending machine, which will collect information about the available units of each product in the machine.On the physical side of the project, an Arduino Yún board connected to a computer has been used. This board executes a small program (sketch) in charge of the connection with the AWS IoT endpoint, as well as of sending the proper request collected from the vending machine in JSON format. It will also collect the actions proceeding from AWS IoT as a consecuence of the request (print a message on the display like “Product sold out. Please, select another one”). The Arduino board will be linked to a Java applet emulating the interaction panel of the vending machine. This applet shows a selection keyboard and a display that shows messages. The applet is linked to the board in order to send the product selection information, and to receive the messages writing actions. At the end of the memory six practical cases are included demonstrating the implementation’s performance.

Más información

ID de Registro: 43415
Identificador DC: http://oa.upm.es/43415/
Identificador OAI: oai:oa.upm.es:43415
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 29 Sep 2016 13:15
Ultima Modificación: 29 Sep 2016 13:15
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM