Está en la página 1de 72

UNIVERSIDAD TECNOLÓGICA CENTROAMERICANA

FACULTAD DE INGENIERÍA

PROYECTO FASE I DE INVESTIGACIÓN

IMPLEMENTACIÓN DE PROTOCOLO MQTT EN AUTÓMATAS PROGRAMABLES


SIEMENS-1200

PREVIO A LA OBTENCIÓN DEL TÍTULO:


INGENIERO EN MECATRÓNICA

PRESENTADO POR:
21451019 CARLOS RENE MELÉNDEZ DÍAZ

ASESOR: ING KARLA REYES

CAMPUS: UNITEC-SPS

OCTUBRE 2019
DERECHOS DE AUTOR

© Copyright 2019

Carlos Rene Meléndez Díaz

TODOS LOS DERECHOS RESERVADOS.


AUTORIZACIÓN

AUTORIZACIÓN DEL AUTOR(ES) PARA LA CONSULTA, LA REPRODUCCIÓN PARCIAL O TOTAL, Y


PUBLICACIÓN ELECTRÓNICA DEL TEXTO COMPLETO DE TESIS DE GRADO.

Señores

CENTRO DE RECURSOS PARA EL APRENDIZAJE Y LA INVESTIGACION (CRAI)


San Pedro Sula

Estimados Señores:
La presentación del documento de tesis forma parte de los requerimientos y procesos establecidos de
graduación para alumnos de pregrado de UNITEC.

Yo, Carlos Rene Meléndez Díaz, de San Pedro Sula autor del trabajo de grado titulado: IMPLEMENTACIÓN
DE PROTOCOLO MQTT EN AUTÓMATAS PROGRAMABLES SIEMENS-1200, presentado y aprobado en el
año 2019, como requisito para optar al título de Profesional de Ingeniero en Mecatrónica, autorizo a:
Las Bibliotecas de los Centros de Recursos para el Aprendizaje y la Investigación (CRAI) de la Universidad
Tecnológica Centroamericana (UNITEC), para que, con fines académicos, pueda libremente registrar,
copiar y usar la información contenida en él, con fines educativos, investigativos o sociales de la siguiente
manera:
1) Los usuarios puedan consultar el contenido de este trabajo de grado en las salas de estudio de la
biblioteca y la página Web de la universidad
2) Permita la consulta y la reproducción, a los usuarios interesados en el contenido de este trabajo, para
todos los usos que tengan finalidad académica, ya sea en formato CD o digital desde Internet,
Intranet, etc., y en general para cualquier formato conocido o por conocer.
De conformidad con lo establecido en el artículo 19 de la Ley de Derechos de Autor y de los Derechos
Conexos; los cuales son irrenunciables, imprescriptibles, inembargables e inalienables.
Es entendido que cualquier copia o reproducción del presente documento con fines de lucro no está
permitida sin previa autorización por escrito de parte de los principales autores.

En fe de lo cual, se suscribe la presente acta en la ciudad de San Pedro Sula a los 19 días del mes octubre
de dos mil diecinueve.
19 de octubre del 2019

Carlos Rene Melendez Díaz


21451019
HOJA DE FIRMAS

Los abajo firmantes damos fe, en nuestra posición de miembro de Terna, Asesor y/o Jefe

Académico y en el marco de nuestras responsabilidades adquiridas, que el presente documento


cumple con los lineamientos exigidos por la Facultad de Ingeniería y Arquitectura y los

requerimientos académicos que la Universidad dispone dentro de los procesos de graduación.

Ing. Karla Reyes


Asesor Metodológico

Ing Ing Ing


Coordinador de terna Miembro de terna Miembro de terna
Ing. Alberto Max Carrasco
Jefe Académico de ingeniería
en Mecatrónica ⅼ UNITEC SPS
DEDICATORIA

Dedico el presente proyecto primeramente a Dios, por brindarme sabiduría y de su gracia


incondicional. Así mismo a mi familia y amigos que demostraron su apoyo incondicional sin el

cual no habría sido posible alcanzar este peldaño de mi formación universitaria. Y por último,
pero no menos importante a todos los catedráticos del área de mecatrónica y

telecomunicaciones por impartirme su conocimiento.

v
AGRADECIMIENTO

Agradezco a Dios primeramente por llevarme a este punto y por su inmenso amor. A mi familia y
amigos por su inmenso apoyo en mi trayectoria universitaria.

A si mismo al asesor metodológico y temáticos por brindar sus conocimientos en sus respectivos
campos de la ingeniería y guiarme en la formación del proyecto de investigación.

A todos gracias totales.

vi
EPÍGRAFE

Cualquier tecnología suficientemente avanzada es equivalente a la magia.

Arthur C. Clarke

vii
RESUMEN EJECUTIVO

En la actualidad, la industria 4.0 ha causado un gran impacto sobre la industria, permitiendo una
manufactura inteligente, con un control más preciso y con todos los procesos interconectados.

Esta interconexión se debe gracias al internet de las cosas (IoT). Con el protocolo MQTT de IoT
se permite la comunicación entre máquinas a través del broker de la red. Por lo tanto, se

propuso desarrollar e implementar el internet de las cosas con el protocolo MQTT aplicado en
un autómata Siemens S7-1200 por medio de una Raspberry Pi 3. Existen diferentes formas de

aplicar el protocolo MQTT en una red de IoT algunos son, el uso de una librería MQTT de
Siemens con un SIMATIC IoT 2040 y a través de una Raspberry Pi 3. Se implementó esta red

utilizando una metodología con un enfoque cuantitativo, de manera descriptiva, documental y


experimental. Fue necesario el uso de diferentes herramientas de programación como ser TIA

Portal, SNAP7 y Node-RED para permitir la comunicación entre el PLC Siemens S7-1200 y la
Raspberry Pi 3. Se logró el funcionamiento de la red IoT con el autómata Siemens S7-1200 como

cliente y con la Raspberry Pi 3 como broker de la red. Se obtuvo un tiempo respuesta de la red
entre el broker y el cliente de 23.4 ms. Los costos obtenidos de la implementación de esta red

fueron mucho menos en comparación al uso del SIMATIC IoT 2040.

Palabras Clave: Internet de las Cosas, industria 4.0, interconexión.

viii
ABSTRACT

Currently, industry 4.0 has caused a great impact on the industry, allowing intelligent
manufacturing, with more precise control and with all interconnected processes. This

interconnection is due to the internet of things (IoT). With the MQTT protocol of IoT,
communication between machines is allowed through the network broker. Therefore, it was

proposed to develop and implement the internet of things with the MQTT protocol applied in a
Siemens S7-1200 automaton through a Raspberry Pi 3. There are different ways to apply the

MQTT protocol in an IoT network some are, the use of a Siemens MQTT library with a SIMATIC
IoT 2040 and through a Raspberry Pi 3. This network was implemented using a methodology

with a quantitative, descriptive, documentary and experimental approach. It was necessary to use
different programming tools such as TIA Portal, SNAP7 and Node-RED to allow communication

between the Siemens S7-1200 PLC and the Raspberry Pi 3. The operation of the IoT network with
the Siemens S7- PLC was achieved. 1200 as a customer and with the Raspberry Pi 3 as a network

broker. A response time of the network between the broker and the client of 23.4 ms was
obtained. The costs obtained from the implementation of this network were much less compared

to the use of SIMATIC IoT 2040.

Keyword: Internet of Things, industry 4.0, interconexión.

ix
ÍNDICE DE CONTENIDO
CAPÍTULO I. INTRODUCCIÓN................................................................................................................................................ 1
CAPÍTULO II. PLANTEAMIENTO DEL PROBLEMA................................................................................................................. 2

2.1 PRECEDENTES DEL PROBLEMA................................................................................................................................ 3


2.2 DEFINICIÓN DEL PROBLEMA................................................................................................................................... 4

2.3 JUSTIFICACIÓN.......................................................................................................................................................... 5
2.4 PREGUNTAS DE INVESTIGACIÓN............................................................................................................................. 6

2.5 OBJETIVOS................................................................................................................................................................ 6
2.5.1 OBJETIVO GENERAL................................................................................................................................................ 6

2.5.2 OBJETIVOS ESPECÍFICOS........................................................................................................................................ 6


CAPÍTULO III. MARCO TEÓRICO.......................................................................................................................................... 7

3.1 INDUSTRIA 4.0......................................................................................................................................................... 8


3.2 INTERNET DE LAS COSAS (IOT)........................................................................................................................... 12

3.3 MÁQUINA A MÁQUINA (M2M).......................................................................................................................... 14


3.4 PROTOCOLO MQTT............................................................................................................................................. 15

3.4.1 ESTABLECIMIENTO DE CONEXIÓN...................................................................................................................... 18


3.4.2 CALIDAD DE SERVICIO (QOS)............................................................................................................................ 19

3.4.3 SEGURIDAD........................................................................................................................................................... 21
3.4.4 PAQUETES DE CONTROL..................................................................................................................................... 21

3.5 RASPBERRY PI........................................................................................................................................................ 22


CAPÍTULO IV. METODOLOGÍA........................................................................................................................................... 24

4.1 ENFOQUE............................................................................................................................................................... 24
4.2 VARIABLES DE INVESTIGACIÓN............................................................................................................................ 25

4.3 TÉCNICAS E INSTRUMENTOS APLICADOS........................................................................................................... 25


4.4 MATERIALES........................................................................................................................................................... 25

4.5 METODOLOGÍA DE ESTUDIO................................................................................................................................ 27


4.6 METODOLOGÍA DE VALIDACIÓN......................................................................................................................... 28

4.7 CRONOGRAMA DE ACTIVIDADES......................................................................................................................... 29


CAPÍTULO VI. RESULTADOS Y ANÁLISIS........................................................................................................................... 30

x
5.1 DESCRIPCIÓN......................................................................................................................................................... 30
5.1.1 EQUIPOS IMPLEMENTADOS................................................................................................................................. 30

5.2 IMPLEMENTACIÓN................................................................................................................................................. 31
5.2.1 CONEXIONES........................................................................................................................................................ 31

5.2.2 CONFIGURACIÓN DEL BROKER........................................................................................................................... 33


5.2.2.1 CONFIGURACIONES INICIALES DE RASPBIAN............................................................................................ 33

5.2.2.2 CONFIGURACIÓN DEL SERVIDOR APACHE Y PHP 7................................................................................ 37


5.2.2.3 CONFIGURACIÓN DE MOSQUITTO............................................................................................................. 39

5.2.2.4 CONFIGURACIÓN DE NODE-RED.............................................................................................................. 40


5.2.2.5 CONFIGURACIÓN DE SNAP7..................................................................................................................... 42

5.2.3 CONFIGURACIÓN DEL CLIENTE........................................................................................................................... 44


5.3 RESULTADO............................................................................................................................................................ 47

CAPÍTULO VI. CONCLUSIONES.......................................................................................................................................... 53


6.1 CONCLUSIÓN GENERAL........................................................................................................................................ 53

6.2 CONCLUSIONES ESPECÍFICAS............................................................................................................................... 53


CAPÍTULO VII. RECOMENDACIONES................................................................................................................................. 54

BIBLIOGRAFÍA....................................................................................................................................................................... 55

xi
ÍNDICE DE ILUSTRACIONES

Ilustración 1-Revoluciones industriales................................................................................................................. 11

Ilustración 2-Impacto del IoT.................................................................................................................................... 12

Ilustración 3-Arquitectura de MQTT....................................................................................................................... 17

Ilustración 4-PLC Siemens S7-1200........................................................................................................................ 26

Ilustración 5-Raspberry Pi 3 Modelo B+............................................................................................................... 26

Ilustración 6-Proceso de desarrollo del trabajo................................................................................................. 27

Ilustración 7-Cronograma de Actividades............................................................................................................ 29

Ilustración 8-Conexiones del cliente MQTT......................................................................................................... 32

Ilustración 9-Conexiones del broker MQTT......................................................................................................... 33

Ilustración 10-Sistema operativo Raspbian para Raspberry Pi 3.................................................................34

Ilustración 11-Configuración inicial de la Raspberry Pi 3............................................................................... 35

Ilustración 12-Lista de resoluciones de la pantalla HDMI.............................................................................. 36

Ilustración 13-Configuración de pantalla HDMI................................................................................................ 36

Ilustración 14-Actualización de sistema operativo Raspbian........................................................................37

Ilustración 15-Comando de instalación de apache y php 7..........................................................................38

Ilustración 16-Servidor apache 2............................................................................................................................. 39

Ilustración 17-Instalación de mosquitto............................................................................................................... 40

Ilustración 18-Instalación de Node-RED............................................................................................................... 41

Ilustración 19-Interfaz del Node-RED.................................................................................................................... 41

Ilustración 20-Instalación de Snap7........................................................................................................................ 43

Ilustración 21-Snap7 en el Node-RED................................................................................................................... 43

Ilustración 22-Configuración de la protección del PLC................................................................................... 44

xii
Ilustración 23-Configuración del PLC, parte I..................................................................................................... 45

Ilustración 24-Configuración del PLC, parte II.................................................................................................... 46

Ilustración 25-Configuración del PLC, parte III................................................................................................... 46

Ilustración 26-Configuración del PLC, parte III................................................................................................... 47

Ilustración 27-Configuración del Node-RED, parte I........................................................................................ 48

Ilustración 28-Configuración del Node-RED, parte II...................................................................................... 48

Ilustración 29-SIMATIC IoT 2040.............................................................................................................................. 49

Ilustración 30-Librería MQTT Client Siemens...................................................................................................... 50

xiii
ÍNDICE DE TABLAS

Tabla 1-Especificaciones de Raspberry Pi............................................................................................................. 23

Tabla 2-Costo de hardware del broker.................................................................................................................. 50

Tabla 3-Comparación entre SIMATIC IoT 2040 y Raspberry Pi 3................................................................51

xiv
LISTA DE SIGLAS Y GLOSARIO

IoT Internet de las cosas o Internet of Things

M2M Machine to Machine

MQTT Message Queue Telemetry Trasport

QoS Quality of Service

SIMATIC IoT 2040, plataforma que facilita la actualización de las plantas a la industria 4.0

mediante IoT.

xv
CAPÍTULO I. INTRODUCCIÓN

Las industrias de la actualidad requieren mejoras, con el fin de maximizar la rentabilidad,

mejorar la flexibilidad en sus diseños, obtener más información sobre el proceso y los productos
manufacturados, utilizar dispositivos más inteligentes en el procesamiento de datos adquiridos y

una integración efectiva de la experiencia humano/máquina. Sin embargo, a medida que la


nueva tecnología se introduce en el sector industrial, algunas reglas deben ser respetadas. La

primera y más importante es que la producción no puede detenerse; las nuevas tecnologías
deben ser compatibles con los sistemas antiguos, y la interoperabilidad entre los proveedores

debe ser facilitado. Además, las soluciones deben ofrecer un medio para apoyar la operación en
tiempo real y la ciberseguridad. Hoy en día el difundido acceso a los datos y la integración

eficiente de los datos distribuidos entre software y hardware se convierte en un problema


común para las universidades y la industria.

Por lo tanto, en el presente trabajo se realizó la implementación del protocolo mqtt en


autómatas programables siemens 1200, al implementar dicho protocolo nos sumerge en la era

de la industria 4.0 la cual no es nada más que la era del internet de las cosas, con la
implementación de dicho protocolo damos una actualización a la industria que cuentan con las

automatizaciones necesarias instaladas en su momento. La efectividad del protocolo se mide


con la implementación de una librería previamente desarrollada para el autómata programable

siemens 1200 el cual es uno de los más utilizados en la industria hondureña, otro método de
implementación del protocolo será de forma indirecta a través de una raspberry la cual hará la

función de doble servidor web y mqtt, en la raspberry se encuentra la interfaz capaz de generar
un control vía web, además, se definen las diferencias más significativas, en cuestión de

instalación, costos y desarrollo. La implementación del protocolo nos da la facilidad de hacer un


cambio de equipo que supone una gran inversión, una parada en la industria. Debido a esto y

como alternativa a la compra de nuevos equipos, en este proyecto se propone una alternativa y
una posible solución más económica, y al menos temporal hasta una posible y futura

incorporación de nuevos equipos.

1
CAPÍTULO II. PLANTEAMIENTO DEL PROBLEMA

En el capítulo 1 se presentó la introducción de la presente investigación demostrando en ella lo

que se hará en la misma. En este capítulo se presenta, afina y estructura adecuadamente la idea
de la investigación, el enfoque general de la investigación, presentación de antecedentes,

definición del problema, preguntas de investigación, los objetivos y la justificación sobre la


implementación del protocolo MQTT en un PLC Siemens 1200,

La Industria 4.0 ha provocado una evolución en la racionalización de los procesos de producción


y una descentralización de los centros productivos. Paralelamente a esta revolución, el

desarrollo de la llamada Internet de las cosas (IoT en adelante) ha propiciado la acumulación de


todo tipo de datos que pueden emplearse, entre otras cosas, en la optimización de los procesos

productivos.

Los sistemas basados en PLCs industriales se han convertido en sistemas muy útiles y eficaces ya

que estos siendo equipos robustos logran realizar diferentes tareas de control simples, así como
complejas. A causa de esto, tienen un coste elevado que los hace poco interesantes a la hora de

aportar soluciones en los casos más simples y, por otro lado, una serie de controladores
discretos de bajo costes, basados en electrónica programable de código abierto que, si bien son

ideales para resolver necesidades sencillas, no son muy apropiados para ser incorporados
dentro del ámbito industrial, como ser la Raspberry Pi.

En la actualidad la obtención y manejo de datos junto con su integración eficiente distribuidos


entre software y hardware se convierte en un problema común para las universidades y la

industria. Esta investigación pone de relieve las principales preocupaciones en la construcción


de un sistema distribuido de manera sistemática, proporciona un mecanismo de comunicación

MQTT orientado al almacenamiento y monitoreo de los datos con una arquitectura de


referencia del sistema industrial y da una prueba de concepto de aplicación y evaluación

experimental.

2
2.1 PRECEDENTES DEL PROBLEMA

En el entorno actual de competencia global, desarrollo tecnológico e innovación las empresas,


sobre todo de manufactura se ven forzadas a reconfigurar sus procesos. La Industria 4.0 y la

manufactura inteligente son parte de esta transformación, debido a esto diferentes


investigadores, universidades y otras entidades, han utilizado IoT con un enfoque industrial con

diferentes controladores lógicos programables (PLCs), para realizar una acción específica en una
determinada área.

La industria 4.0, término que fue acuñado por el gobierno alemán para describir la fábrica
inteligente, una visión de la fabricación informatizada con todos los procesos interconectados

por el “Internet de las Cosas” (IoT). En el caso general de la industria, es lo que se conoce como
“Internet Industrial de las Cosas” (I2oT o IIoT).

Desde hace unos 30 años se trabaja con la idea de hacer un poco más interactivos todos los
objetos de uso cotidiano. Ideas como el hogar inteligente, también conocido como la casa del

mañana, han evolucionado en el hogar conectado para entrar al “Internet de las Cosas”.

El uso de Internet de las cosas en todo tipo de productos y servicios los hace más eficientes para

realizar su tarea, mejora las comunicaciones y controlar cada fase y momento de la producción.
Esto permite conectar dispositivos y generar datos de mucha importancia para un proceso,

incluso datos en tiempo real, con el fin de, determinar las evoluciones de los productos y
servicios y fabricación de los mismo, de este modo, mejorar un proceso a base de la información

y de las estadísticas obtenidas a través del uso efectivo de comunicaciones. Esto permite
avanzarse a las demandas y actuar con previsión ante ellas y también saber lo que ya no tiene

uso o no se ve como una necesidad para los clientes o para el proceso de producción.

Un aspecto muy relevante para que el IoT siga evolucionando y ampliándose a diferentes

sectores es que se avance en la estandarización y conectividad entre dispositivos diferentes. Por


ello, existen diferentes protocolos de comunicación estándar y compatible con diferentes tipos

de tecnologías en el uso industrial, así como tecnología que no es aplicada a la industria, de esta
manera se logra interconectar toda clase de tecnología.

3
El protocolo MQTT es un protocolo muy implementado hoy en día, gracias al incremento en el
uso del internet de las cosas. De acuerdo con Villena Albert (2017), en su proyecto, creó una red

IoT para un diseño de control domótica vía web, integrando un autómata programable Siemens
en la red a través de un equipo de bajo coste, una Raspberry-Pi 3 Model B. La vinculación entre

los sistemas se llevó a cabo a través de protocolos de comunicación estándar, para la


comunicación entre el autómata y Raspberry se utilizó la multiplataforma Snap7 y la

comunicación entre Raspberry y la web utiliza los servicios de protocolo MQTT, también
conocido como mosquitto. Concluyeron que, actualmente existen equipos que permiten

implementar la misma idea de proyecto, sin embargo, el coste de inversión de recursos es


mayor, el importe de los nuevos equipos puede exceder en 10 veces el importe de Raspberry, y

el tiempo de sustitución e instalación puede suponer un contratiempo en la producción de la


industria donde se implemente. Asociaron la robustez de un sistema industrial de control,

basado en Siemens TIA Portal, y la flexibilidad de un entorne de programación avanzado y


sencillo de implementar y mantener.

Gallo Castillo (2018) propuso en su investigación desarrollar e implementar diferentes


protocolos del internet industrial de las cosas (IIoT) aplicado a un autómata programable.

Desarrollaron una página web donde se monitorea los datos y estados de las salidas y entradas
del autómata programable Siemens 1200, realizaron una comunicación con las Raspberry pi que

contiene todos los softwares utilizaos para acceder a la información requerida del PLC, para
ejecutar ese manejo usaron uno de los protocolos de IIoT denominado Message Queuing

Telemetry Transport (MQTT) el cual les permitió enviar y almacenar una base de datos que
crearon en PhpMyAdmin. Creada la red, obtuvieron en el sistema, una latencia de 0.6

milisegundos, además determinaron que la obtención y monitorización de datos es accesible y


se aplica a procesos de automatización industrial de manera segura, confiable y con calidad de

servicio.

2.2 DEFINICIÓN DEL PROBLEMA

En el presente proyecto, se definió lo siguiente, existen diferentes maneras de implementar el

protocolo MQTT junto con un autómata programable Siemens, uno de ellos es el uso de las

4
Raspberry Pi en esta implementación se busca determinar la seguridad, eficiencia y costo de
esta red, ya que estas son las cualidades y características que la industria busca en cualquier

sistema de comunicación.

Al existir deferentes maneras de implementar la red, por lo tanto, se obtendrán resultados

diferentes, así como implementaciones diferentes. Por lo tanto, en la presente investigación se


implementó una forma que siendo eficaz y sencilla tiene un menor costo que otras opciones

dentro del mercado.

2.3 JUSTIFICACIÓN

El Instituto Fraunhofer de Ingeniería y automatización industrial en Alemania proyecta que la

industria 4.0 y su concepto del IIoT puede provocar un salto en la productividad del 20 % al 30%
para el año 2025. Sin embargo, el sector industrial necesita cambios progresivos y amigables

con tecnologías y soluciones. La industria 4.0 y el IIoT ayuda a mejorar la eficiencia de


producción y abastecimiento mediante la automatización y el intercambio de datos entre los

sistemas de fabricación y logística, conectar dispositivos industriales con tecnologías de


información y multiplataformas, significa dar un gran paso en la Industria 4.0 y avanzar así hacia

el denominado IIoT logrando uno de los objetivos de las smart factories que es la
interoperatibilidad. Las actuales fábricas cuentan con las automatizaciones necesarias instaladas

en su momento, sin embargo, los avances y desarrollos tecnológicos llevan a que los equipos y
procesos se vuelvan obsoletos. (Semle, 2016)

Debido a esto, se implementó el protocolo MQTT, con el uso de la Raspberry, y encontrar el


mayor beneficio para las necesidades que posee la industria en la actualidad.

Por otro lado, la posibilidad de ingresar en el mundo de la nueva era de tecnología e industria
es una oportunidad que debe ser aprovechada. Las nuevas tecnologías son las que están

emergiendo en este momento y lograr entender y dominarlas es una tarea importante hoy en
día.

5
2.4 PREGUNTAS DE INVESTIGACIÓN

1) ¿Cómo se comporta el tiempo de respuesta del protocolo MQTT con el uso de una

Raspberry Pi?
2) ¿Cuáles son las características, ventajas y desventajas de la red implementada?

3) ¿Cuál es la eficiencia en todos los aspectos al aplicar el protocolo MQTT con una Raspberry
Pi 3 en un PLC S7-1200?

2.5 OBJETIVOS

Los objetivos tienen como finalidad establecer lo que se pretende hacer para dar respuesta a las
preguntas de investigación y al problema formulado; establecen el rumbo que debe seguir el

trabajo de investigación.

2.5.1 OBJETIVO GENERAL

Implementar Internet de las Cosas con el protocolo MQTT aplicado en un S7-1200 por medio

de una Raspberry Pi 3 Modelo B+.

2.5.2 OBJETIVOS ESPECÍFICOS

1) Evaluar experimentalmente la aplicación del Internet de las Cosas con el protocolo MQTT en

un PLC S7-1200 a través de una Raspberry PI.


2) Especificar las características, ventajas y desventajas de la red para saber la eficiencia de la

implementación de la raspberry a través de los resultados obtenidos.


3) Determinar a partir de los resultados obtenidos cual es la eficiencia al aplicar el protocolo

MQTT en un PLC S7-1200.

6
CAPÍTULO III. MARCO TEÓRICO

En el capítulo anterior se estableció cuál era el problema objeto de investigación con la finalidad

de lograr el análisis de manera completa en un orden que sea cronológico y lógico. En el


desarrollo de la segunda parte se pretende sustentar teóricamente la investigación, recopilando

información de diversas fuentes primarias y secundarias que nos permitirán explicar y examinar
las teorías, conceptos, metodologías y casos de estudios relacionados con el problema en

mención.

Se da inicio al capítulo con el análisis de la situación actual de los aspectos que comprenden el

entorno del problema a investigar. Posteriormente se exponen las teorías de sustento para cada
una de las variables a considerar en el proceso de investigación, así como la conceptualización

de la dimensión de las mismas; y se concluye con la descripción de los instrumentos a emplear


para la búsqueda de respuestas a las preguntas planteadas para el presente estudio y el marco

legal respectivo.

El protocolo de comunicación MQTT proviene del IoT y el origen del IoT es la cuarta revolución

industrial. La Cuarta Revolución Industrial, también conocida como industria 4.0, está cambiando
la forma en que los negocios operan y, por lo tanto, los entornos en los que se ven obligados a

competir. La Industria 4.0 implica la promesa de una nueva revolución que combina técnicas
avanzadas de producción y operaciones con tecnologías inteligentes que se integrarán en las

organizaciones, las personas y los activos.

Esta revolución está marcada por la aparición de nuevas tecnologías como la robótica, la

analítica, la inteligencia artificial, las tecnologías cognitivas, la nanotecnología y el Internet of


Things (IoT), entre otros. Las organizaciones deben identificar las tecnologías que mejor

satisfacen sus necesidades para invertir en ellas. Si las empresas no comprenden los cambios y
oportunidades que trae consigo la Industria 4.0, corren el riesgo de perder cuota de mercado.

7
3.1 INDUSTRIA 4.0

La industria 4.0, es la actual revolución industrial, consiste en la digitalización de los procesos


industriales por medio de la interacción de la inteligencia artificial con las máquinas y

la optimización de recursos enfocada en la creación de efectivas metodologías comerciales. Esto


implica cambios orientados a las infraestructuras inteligentes y a la digitalización de

metodologías, este proceso incidirá de manera más concreta el modo de hacer negocios. La
industria 4.0 fusiona digitalmente diversas disciplinas garantizando la satisfacción del cliente y la

personalización de servicios. Uno de los objetivos de esta revolución es la unión entre


tecnologías digitales que permiten la creación de mercados inéditos y la interacción entre

actores económicos. (Oliván, 2016)

De acuerdo con lo mencionado lo que ofrece la industria 4.0 a través de la digitalización y el uso

de plataformas conectadas es:

1) Una capacidad de adaptación constante a la demanda

2) Servir al cliente de una forma más personalizada


3) Aportar un servicio post venta uno a uno con el cliente

4) Diseñar, producir y vender productos en menos tiempo


5) Añadir servicios a los productos físicos

6) Crear series de producción más cortas y rentables


7) Aprovechar la información para su análisis desde múltiples canales (CMS, SCM, CRM, FCM,

HRM, Help desk, redes sociales, IoT) donde ser capaces de analizarla y explotarla en tiempo
real.

El concepto de Industria 4.0, hace referencia a una política económica gubernamental basada en
estrategias de alta tecnología; caracterizada por la automatización, la digitalización de los

procesos y el uso de las tecnologías de la electrónica y de la información en la manufactura.


Igualmente, por la personalización de la producción, la prestación de servicios, la creación de

negocios de valor agregado, y por las capacidades de interacción y el intercambio de


información entre humanos y máquinas. (Val Román, 2017)

8
La Industria 4.0 está sustentada en el desarrollo de sistemas, el Internet de las Cosas (IoT), el
internet de la gente y de los servicios; además de otras tecnologías como la fabricación aditiva,

la impresión 3D, la ingeniería inversa, el Big Data (datos masivos), inteligencia artificial, etc., las
que al trabajar de forma conjunta, están generado cambios trascendentales no sólo en la

industria de la manufactura sino también en el comportamiento del consumidor y en la manera


de hacer negocios. Así, al mismo tiempo, favorecen la construcción de capacidades que

permiten a las empresas adaptarse a los cambios del mercado. (Ynzunza, Izar, Aguilar, & Larios,
2017)

Dentro de las tecnologías que sustentan la Industria 4.0 y la manufactura inteligente, se


presentan la simulación, fabricación aditiva, los sistemas de integración horizontal y vertical, la

ciber-seguridad, la realidad aumentada, el cómputo en la nube, los robots autónomos, el


Internet Industrial de las Cosas (IIoT) y el Big Data (datos masivos), y la analítica avanzada.

También, las tecnologías sociales, los Sistemas Ciber-físicos (CPS) y de colaboración abierta; los
dispositivos móviles (tabletas, teléfonos), las plataformas 9 y aplicaciones tecnológicas, así

como, la inteligencia artificial y tecnologías de la información. (Villanueva, 2016)

A través del Internet de las Cosas (IoT), los sistemas pueden interactuar entré sí y con los

humanos en tiempo real. El Internet de los Servicios (IoS) es el medio mediante el cual es
posible ofertar y acceder a éstos. Mientras que, el Big Data (datos masivos), el cómputo en la

nube y la inteligencia artificial son facilitadores de la Industria 4.0 y junto con la automatización
industrial están cambiando la forma en la que los productos se fabrican. Contribuyendo al

mejoramiento de la manufactura y a que las empresas cuenten con procesos totalmente


automatizados e interconectados, que faciliten el flujo de información, la descentralización de la

manufactura, la creación de nuevos procesos, la toma de decisiones y un enfoque al desarrollo


de competencias que agreguen valor a las organizaciones de forma tal, que se genere no solo

mayor innovación de productos y procesos; sino también fábricas inteligentes y otros modelos
de negocio. Se mejore la cadena de suministro; estrategia clave para incrementar la posición

competitiva y la rentabilidad de las organizaciones. (Sabalza, 2016)

9
Las bases tecnológicas en que se apoya esta orientación, entre otras son: Internet de las Cosas
(IoT); Sistemas Ciber-físicos (CPS), Cultura Maker y Fábrica 4.0. Sin embargo, la Industria 4.0 no

se reduce exclusivamente a los cuatro puntos recién citados, pues es mucho más que eso. La
Industria 4.0, llamada Cuarta Revolución Industrial, enfatiza y acentúa la idea de una creciente y

adecuada digitalización y coordinación cooperativa en todas las unidades productivas de la


economía. (Gonzáles Páramo, 2017)

La revolución 4.0, es diferente de las tres revoluciones industriales que ocurrieron anteriormente,
esto se da por los avances en tecnología y potencial para continuar conectando a miles de

millones de personas a la web, mejorar drásticamente la eficiencia de las empresas,


organizaciones y ayudar a regenerar el entorno natural a través de una mejor gestión de los

diferentes activos que se poseen.

Por lo tanto, se define la Industria 4.0 como la digitalización de la industria y todos los servicios

que conlleva, esto es debido a la necesidad de globalización en un proceso de desarrollo que va


creciendo significativamente en los últimos tiempos. Con esto, el mundo virtual y real se logra

fusionar en las fábricas, aplicando nuevas tecnologías de la información en todos los procesos
productivos.

Ilustración 1-Revoluciones industriales

10
Fuente: (Oliván, 2016)

En la ilustración 1, se presentan las características de las cuatro diferentes revoluciones

industriales que han ocurrido a lo largo del tiempo. La última fue la cuarta revolución industrial,
también conocida como la industria 4.0, con la implementación de nuevas tecnologías, con

diferentes protocolos de comunicación que permiten la interconexión total de diferentes


dispositivos gracias a estos protocolos de comunicación estándar.

Con la adecuada aplicación del enfoque Industria 4.0, se obtienen: procesos más depurados,
repetitivos, sin errores ni alteraciones; optimización de niveles de calidad, mayor eficiencia y

ahorro en costes; además de producción mucho más flexible y con tiempos reducidos. El flujo
de datos es eficiente, con una competitividad empresarial más elevada y un nivel alto de

respuesta a las necesidades de los mercados. Finalmente se asegura un gran potencial para
conectar a millones de personas por medio de las redes digitales. Sin embargo, no todas las

organizaciones pueden adaptarse al ritmo de los nuevos métodos, con cambios cada día más
veloces, muchas industrias pueden quedar desactualizadas en poco tiempo. La Industria 4.0

tiene una enorme dependencia tecnológica, del gobierno local y sus legislaciones. Además, el
personal necesario en los nuevos procesos es mucho más especializado y los avances

tecnológicos e industriales permiten desigualdades y cierta fragmentación social. (Bonilla,


Tavison, Morales, Guajardo, & Laines, 2016)

3.2 INTERNET DE LAS COSAS (IOT)

Internet de las Cosas (en inglés, Internet of Things, IoT), es un concepto que se refiere a la
interconexión digital de objetos cotidianos con Internet. La revolución de Internet ha llevado a la

interconexión entre las personas por medio de aplicaciones en dispositivos inteligentes, correo
electrónico, redes sociales, etc. Ahora estamos en la era de la interconexión con las cosas u

objetos, para crear y promover un ambiente totalmente informado y confortable para una mejor
toma de decisiones y calidad de vida. La primera consecuencia directa del Internet de las Cosas

(IoT), es la generación de grandes cantidades de datos, donde cada objeto físico o virtual
conectado al IoT puede tener una doble digital en la nube, que podría generar actualizaciones

periódicas. Como resultado, el volumen de mensajería relacionada con IoT podría alcanzar entre

11
1.000 y 10.000 mensajes por persona y día. No hace falta decir, que esto es una ingente
cantidad de mensajes que es necesario gestionar. (Terán, Espinosa, Hernández, & Flores, 2017)

Ilustración 2-Impacto del IoT

Fuente: (Cisco, 2011)

En la ilustración 2, se presenta una línea del tiempo, que muestra que entre 2008 y 2009 nació el
internet de las cosas. Actualmente, está firmemente encaminada según lo demuestra el avance

de diferentes iniciativas que utilizan esta nueva tecnología, desde vehículos inteligentes, hasta la
producción de una línea en una fábrica. Desde el inicio del internet de las cosas, la cantidad de

dispositivo conectados ha aumentado significativamente, y para el 2020 se espera que existan


6.58 dispositivos conectados por personas.

Es necesario comprender las diferencias que existen entre Internet y World Wide Web (o web),
términos que suelen utilizarse indistintamente. Internet es la capa física o la red compuesta de

switches, routers y otros equipos. Su función principal es transportar información de un punto a


otro, de manera veloz, confiable y segura. La web, por otro lado, es una capa de aplicaciones

que opera sobre la superficie de Internet. Su rol principal es proporcionar una interfaz que
permite utilizar la información que fluye a través de Internet. (Cisco, 2011)

Hay tres componentes o elementos básicos que interactúan entre sí: a) el hardware, como
sensores, actuadores (dispositivos que controlan los sistemas) y otros dispositivos de

12
comunicación alojados en los objetos; b) la plataforma de middleware, que es el software que
permite el intercambio de información entre las aplicaciones, así como las herramientas

computacionales que permitan el análisis de datos; y c) las herramientas que en forma fácil
permitan la visualización e interpretación de la información y que deben ser diseñadas para ser

utilizadas por diferentes aplicaciones y dispositivos. (Bonilla et al., 2016)

El control electrónico apoyado por la información aportada por sensores (monitorización), algo

como aumentar la velocidad de giro de un ventilador cuando se detecta que sube la


temperatura, ya era una realidad tecnológica y comercial mucho antes de que la IoT llegara para

conectar los dispositivos a internet. Aun siendo una aportación muy interesante, la verdadera
ventaja tampoco es la posibilidad de usar la red (seguramente la web) para conocer el estado de

los dispositivos y controlarlos en remoto. Una de las ventajas más importantes de la integración
de sensores en el IoT radica en el gran volumen de datos que pueden obtenerse para conocer

un entorno de forma (estadísticamente) más precisa tanto de forma directa (big data) como
indirecta (minería de datos). (Terán et al., 2017)

3.3 MÁQUINA A MÁQUINA (M2M)

La Comunicación Máquina a Máquina (M2M), es la tecnología que permite establecer


comunicaciones inteligentes entre los objetos, las cosas y los sistemas que los siguen y

controlan, básicamente por vía inalámbrica. En el universo de sensores, redes y análisis 20 de


datos aparecen la Comunicación Máquina a Máquina (M2M), como base del sistema de

comunicación del Internet de las Cosas (IoT) y como red nerviosa del nuevo mundo digital que
combina personas y objetos. (Weyrich, Schmidt, & Ebert, 2014)

Un primer e importante campo de aplicación de las comunicaciones M2M es en el mundo de la


industria. La conexión inteligente y la comunicación entre todas las máquinas y dispositivos de

una fábrica hacen posible controlar, automatizar y mejorar los procesos; expandir los negocios
con seguridad y costes reducidos. La fabricación y producción de bienes se ve potenciada por

las posibilidades que traen estas nuevas tecnologías. (Weyrich et al., 2014)

13
La tecnología de comunicación M2M lleva con nosotros desde hace más de una década en
forma de gestión de flotas, redes de sensores y otras aplicaciones industriales, pero su progreso

ha sido lento y se han hecho eco de él sobre todo las publicaciones especializadas. En la
actualidad existen indicios de que la M2M está a punto de generalizarse y convertirse en el

elemento que definirá la siguiente generación de numerosos productos y servicios centrados en


el consumidor. (Bonilla et al., 2016)

Ahora que las redes inalámbricas son fiables y accesibles en casi todo el mundo, nos
encontramos con que los emprendedores de distintos sectores están participando activamente

en la aplicación de la tecnología inalámbrica a sus propios productos y servicios. Este nuevo


papel de M2M está siendo impulsado por una avalancha de factores, entre los que se incluyen la

necesidad que tienen los operadores inalámbricos de expandirse más allá de las comunicaciones
de voz, las grandes reducciones en el coste de los chipsets inalámbricos y la conectividad

inalámbrica, las regulaciones gubernamentales centradas en el ahorro de energía y la seguridad


pública, y una demanda sin precedentes por parte de los consumidores de cualquier cosa que

sea móvil, según indica la rápida aceptación del smartphone y las tabletas inalámbricas. (Terán
et al., 2017)

Cada entorno del IIoT necesita un protocolo con capacidades diferentes, lo que hace realmente
específico de qué protocolo tiene que ser usado para un determinado número de nodos, el

alcance de la comunicación, los requisitos de potencia y fiabilidad. En las investigaciones sobre


desarrollo del IIoT de hoy, los principales protocolos que se adaptan a cada entorno son MQTT

y Constrained Application Protocol (CoAP). Estos protocolos son ligeros en términos de


operación y transferencia de datos por lo tanto toman los mercados del IIoT. (Thota & Kim,

2016)

De acuerdo con Thota & Kim (2016), La oportunidad de M2M es dinámica y está creciendo

rápidamente. Actualmente está proporcionando conectividad para una variedad de dispositivos


como sensores, dispositivos móviles, sistemas de monitorización de la salud, medidores, etc.

Esto se debe a que los objetos cotidianos que estamos usando están siendo actualizados,

14
abordados, reconocidos y controlados a través de redes. Los protocolos que permiten realizar la
comunicación M2M son:

1) MQTT (Message Queuing Telemetry Transport)


2) CoAP (Constrained Application Protocol)

Ambos protocolos mencionados anteriormente son estándares abiertos y son más adecuados
para entornos restringidos que el protocolo de transferencia de hipertexto (HTTP). Ambos

protocolos tienen amplia gama de implementaciones para diferentes requisitos en el campo del
IIoT, así como también ambos proporcionan mecanismos para la comunicación asíncrona y se

ejecutan utilizando direcciones IP. En este proyecto, se enfocó en el uso de MQTT


específicamente.

3.4 PROTOCOLO MQTT

MQTT se desarrolló originalmente en IBM en 1999, donde fue diseñado para ser liviano, ancho
de banda eficiente, fácil de implementar, independiente de los datos entregados, conscientes de

la sesión y capaces de proporcionar QoS (Qualityof Service) para los datos entregados. Durante
sus primeros días, MQTT se usó internamente en IBM para sistemas integrados patentados. Sin

embargo, en 2010 IBM decidió lanzar el protocolo libre de regalías para que todos lo usen. En
ese momento, el protocolo llevaba la versión número 3.1. Unos años más tarde, MQTT se

trasladó a OASIS (Organización para el Avance de los Estándares de Información Estructurada) y


en 2014 se lanzó el estándar OASIS sin abrir con la versión número 3.1.1. La versión 3.1.1

también es la versión más reciente del protocolo. (HiveMQ, 2015)

MQTT (Message Queue Server Telemetry Transport) es una norma ISO (ISO / IEC PRF 20922),

protocolo de mensajería basado en publicación-suscripción. Funciona sobre el protocolo TCP /


IP y está diseñado para conexiones con ubicaciones remotas y/o cuando el ancho de banda de

la red es limitado. Su sistema consiste en clientes que se comunican con el servidor central,
como publicadores de información o suscriptores; existe desacoplamiento total entre editores y

suscriptores. La información se organizada en una jerarquía de Topics. Las principales


características del protocolo son: ancho de banda muy bajo, operación sobre TCP/IP, la

15
transferencia de mensajes es por publicaciones/suscripciones, Topología en forma de estrella
con un broker central, no se manejan metadatos, existe niveles de calidad del servicio y

seguridad en la comunicación. (Munner, Mohammed, & Shadi, 2017)

Se trata de un protocolo de comunicación máquina a máquina (Machine-to-Machine o M2M)

usado en el “internet de las cosas”, realiza la función de “message broker” para permitir la
comunicación entre los diferentes clientes interconectados. MQTT se basa en un patrón de

publicación-suscripción donde los mensajes se entregan entre clientes a través del intermediario
de mensajes central. Aunque el protocolo se considera simple y fácil de implementar, todavía

hay características numéricas que pueden no ser evidentes y, por lo tanto, requieren una
exploración cercana para comprender cómo funciona realmente el protocolo. Las características

clave y la funcionalidad del protocolo se cubren a continuación.

Ilustración 3-Arquitectura de MQTT

Fuente: (HiveMQ, 2015)

MQTT usa un tópico para definir un canal de comunicación entre los equipos. Aquellos que

deseen recibir datos necesitan suscribirse bajo ese tópico en el bróker y así se los relacionará
con un canal de comunicación, mientras que los dispositivos que deseen enviar datos
16
necesitarán publicarlos bajo el tópico que relaciona al canal de comunicación deseado. En este
protocolo, cuando un nuevo dato está disponible, su bróker simplemente envía los nuevos

datos a cualquier dispositivo suscrito en éste. A diferencia de otros protocolos, éste no necesita
enviar mensajes constantes de solicitud para refrescar nuevos datos, por tanto, maneja una

carga inferior de paquetes lo que lo hace más rápido. (Osathanunkul, Hantrakul, Pramokchon,
Khoenkaw, & Tantitharanukul, 2017)

Este protocolo está diseñado para entornos donde se tiene recursos limitados y responde a las
siguientes necesidades:

1) Está especialmente adaptado para utilizar un ancho de banda mínimo.


2) Es ideal para utilizar redes inalámbricas.

3) Consume muy poca energía.


4) Posibilita un tiempo de respuesta superior al resto de protocolos web actuales.

5) Permite una gran fiabilidad.


6) Requiere pocos recursos procesadores y memorias.

3.4.1 ESTABLECIMIENTO DE CONEXIÓN

De acuerdo con la especificación del protocolo MQTT publicada por OASIS (2019) cuando un
cliente establece una conexión con el intermediario, envía el paquete CONNECT al

intermediario. Con el paquete CONNECT el cliente configura un conjunto de parámetros que se


utilizan para la conexión con el intermediario. Estos parámetros controlan, por ejemplo, qué

sucede si el cliente se desconecta del intermediario sin gracia, o si se deben almacenar mensajes
particulares para el cliente si se desconecta. Los más esenciales se describen a continuación.

1) El identificador de cliente identifica al cliente para el intermediario. El agente lo utilizará para


realizar un seguimiento del estado del cliente. Es único para cada cliente. En MQTT 3.1.1

también es posible establecer el identificador del cliente vacío. En tal caso, la conexión no
tiene estado y el cliente no puede establecer una sesión persistente con el agente.

2) Con el indicador de sesión limpia, el cliente indica si desea establecer una sesión limpia o
persistente con el intermediario. Si se solicita una sesión limpia (indicador establecido en

17
verdadero), el intermediario no restaurará ni comenzará a almacenar ningún estado para el
cliente y purgará toda la información de la sesión persistente anterior. Sin embargo, si el

indicador se establece en falso (que indica sesión persistente), el intermediario restaurará


anterior sesión (si existe) para el cliente. Esto significa que las suscripciones de temas

realizadas por el cliente en la sesión anterior se restauran y se envían mensajes que el cliente
se había suscrito (con QoS 1 o 2) y que se recibieron cuando el cliente estaba desconectado.

Si se vuelve a solicitar una sesión persistente, el agente comienza a almacenar el estado de


la sesión actual.

3) El nombre de usuario y la contraseña se utilizan para la autenticación y autorización para el


intermediario. Se envían en texto sin formato.

4) Last will, se utiliza para notificar a otros clientes si un cliente se desconecta sin gracia del
intermediario. En caso de tal evento, el intermediario, en nombre del cliente desconectado,

envía un mensaje predefinido al tema predefinido. El cliente desconectado define tanto el


mensaje como el tema durante el establecimiento de la conexión.

5) Keep alive, se utiliza como un intervalo de tiempo que puede transcurrir entre mensajes
consecutivos enviados desde el cliente al intermediario. En caso de que no se envíen

mensajes, el cliente envía una solicitud PING al agente, que debe responder con la respuesta
PING. Este mecanismo se utiliza para determinar si cualquier lado de la comunicación aún es

accesible.

3.4.2 CALIDAD DE SERVICIO (QOS)

En MQTT, la calidad de servicio o quality of service (QoS), por su traducción en inglés, es

esencialmente un acuerdo entre el remitente y el receptor en el que acuerdan la garantía de la


entrega de mensajes con respecto a los mensajes que se envían desde el cliente al intermediario

y viceversa. El acuerdo de QoS es específico del cliente y del tema: cuando el cliente publica
mensajes en el tema, establece el nivel de QoS de forma independiente para cada mensaje y

cuando el cliente suscribe mensajes, establece independientemente el nivel de QoS para cada
tema. El nivel de QoS, por lo tanto, puede degradarse. Esto sucede si un cliente publica con una

QoS más alta que otro ha suscrito el mismo tema. Como se mencionó anteriormente, hay tres

18
niveles distintos de QoS en MQTT: 0 (como máximo una vez), 1 (al menos una vez) y 2
(exactamente una vez). (OASIS, 2019)

Con el nivel 0 de calidad de servicio, que también es el más simple de los niveles, el remitente
simplemente envía el paquete PUBLISH sin esperar ninguna confirmación o reconocimiento del

receptor. En tal caso, el paquete PUBLISH se recibe como máximo una vez. En QoS nivel 1, cada
paquete PUBLISH se recibe al menos una vez. Cuando se utiliza el nivel 1 de calidad de servicio,

el receptor debe reconocer cada mensaje PUBLISH con el paquete PUBACK. Si el acuse de recibo
no se recibe en un período de tiempo adecuado, el paquete PUBLISH se envía nuevamente, lo

que puede suceder varias veces. Cuando QoS es igual o superior a 1, todos los paquetes
PUBLISH transmitidos se identifican con el campo identificador de paquete (tiene un valor

mayor que cero). El uso del receptor de campo sabe qué paquete reconoce con el paquete
PUBACK. Con QoS 0 el campo identificador de paquete se establece en 0. (OASIS, 2019)

El nivel de calidad del servicio 2 asegura que el receptor procese cada paquete PUBLISH
exactamente una vez. En la calidad del servicio 2, se envían un mínimo de cuatro paquetes entre

el remitente y el receptor. El primer paquete en la secuencia es el paquete PUBLISH real. Cuando


se recibe dicho paquete, el receptor es responsable de almacenar la referencia al paquete

utilizando su identificador de paquete. Esto es para evitar que el receptor procese el mismo
paquete PUBLICAR dos veces. El paquete PUBLISH es reconocido por el receptor con el paquete

PUBREC (contiene el identificador de paquete original). Después de recibir el remitente del


paquete PUBREC puede descartar el paquete PUBLISH original sabiendo que el receptor lo ha

recibido con éxito. Cuando se recibe PUBREC, el remitente almacena la referencia a este paquete
y responde con el paquete PUBREL (también contiene el identificador de paquete original).

Después de recibir PUBREL el paquete, el receptor puede descartar todos los estados
relacionados con la identificación del paquete y responder con el paquete PUBCOMP.

PUBCOMP es el paquete final y finaliza la entrega del paquete QoS nivel 2. Si el paquete
asumido no se recibe en una ventana de tiempo adecuada en cualquiera de las etapas de

entrega anteriores, el paquete anterior siempre se presenta nuevamente. (OASIS, 2019)

19
En el modelo de PUB/SUB manejado por MQTT, el publicador puede definir la Calidad de
Servicio (QoS) para la entrega de mensajes en tres niveles:

1) Nivel 0:"A lo sumo una vez", este nivel de servicio garantiza que un mensaje podría
entregarse de acuerdo al mejor esfuerzo, donde la pérdida puede ocurrir.

2) Nivel 1:"Al menos una vez", donde se garantiza la llegada de los mensajes, pero pueden
producirse duplicados.

3) Nivel 2:"Exactamente una vez", donde se garantiza que el mensaje llegue exactamente una
vez. Para esto el publicador deberá guardar el mensaje hasta que el intermediario confirme

en envío a través de la red

3.4.3 SEGURIDAD

MQTT en sí no proporciona características versátiles con respecto a la seguridad: el protocolo se

refiere principalmente a la autenticación y autorización mediante el identificador del cliente,


nombre de usuario y contraseña. Como tal, el protocolo no especifica explícitamente cómo se

deben cifrar los datos de la aplicación o verificar su integridad cuando se transportan dentro de
los paquetes PUBLICAR. Aunque el protocolo MQTT podría no tener diversas características con

respecto a la seguridad, hay varias formas de incorporarlos. Por ejemplo, TLS se puede usar
como protocolo subyacente en lugar de texto plano TCP para proporcionar autenticación,

cifrado y verificación de integridad. Dichas características también se pueden implementar a


nivel de aplicación: las aplicaciones mismas pueden especificar un formato de datos arbitrario

que hace posible implementar el cifrado y la verificación de integridad de datos en varios


formatos dentro de la porción de carga útil del paquete PUBLISH. (HiveMQ, 2015)

El identificador del cliente, el nombre de usuario y la contraseña se envían dentro del paquete
CONNECT cuando se establece la conexión con el agente. Cuando se usan credenciales, el

agente autentica al cliente y autoriza qué recursos (esencialmente temas) se les permite usar.
Por supuesto, esto requiere que el intermediario deba estar configurado correctamente antes de

que los clientes comiencen a conectarse a él. También es importante tener en cuenta que toda
esta información (identificador de cliente, nombre de usuario y contraseña) se envía de forma

clara con el paquete CONNECT y, por lo tanto, es visible para cualquier equipo de red

20
intermedio si se transfiere en la parte superior de la conexión TCP de texto plano. Debido a esto,
el paquete CONNECT (si se usan credenciales) siempre debe estar en la parte superior del

protocolo que proporciona confidencialidad para los datos transferidos. (HiveMQ, 2015)

3.4.4 PAQUETES DE CONTROL

OASIS (2019) especificó que el estándar MQTT define catorce tipos diferentes de paquetes de

control. Estos son CONNECT (1), CONNACK (2), PUBLISH (3), PUBACK (4), PUBREC (5), PUBREL
(6), PUB-COMP (7), SUBSCRIBE (8), SUBACK (9), UNSUBSCRIBE (10), UNSUBACK (11), PINGREQ

(12), PINGRESP (13) y DESCONECTAR (14). El tipo en forma numérica (utilizado para diferenciar
paquetes a nivel de protocolo) se presenta entre paréntesis. A continuación, se incluye una

breve lista sobre para qué se utiliza cada paquete.

1) CONNECT, CONNACK y DISCONNECT se utilizan para establecer y finalizar la conexión real

con el intermediario.
2) PUBLISH, PUBACK, PUBREC, PUBREL y PUBCOMP se utilizan cuando los datos de la

aplicación se publican en el agente.


3) SUBSCRIBE, SUBACK, UNSUBSCRIBE y UNSUBACK se usan cuando se realizan o cancelan

suscripciones.
4) PINGREQ y PINGRESP se utilizan para verificar que el cliente y el agente estén vivos y

accesibles.

Los paquetes MQTT constan de tres partes. Estos son encabezado fijo, encabezado variable y

carga útil. El encabezado fijo siempre está presente, mientras que la existencia de los otros dos
depende de un paquete. Las partes siempre se organizan de modo que el encabezado fijo sea

primero, el encabezado variable segunda y el tercero de carga. El encabezado fijo contiene un


conjunto de campos fijos, mientras que los campos en el encabezado variable y la carga útil

varían entre paquetes. (OASIS, 2019)

El encabezado fijo tiene tres campos. Estos son tipo de paquete, banderas y longitud restante.

Tanto el tipo de paquete como las banderas reservan cuatro bits. El tipo de paquete, como su
nombre indica, contiene el tipo de paquete. Las banderas son específicas para cada paquete (no

21
se utilizan en la mayoría de los casos). La longitud restante especifica cuántos bytes quedan en
el paquete restante (excluyendo el encabezado fijo). Utiliza codificación de longitud variable y,

por lo tanto, la longitud total del encabezado fijo varía de 2 a 5 bytes. (OASIS, 2019)

3.5 RASPBERRY PI

Es un ordenador de bajo costo. Consta de una placa base sobre la que se monta un procesador,

un chip gráfico y memoria RAM. Se puede considerar un ordenador completo. La diferencia con
un ordenador normal es que no incluye cable de alimentación, la caja ni el disco duro, para el

que se utiliza una tarjeta SD. Su principal objetivo es el posibilitar realizar pequeños proyectos y
el poder aprendizaje de un lenguaje de programación de forma sencilla, teniendo en cuenta que

nuestros computadores que tenemos en nuestros hogares solo nos sirven para tareas o de ocio.
Esta tecnología fue diseñada con el fin de ser lo más barato posible y poder llegar al mayor

número de personas. La placa Raspberry cuenta con una salida de audio y video a través de un
conector HDMI lo que nos permite conectar la tarjeta a un monitor, como a una televisión desde

luego que cuente con este tipo de conexión. (Eben & Gareth, 2012)

Raspberry no tiene un software específico instalado por ello, este deja que se escoja el mismo,

con la posibilidad escoger entre Raspbian, distintas distribuciones de Linux, Windows IoT, etc.
Este software se instala en una memoria microSD. (Eben & Gareth, 2012)

Tabla 1-Especificaciones de Raspberry Pi

Caracteristas Descripcion
CPU ARM1176JF-S a 700 MHz(familia ARM11)
Memoria (SDRAM) 512 MB (compartidos con la GPU) desde el 15 de octubre de 2012
Almacenamiento integrado SD/MMC/ranura para SDIO
Conectividad de red 10/100 Ethernet (RJ-45) via hub USB
Consumo energetico 700 mA, (3.5W)
Fuente de alimentacion 5 V via Micro USB o GPIO header
Dimensiones 85.60mm x 53.98MM
Sistemas operativos soportados Debian (Raspian), Fedora, Arch Linux, Slackware Linux, RISC OS
Fuente: (Eben & Gareth, 2012)

22
Debido a sus características físicas mostradas en la Tabla 1, la raspberry pi es una herramienta
que posee la tecnología utilizada para la generación, adquisición, almacenamiento y análisis de

datos y que permitiera la conexión entre ellos, independiente del hardware. De esta manera se
determinó utilizar este microcontrolador de placa reducida por tener una amplia gama de

aplicaciones generalmente orientadas al uso del software y también tomando en cuenta que
tiene la capacidad de alojar varios lenguajes de programación.

23
CAPÍTULO IV. METODOLOGÍA

Una vez planteado el problema de investigación en el capítulo II, establecido de manera

apropiada el marco teórico, y las bases para la presente investigación se procede con la
metodología. En el presente capítulo se determina la metodología de la investigación a utilizar

basados en las teorías anteriormente mencionadas. La metodología sirve de guía, ya que a


través de métodos, técnicas y procedimientos permite determinar los implementos a utilizar

para recabar información valiosa para la investigación. La realización del presente proyecto de
investigación se hará de manera secuencial y probatoria. Se medirán las diferentes variables de

investigación en un determinado contexto para el posterior análisis de las mediciones obtenidas


con el fin de dar conclusiones de manera objetiva.

4.1 ENFOQUE

Se establece un enfoque cuantitativo en la presente investigación, la finalidad de la


investigación es de tipo aplicada por que se resuelve una problemática en base a los objetivos

del proyecto. Se estipuló el desarrollo del proyecto en un tiempo determinado ya que se tuvo
un cronograma de actividades a realizarse.

La investigación es de tipo descriptiva ya que analiza e implementa una nueva tendencia que
implica el internet de las cosas y la industria 4.0, además, es de tipo documental y experimental,

esto debido a que el proyecto se desarrolla a partir de documentos científicos y documentales y


se implementa y verifica su funcionamiento.

Se determinó la presente investigación de tipo experimental ya que se manipularán las variables


en condiciones controladas, replicando un fenómeno concreto y observando el grado en que las

variables implicadas y manipuladas producen un efecto determinado, además, se estableció


como una investigación transversal ya que se analizan los datos de las variables recopiladas en

un periodo de tiempo.

24
4.2 VARIABLES DE INVESTIGACIÓN

Las variables de investigación son de mucha importancia ya que son los objetos de estudio. En
esta investigación, se definieron las variables de investigación, se evaluaron diferentes variables

que afectan directamente la efectividad y funcionamiento de la red IoT, entre ellas fueron:

1) Independiente

1.1) Funcionamiento de la red IoT con el protocolo MQTT


2) Dependiente

2.1) Latencia
2.2) Tiempo de respuesta

2.3) Servicio de Internet


2.4) Actualización de la Raspberry Pi

2.5) Servidor

4.3 TÉCNICAS E INSTRUMENTOS APLICADOS

Para el presente proyecto se recopiló información de fuentes confiables como ser revistas

científicas, libros y diversas revistas sobre el tema. Se configuró el protocolo MQTT para
implementar una red establece y funcional. Se diseñó algoritmos para el funcionamiento de la

red en el software respectivo de cada dispositivo a utilizar, para el PLC Siemens S7-1200 se
utilizó TIA Portal para ejecutar el funcionamiento esperado, para la Raspberry Pi 3 se utilizó su

sistema operativa Raspbian.

4.4 MATERIALES

Los materiales necesarios para el funcionamiento y comunicación estable de la red IoT con el

protocolo MQTT, fueron los siguientes:

1) Autómata programable Siemens S7-1200

25
Ilustración 4-PLC Siemens S7-1200

Fuente: (SIEMENS, 2019)

En la ilustración 4, se presenta el PLC utilizado, de marca Siemens modelo S7-1200, fue utilizado

para el control de pistones, y para el establecimiento de la red IoT.

2) Raspberry Pi 3

Ilustración 5-Raspberry Pi 3 Modelo B+

Fuente: (Raspberry Pi Foundation, 2018)

En la ilustración 5, se muestra el modelo de la Raspberry Pi utilizado para la implementación de

la red, se utilizó en uno de los métodos implementados se utilizó como bróker de la red MQTT y
en el otro método se implementó como servidor

26
3) Pistones

Estos fueron utilizados para prueba de control a través de la red implementada.

4) Cables UTP

Fueron indispensable para permitir la comunicación entre el PLC y la Raspberry Pi.

5) TIA Portal

Software utiliza para implementar la lógica del PLC, necesaria para el funcionamiento de la red

IoT.

6) Raspbian

Sistema Operativo utilizado por la Raspberry Pi, en la cual se programó para su respectivo
funcionamiento.

4.5 METODOLOGÍA DE ESTUDIO

Para el desarrollo de la investigación se efectuó un proceso esquematizado en cuatro etapas:

Descripción Implementación Análisis Resultado

Ilustración 6-Proceso de desarrollo del trabajo

Fuente: Elaboración Propia

En la ilustración 4 se describen las cuatro etapas seguidas para la realización del presente

proyecto. La primera etapa es la descripción, en esta etapa se recolecta la información más


relevante del internet de las cosas, específicamente en el protocolo MQTT, sus características

fundamentales, su funcionamiento y se citan las aplicaciones de este protocolo. Además, se


mostró las características del autómata programable a utilizar, el S7-1200 y de las raspberry Pi 3.

27
En la etapa de implementación, se desarrolló y estableció una red de comunicación que permita
enlazar la Raspberry Pi con el dispositivo de control, el PLC Siemens 1200. Se configuró el

protocolo MQTT en esta red, se desarrolló un algoritmo que permite el uso del protocolo MQTT
en una red industrial, además, se implementó un algoritmo apropiado en el autómata

programable para efectuar la comunicación con la Raspberry Pi y el uso del protocolo MQTT.

En la siguiente etapa, análisis, luego de hacer establecido una red funcional, se procedió a la

evaluación de la red, se midieron las variables establecidas en el presente capítulo. Se obtuvo los
datos de latencia y capacidad de almacenamiento de información que presentó la red con el

uso del protocolo MQTT en la red de IoT industrial con el uso del PLC Siemens-1200 y la
Raspberry Pi3.

En la última etapa, resultados, donde toda la literatura obtenida en el desarrollo de este trabajo
permite implementar el protocolo MQTT y obtener conclusiones y recomendaciones del

funcionamiento de la red IoT.

Tal como lo manifiesta Corbin (2002), para construir una teoría bien desarrollada, integrada y

exhaustiva, un investigador debería elegir el método más conveniente, teniendo en mente que
siempre es necesaria una interacción de métodos que lo complementen, además, es importante

señalar que independientemente del método que se utilice, la fuerza motriz siempre deberá ser
la teoría en su constante evolución.

4.6 METODOLOGÍA DE VALIDACIÓN

Se estableció como metodología de validación la evaluación de los resultados obtenidos en la


latencia y el tiempo de actualización de la Raspberry. Así como afirma Lindén (2017) en su

proyecto de investigación sobre red IoT, donde observa de manera objetiva la latencia que
presenta la red implementada.

28
4.7 CRONOGRAMA DE ACTIVIDADES

Para la realización efectiva del proyecto se estableció un cronograma de actividades a seguir,


junto con su duración, fecha de inicio y final de la actividad, todo ello para la finalización

adecuada del proyecto.

Ilustración 7-Cronograma de Actividades

Fuente: Elaboración Propia

En la ilustración 7, se detallan las actividades realizadas durante el proyecto. Se inició el


proyecto, seleccionando el tema de investigación, se prosiguió con la recolección de

información de diferentes fuentes confiables. Luego, se inició la etapa de implementación, con la


selección y obtención de los materiales necesarios para la implementación de la red, para la

posterior recopilación de datos. Después, se detallaron los resultados obtenidos durante la


prueba experimental realizada a partir de la implementación de la red. Finalizando, se presentó

el análisis y conclusiones obtenidas a partir de los resultados obtenidos.

29
CAPÍTULO VI. RESULTADOS Y ANÁLISIS

En el presente capítulo se presenta y describe la implementación realizada, esto logró ser

efectuado gracias al proceso de investigación realizado a través de una metodología de estudio


establecida a seguir.

5.1 DESCRIPCIÓN

En la implementación realizada se creó una red con un protocolo del internet de las cosas,
MQTT, el cual es un protocolo de comunicación M2M de tipo message queue. Se utilizó este

protocolo debido a las diferentes ventajas que posee, escalabilidad, asincronismo y


desacoplamiento entre clientes, además de la sencillez y ligereza, haciéndolo adecuado para

aplicaciones IoT, donde frecuentemente se emplean dispositivos de baja potencia.

5.1.1 EQUIPOS IMPLEMENTADOS

Se utilizaron diferentes equipos para poder realizar la implementación de la red de internet de

las cosas. Se utilizó la Raspberry PI 3, (ver ilustración 5), como broker del protocolo MQTT, este
se podría decir que es el corazón de cualquier protocolo de publicación/suscripción. La

Raspberry Pi 3 es responsable de recibir todos los mensajes, filtrar los mensajes, determinar
quién está suscrito a cada mensaje y enviar el mensaje a estos clientes suscritos, además de que

mantiene las sesiones de todos los clientes persistentes, incluidas las suscripciones y los
mensajes perdidos.

La Raspberry Pi 3 también es responsable de la autenticación y autorización de los clientes, es


extensible, lo que facilita la autenticación, la autorización y la integración personalizadas en los

sistemas de fondo. La integración su grado de importancia debido porque la Raspberry es con


frecuencia el componente que está expuesto directamente en internet, maneja muchos clientes

y necesita pasar mensajes a los sistemas de análisis y procesamientos posteriores.

Por lo tanto, la Raspberry es la central a través del cual debe pasar cada mensaje, por ello, es

importante que esta sea escalable, integrable en sistemas de back-end, fácil de monitorear y
resistente a fallas.

30
El autómata programable, PLC Siemens S7-1200 actuo como un cliente MQTT. El cliente puede
ser tanto editor como suscriptor. Las etiquetas de editor y suscriptor se refieren así el cliente

está actualmente publicando mensajes o suscribiéndose a mensajes. El cliente MQTT, el PLC


Siemens S7-1200 se conecta el broker, la Raspberry Pi 3. Estos es posible gracias a que ambos

dispositivos pueden comunicarse a través de una pila TCP/IP. El cliente MQTT, el PLC Siemens
S7-1200 se logró configurar con na librería la cual permite la comunicación con el broker,

Raspberry Pi 3, asi como la publicación y suscripción y los diferentes mensajes del protocolo
MQTT, especificados en el marco teórico.

Se utilizó el software TIA Portal para configurar el cliente de la red implementada, el PLC,
Siemens S7-1200. Aquí se configuró el PLC para establecer comunicación a la red, se le asignó

una dirección IP específica dentro de la red.

5.2 IMPLEMENTACIÓN

Una vez descrito de manera detallada el proceso a realizar, así como sustentado todo el

proceso, se procedió a la implementación de la red con el protocolo MQTT de internet de las


cosas. Fue necesario realizar conexiones físicas para poder establecer comunicación entre los

dispositivos se utilizaron cable de cobre RJ45, o Ethernet, el cual permitía comunicar el PLC,
como cliente de la red IoT, con la Raspberry Pi 3, como broker de la red IoT.

5.2.1 CONEXIONES

Fue necesario la instalación de los medios por los cuales los paquetes serán transportados,
permitiendo la comunicación entre el broker y n cliente dentro una red del internet de las cosas

con el protocolo MQTT.

31
Ilustración 8-Conexiones del cliente MQTT

Fuente: Elaboración Propia

En la ilustración 8, se presentan las conexiones realizadas para permitir la comunicación del

cliente, el PLC Siemens S7-1200, hacia el broker, la Raspberry Pi3, a través del cable UTP, RJ45,
Ethernet. Además, se muestran conexiones de proceso de control del plc.

32
Ilustración 9-Conexiones del broker MQTT

Fuente: Elaboración Propia

En la ilustración 9, se presenta las conexiones realizadas al broker MQTT, Raspberry Pi 3, le cual

se comunica con el PLC Siemens S7-1200 a través del cable Ethernet. Luego la Raspberry Pi 3, es
conectado a la red inalámbrica dada por el router instalado, permitiendo la conexión a internet

de la red de internet de las casas a través del protocolo MQTT:

5.2.2 CONFIGURACIÓN DEL BROKER

5.2.2.1 Configuraciones Iniciales de Raspbian

El broker en esta red IoT con el protocolo MQTT fue la Raspberry Pi 3, por lo tanto, fue

necesario configurar la Raspberry como tal. Inicialmente, la Raspberry Pi funciona como un


ordenador, por ello, se le debe instalar un sistema operativo en el cual se va a trabajar y realizar

las configuraciones posteriores a través de la GUI proporcionada por el sistema operativo.

33
Raspberry Pi 3 permite la instalación de diferentes sistemas operativos, desde sistemas
operativos basados en Windows o Linux. Para la realización de las configuraciones para el

funcionamiento de la red se decidió utilizar el sistema operativo Raspbian.

Ilustración 10-Sistema operativo Raspbian para Raspberry Pi 3

Fuente: Elaboración Propia

Se presenta en la ilustración 10, el sistema operativo descargado, Raspbian, el cual se procedió a


instalar de manera adecuada. Se creó la imagen en la tarjeta microSD del sistema operativo y

luego se anexo una tarjeta microSD a la Raspbrry Pi 3, con este proceso el sistema operativo ya
está instalado en la Raspberry Pi 3.

La primera vez para iniciar la Raspberry se debe conectar un teclado y un mouse a los
respectivos puertos USB con el fin de lograr realizar las configuraciones iniciales del sistema.

34
Ilustración 11-Configuración inicial de la Raspberry Pi 3

Fuente: Elaboración Propia

En la ilustración 11, se presenta las configuraciones iniciales realizadas en la Raspberry Pi 3. Se

configuró la clave y el hostname para mayor seguridad de la red, para que nadie más logre
acceder sin la autorización brindada, además, se activó el acceso remoto con VNC.

Posteriormente se configuró el acceso a internet via conexión inalámbrica proporcionada por el


router instalado. Luego se reinicia la Raspberry para que los cambios se puedan aguadar. Se

procedió a acceder a la Raspberry PI a través del VNC.

Después se continuó con la configuración de resolución de la pantalla utilizada, para lograr

configurarla fue necesario editar un fichero en la Raspberry, agregando y modificando las líneas
indicadas.

35
Ilustración 12-Lista de resoluciones de la pantalla HDMI

Fuente: Elaboración Propia

Se presenta en la ilustración 12, las diferentes resoluciones disponibles para configurar la salida HDMI de
la Raspberry. Se cambió al modo 16, con una resolución de 1080p con 60 Hz de refresco de imagen,

como se muestra en la ilustración 13, estos datos fueron modificados en el fichero de la Raspberry Pi.

Ilustración 13-Configuración de pantalla HDMI

Fuente: Elaboración Propia

36
Ilustración 14-Actualización de sistema operativo Raspbian

Fuente: Elaboración Propia

Se actualizo el sistema de la Raspberry Pi, ver ilustración 14, para mantenerlo con las últimas
modificaciones añadidas. Esto se realiza ingresando el comando: “sudo apt-get updtade” y

“sudo apt-get upgrade”, en la terminal de Raspbian, descargando e instalando las ultimas


actualización del sistema operativo.

5.2.2.2 Configuración del servidor Apache y PHP 7

Posteriormente se instaló el servido apacha, el cual es un servidor web HTTP de código abierto,
para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que

implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Apache presenta entre otras
características altamente configurables, bases de datos de autenticación y negociado de

contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración.
Apeche es modular, es de código abierto, multi-plataforma y extensible. Apache es el

37
componente de servidor web en la popular plataforma de aplicaciones LAMP, junto a MySQL y
los lenguajes de programación PHP/Perl/Python (y ahora también Ruby).

Por ello, también se instaló PHP 7, el cual es un lenguaje de programación de propósito general
de código del lado del servidor originalmente diseñado para el preprocesador de texto plano,

PHP no genera HTML, sino que ofrece una salida de texto con codificación UTF-8 compatible
con los documentos HTML. Fue uno de los primeros lenguajes de programación del lado del

servidor que se podían incorporar directamente en un documento HTML en lugar de llamar a un


archivo externo que procese los datos. El código es interpretado por un servidor web con un

módulo de procesador de PHP que genera el texto plano en formato UTF-8, ampliamente
reconocido por el estándar HTML, dando como resultado, en los exploradores, una salida al

usuario perfectamente entendible.

Para la instalación de estos dos componentes en necesario ingresar un comando dentro de la

terminal de la Raspberry, mostrado en la ilustración 15.

Ilustración 15-Comando de instalación de apache y php 7

Fuente: Elaboración Propia

Una vez ingresado el comando mostrado en la ilustración se procedió a la instalación de apache


y php 7, luego de finalizar la instalación se ingreso al localhost en un buscador web, en el cual

se obtuvo el resultado de la instalación del servidor apache, mostrado en la ilustación 16.

38
Ilustración 16-Servidor apache 2

Fuente: Elaboración Propia

En la ilustración 16, se muestra el resultado obtenido luego de instalar el servidor con el

comando mencionado anteriormente. Se ingresó a la barra de direcciones de un navegador


web, y se buscó localhost, y luego apareció la página por defecto del servidor Apache2.

5.2.2.3 Configuración de Mosquitto

Una vez configurado la Raspberry Pi, con la configuración inicial asi como el servidor http,
Apache, instalado, se procedió a instalar mosquitto, el cual es el que le permite a la Raspberry Pi

funcionar como un broker de la red IoT con el protocolo MQTT.

39
Ilustración 17-Instalación de mosquitto

Fuente: Elaboración Propia

En la ilustración 17, se muestra el comando ingresado en la terminal para la correcta instalación


de mosquitto, para convertirse en el broker de la red. Se configuró de manera adecuada el

mosquitto. El envío, así como la recepción de mensajes son directos, con solo suscribirse al
broker y al tópico se pudo realizar una comunicación eficaz, con las configuraciones realizadas.

El protocolo MQTT utiliza predeterminadamente el puerto 1883.

5.2.2.4 Configuración de Node-RED

Luego se procedió a instalar Node-RED, el Node-RED es un motor de flujos con enfoque IoT,

que permite definir gráficamente flujos de servicios, a través de protocolos estándares como
REST, MQTT, Websocket, AMQP, además, de ofrecer integración con apis de terceros, tales

como Twitter, Facebook, Yahoo.

Node-RED se trata de una herramienta visual muy ligera, programada en NodeJS y que puede

ejecutarse desde en dispositivos tan limitados como una Raspberry, hasta en plataformas
complejas como IBM Bluemix, Azure IoT o Sofia2 Platform. El editor de flujos de Node-RED

consiste en una sencilla interfaz en HTML, accesible desde cualquier navegador, en la que
arrastrando y conectando nodos entre sí, es posible definir un flujo que ofrezca un servicio. Es

40
una herramienta de código abierto, una de las características más notables de Node-RED es la
sencillez con la que se pueden crear nuevos nodos e instalarlos.

Ilustración 18-Instalación de Node-RED

Fuente: Elaboración Propia

Se presenta el comando utilizado en la terminal para ejecutar la instalación del Node-RED,


mostrado en la ilustración 18. Luego de finalizar la instalación, se inicia el Node-RED y se instala

el módulo UI, posteriormente, se reinicia el programa para guardar los cambios. Para entrar al
Node-RED, se debe ingresar al navegador web y escribir en la barra de búsqueda

http://localhost:1880/. El Nodo-RED es un servicio local html, por lo tanto, se utiliza la dirección


IP de la Raspberry Pi para acceder en el Node-RED, o localhost, y específicamente en el puerto

1880.

Ilustración 19-Interfaz del Node-RED

Fuente: Elaboración Propia

En la ilustración 19, se muestra el resultado al ingresar la dirección local en el puerto 1880 del
navegador web, la interfaz del Node-RED. En la parte en cuadro azul, se encuentra la lista de

41
selección de nodos, donde aparecen todos los nodos entrada, salida y programación, entre
otros, instalados en Node-RED. En la ventana verde se encuentra el espacio de programación,

donde se ubican, arrastrándolos, los nodos y se vinculan entre ellos para formar flujos y de tal
manejar sea crea la lógica de la programación. Y en la ventana anaranjada, se muestra

información de un nodo seleccionado, de mensajes creados de forma local para el programa


Node-RED y configuración de los flujos y nodos.

5.2.2.5 Configuración de SNAP7

Una vez configurado la Raspberry Pi como broker de la red IoT, es necesario establecer
comunicación entre el autómata programable, el PLC Siemens S-1200, y la Raspberry Pi. Para

lograr el funcionamiento de esta comunicación adecuado es necesario el uso de una suite de


protocolo de comunicación, denominada Snap7. Con snap7 se puedo imitar ciertas

comunicaciones y comportamientos de igual modo que con el protocolo de comunicación


industrial, modbus.

Snap7 es un software multi plataforma para comunicarse de igual manera que lo harían de
forma nativa los PLCs Siemens, empleando tecnología Ethernet y protocolo S7. Snap7 es un

software de código abierto, el cual soporte muchas plataformas de sistemas operativos. Dentro
de snap7, se definen 3 componentes principales los cuales son, cliente, servidor y partner.

Donde el cliente en este caso sería el autómata programable S7-1200 y el servidor es la


Raspberry Pi 3.

La implementación del protocolo S7, base de las comunicaciones entre dispositivos SIEMENS, se
soporta sobre una ampliación del protocolo TCP recogida en la RFC 1006 y titulada como “ISO

Transport Service on top of TCP”. Esto es necesario ya que TCP está orientado al envío de datos
no transmitiendo información sobre la longitud de la información contenida o sobre cuándo

empiezan o terminan. Sin embargo, en aplicaciones de automatización, es indispensable operar


orientado a mensajes. Esto es, enviar bloques de datos en los que el receptor sea capaz de

reconocer, ahora sí, dónde terminan y finalizan cada uno de ellos. Con RFC 1006, se logra esto
último ya que se incluye una cabecera que lo define, y por tanto, garantiza el proceso.

42
Resumiendo, RFC 1006 es una aplicación dirigida a mensajes, pero basada en TCP que está
basado en datos.

Ilustración 20-Instalación de Snap7

Fuente: Elaboración Propia

Luego se procedió a configurar el snap7 en el Node-RED, inicialmente, fue necesario instalarlo

en el Node-RED, ya que se instaló en la Raspberry Pi y es necesario instalar los nodos de Snap7


en Node-RED. Se inició el Node-RED y se buscó la librería del snap7 de Siemens y fueron

instalados.

Ilustración 21-Snap7 en el Node-RED

Fuente: Elaboración Propia

En la ilustración 21, se muestran los nodos instalados para lograr establecer comunicación de la

red IoT. Luego se reinició y se obtuvieron nuevas entradas y salidas para configurar en el
diagrama de Node-RED. Y se finalizó configurando el diagrama de flujo, donde se estableció al

43
autómata programable, Siemens S7-1200 como cliente y a la Raspberry Pi 3, como servidor y asi
mismo broker de la red de internet de las cosas con el uso del protocolo MQTT.

5.2.3 CONFIGURACIÓN DEL CLIENTE

El cliente en la red IoT es el PLC Siemens S7-1200, el cual es suscriptor y editor de la red, el cual
puede realizar publicaciones y suscripciones, comunicando y estableciendo todas estas acciones

a través del broker de la red, el cual es la Raspberry Pi 3.

Fueron necesario realizar configuraciones en la protección del PLC para lograr establecer
comunicación en la red IoT.

Ilustración 22-Configuración de la protección del PLC

Fuente: Elaboración Propia

44
En la ilustración 22, se presenta los cambios realizados en la protección del PLC Siemens S7-
1200 a través del software TIA Portal, se garantizó total acceso de todos los paquetes que recibe

el PLC. Además, se permitió el acceso con PUTGET, el cual permite la comunicación con un
dispositivo remoto.

Luego se procedió a configurar la parte de control que realizó.

Ilustración 23-Configuración del PLC, parte I

Fuente: Elaboración Propia

En la ilustración 23, en el primer bloque de programación se agregaron 4 variables, 3 que son entradas y 1

salida, en el principio M0.1 sirve para accionar el motor Q0.0 así mismo se mantiene en un ciclo a menos
que M0.2 sea activado este sirve como un paro de emergencia. En el segundo empieza el primer ciclo del

motor donde trabajara a 30 Hz durante 30 segundos.

45
Ilustración 24-Configuración del PLC, parte II

Fuente: Elaboración Propia

En la ilustración 24, se encuentra el bloque 3 y 4 de programación estos son el segundo y tercer ciclo del

motor donde trabajará a 15 Hz durante 15 segundos y luego descenderá a 5 Hz por 5 segundos.

46
Ilustración 25-Configuración del PLC, parte III

Fuente: Elaboración Propia

El quinto y sexto bloque de programación se encuentran en la ilustración 25, estos contienen el último

ciclo del motor y el reinicio de ciclo completo. El último bloque sirve para que el motor llegue a 0 Hz y
reinicie el ciclo completo del motor, si este no se activa luego de 50 segundos activara M0.2 el cual

activara una interrupción general todo el ciclo.

5.3 RESULTADO

Para que una red sea funcional, debe existir comunicación entre los dispositivos deseados, en
este caso se desea establecer comunicación entre el PLC como cliente y la Raspberry Pi 3 como

broker y servidor de la red.

Ilustración 26-Configuración del PLC, parte III

47
Fuente: Elaboración Propia

En la ilustración 26, se muestra la comunicación establecida entre el PLC y la Raspberry Pi, se

generó un ping desde la Raspberry Pi con la dirección IP 192.168.43 hacia la dirección IP del PLC
la cual tiene la dirección IP 192.168.43.232, se obtuvo un tiempo de respuesta estimado de

23.4ms.

Ilustración 27-Configuración del Node-RED, parte I

Fuente: Elaboración Propia

Se creó un diagrama de flujo donde se configuró la red IoT con el protocolo MQTT, como se

muestra en la ilustración 27 y 28, a partir del sistema de control de un motor creado en el


software TIA Portal, para ejecutar en el PLC.

48
Ilustración 28-Configuración del Node-RED, parte II

Fuente: Elaboración Propia

Existen diferentes métodos para lograr el establecimiento de una red de internet de las cosas
con el protocolo MQTT. Otra forma para implementarlo es con el uso de una librería de MQTT

CLIENTE del PLC Siemens S7-1200, y el uso de otro dispositivo Siemens para que sea el broker
de la red IoT, el cual es el SIMATIC IoT 2040.

Ilustración 29-SIMATIC IoT 2040

El SIMATIC IoT 2040 fue creado como pasarela inteligente para las soluciones de IoT industrial,
permite la interconexión de las plantas existentes a la nube, permite la armonización entre las

diferentes fuentes de datos, su análisis y redirigir los resultados a los correspondientes


receptores. Debido a esto el SIMATIC IoT 2040 funciona de manera adecuada como broker de

una red IoT con el protocolo MQTT, ya que permite la distribución y recepción de mensajes de
manera adecuada.

El PLC de igual manera actuaría como cliente de la red IoT realizando las respectivas
publicaciones en un tópico en específico. Con la diferencia que no se utilizaría el software

SNAP7 para establecer la comunicación entre el broker SIMATIC IoT 2040 con el cliente el PLC
Siemens S7-1200, debido a la librería de MQTT Client.

49
Ilustración 30-Librería MQTT Client Siemens

En la ilustración 30, se muestra la librería a utilizar para lograr la comunicación entre el PLC

Siemens S7-1200 y el SIMATIC IoT 2040 en la red IoT con el protocolo MQTT.

Por lo tanto, la diferencia entre estos métodos es el uso de un diferente hardware para ser el

broker de la red, el implementado en el presente proyecto de investigación con una Raspberry


Pi 3, y la otra opción con de utilizar el SIMATIC IoT 2040 como broker de la red.

Tabla 2-Costo de hardware del broker

Artículo Precio
Raspberry Pi 3 Modelo B+ $42
SIMATIC IoT 2040 $320
Fuente: Elaboración Propia

En la tabla 2, se muestra el precio que posee la Raspberry Pi 3 Modelo B+ y el SIMATIC IoT 2040

con una diferencia total de $278. El SIMATIC IoT 2040 con un precio de $278 más que la
Raspberry Pi 3. Esto se debe a que a que el SIMATIC IoT 2040 es un equipo más robusto, puede

soportar de una mejor manera cualquier ambiente, ya que están diseñadas para el entorno
industrial. En cambio, la Raspberry Pi 3, con los diferentes accesorios y carcasas que

50
proporcionan mayor robustez, no están diseñadas para el entorno industrial y, por lo tanto, sus
condiciones de operación pueden no ser adecuadas en algunas industrias. Otro detalle a

considerar es que la Raspberry Pi 3, no está dotada de pines de entrada analógicos, lo cual se


requiere para cualquier otro tipo de sensor, por ello, se necesitaría un circuito ADC externo para

poder leer un sensor analógico.

Tabla 3-Comparación entre SIMATIC IoT 2040 y Raspberry Pi 3

Elemento SIMATIC IoT 2040 Raspberry Pi 3


Diseñado para ámbito industrial Sí No
Compatibilidad con sistemas operativos Sí Sí
Compatibilidad con multitud de protocolos Sí Sí
Conectividad Sí Sí
Capacidad de Información Sí Sí
Capacidad de Procesamiento Sí Sí
Memoria RAM Sí Sí
Pines de entrada analógicos Sí No
Pines de salida analógicos Sí No
Precio No Sí
Tamaño y Peso No Sí
Fuente: Elaboración Propia

En la tabla 3, se presenta una comparación entre la Raspberry Pi 3 y el SIMATIC IoT 2040. No se


encontraron muchas diferencias significativas entre estos dos dispositivos con la gran diferencia

en el uso industrial, el cual puede ser crucial en una planta en específico. A pesar de ello, la
Raspberry Pi 3, posee una gran capacidad para un precio tan cómodo, además de que cuenta

con una gran comunidad open source, lo cual hace que tenga una compatibilidad y
funcionalidad muy extendida gracias a las distinta librerías y programas existentes y también

cuenta con una gran cantidad de accesorios existentes de los cuales hay mucha variedad debido
a su extendida popularidad.

51
CAPÍTULO VI. CONCLUSIONES

6.1 CONCLUSIÓN GENERAL

Se diseñó e implementó una red de comunicación de internet de las cosas con el uso del

protocolo MQTT, utilizando una Raspberry Pi 3 como broker de la red IoT, con el uso de
mosquitto. El PLC Siemens S7-1200 fue establecido como cliente de la red, el cual hacia

publicaciones o suscripciones que eran enviados al broker. Se logró el funcionamiento gracias a


la aplicación de los softwares apropiados, el Node-RED, para crear la red entre el PLC y la

52
Raspberry Pi, además, de SNAP7 el cual es un conjunto de comunicaciones Ethernet
multiplataforma para interactuar de forma nativa con PLC Siemens S7 y permitió la

comunicación entre el cliente y el servidor.

6.2 CONCLUSIONES ESPECÍFICAS

1) Se implementó la red MQTT la cual permitió al autómata programable realizar publicaciones

y suscripciones en la red, los cuales eran recibidos por el broker, la Raspberry Pi.
2) Para la comunicación entre la Raspberry Pi y el PLC Siemens S7-1200 fue necesario el uso

snap7, junto con Node-RED para lograr comunicar estas dos máquinas. MQTT es un
protocolo de menor consumo de energía, lo que permite usar este sistema 24/7, además, de

su sencillez y ligereza mostrada.


3) Ya implementado la red de internet de las cosas con el protocolo MQTT la cual permitió

comunicar a las máquinas entre sí, se determinó una velocidad de respuesta de 23.4ms.
4) La Raspberry Pi 3 Modelo B+ es un gran dispositivo para ser un broker apropiado dentro de

una red IoT, posee grandes capacidades al igual que el SIMATIC IoT 2040, con la gran
diferencia que el SIMATIC IoT 2040 está diseñado para cualquier ambiente industrial en

cambio la Raspberry Pi aun con diferentes carcasas no es apta para cualquier ambiente.

CAPÍTULO VII. RECOMENDACIONES

Una vez elaboradas las conclusiones y en base a estas se realizan las recomendaciones a la

investigación.

53
1) Se recomienda utilizar software y protocolos de comunicaciones que sean open source, esto
debido a que primeramente son de menor costo y al ser open source, existen más librerías y

ayuda para trabajar o implementar con algún equipo en específico, por ejemplo, Node-RED
y SNAP7.

2) Si la red se va a instalar en una planta industrial, donde el equipo está expuesto a diferentes
cosas que pueden afectar el rendimiento del equipo se recomienda utilizar el SIMATIC IoT

2040 ya que este equipo cuenta con mayor robustez y pertenece a un entorno más
industrial debido a sus características.

54
BIBLIOGRAFÍA

Bonilla, I., Tavison, A., Morales, M., Guajardo, L., & Laines, C. (2016). IOT, el Internet de las Cosas

y la Innovacion de sus Aplicaciones. Vincula Tégica, 213-2340.

Cisco. (2011). Internet de las Cosas; Cómo la próxima evolución de Internet lo cambia todo.

Corbin, A. S. (2002). Bases de la investigación cualitativa, Técnicas y Procedimientos para

desarrollar la teoría fundamentada. Antioquia: Editorial Universidad de Antioquia.

Eben, U., & Gareth, H. (2012). Raspberry Pi User Guide (Primera). United Kingdom: John Wiley &

Sons Ltd.

Gallo Castillo, T. L. (2018). Desarrollo e Implementación de Internet Industrial de las Cosas

Aplicado al Laboratorio de PLC’s de la Facultad de Ingeniería Industrial en Procesos de

Automatización de la Universidad Técnica de Ambato. Escuela Superior Politécnica de

Chimborazo, Riobanba, Ecuador.

Gonzáles Páramo, J. (2017). Cuarta Revolución Industrial, empleo y Estado de Bienestar.

HiveMQ. (2015). Introducing the MQTT Protocol—MQTT Essentials: Part 1.

Lindén, E. (2017). A latency comparison of IoT protocols in MES (Master). Linköping University.

Munner, B., Mohammed, Q., & Shadi, A. (2017). Internet of Things: Survey and open issues of

MQTT protocol. International Conferenco on Engineering & MIS (ICEMIS), 50-62.

OASIS. (2019). Specification MQTT v5.0.

Oliván, R. (2016). La cuarta revolución industrial. Revista de Estudios Urbanos y Ciencias Sociales,

101-111.

55
Osathanunkul, K., Hantrakul, K., Pramokchon, P., Khoenkaw, P., & Tantitharanukul, N. (2017).

Configurable Automatic Smart Urinal Flusher based on MQTT Protocol.

Raspberry Pi Foundation. (2018). Raspberry Pi 3 Model B+. Recuperado de

https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/

Sabalza. (2016). Reflexiones sobre la Industria 4.0 desde el caso vasco. Ekonomiaz, 142-173.

Semle, P. A. (2016). Protocolos IIoT para considerar. 32-35.

Shuttleworth, M. (2015). Diseño de Investigación de un Estudio de Caso.

SIEMENS. (2019). SIMATIC S7-1200 | SIMATIC Controllers | Siemens [Newton_ps-detail].

Recuperado 23 de agosto de 2019, de Siemens.com Global Website website:

https://new.siemens.com/global/en/products/automation/systems/industrial/plc/s7-

1200.html

Terán, O., Espinosa, E., Hernández, P., & Flores, J. (2017). Internet de las Cosas Iot como

herramienta para la optimización de la cadena de suministro del sector secundario.

Revista GLobal de Negocios, 107-118, 107-118.

Thota, P., & Kim, Y. (2016). Implementation and Comparison of M2M Protocols for Internet of

Things.

Val Román, J. (2017). Industria 4.0: La transformación digital de la industria. coddiingorme, 1-10.

Villanueva, M. (2016). La Industria 4.0, una prioridad. Revista de la Asociación Española para la

Calidad, 1-51.

56
Villena Albert, R. (2017). Proyecto de Integración de Autómata Programable Simatic S7-1200 en

Red IoT (Postgrado). Universidad Polotécnica de Valencia, Valencia, España.

Weyrich, M., Schmidt, J., & Ebert, C. (2014). Machine-to-Machine Communication. IEEE, 19-23.

Ynzunza, C., Izar, J., Aguilar, F., & Larios, M. (2017). El Entorno de la Industria 4.0: Implicaciones y

Perspectivas Futuras. Conciencia Tecnológica, 1-19.

57

También podría gustarte