Logo Studenta

-15---TMCIE---2020-Clarivel-Fabela-Soto

¡Este material tiene más páginas!

Vista previa del material en texto

DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN 
“Evaluación de computadoras de placa única para la 
integración de sistemas analíticos al internet de las 
cosas” 
POR 
ING.Clarivel Fabela Soto 
T E S I S 
PRESENTADO COMO REQUISITO PARCIAL PARA OBTENER EL GRADO DE MAESTRO EN 
CIENCIAS EN INGENIERÍA ELÉCTRICA 
 
DIRECTOR DE TESIS 
(Dr. Francisco Valdés Peresgazga) 
CODIRECTOR DE TESIS 
 (Dr. Hesner Coto Fuentes) 
ISSN: 0188-9060 
 
 
 
 
RIITEC:(15) -TMCIE - 2020 
Torreón, Coahuila. México 
Enero 2021 
 
 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
i 
 
Agradecimientos 
Especialmente quiero agradecer a mi familia, a mis padres, en especial a mi madre por su 
apoyo incondicional en todo momento y por siempre impulsarme a superarme y cumplir con 
cada una de mis metas y cuidar de mi hijo para seguir estudiando. 
 
Al Dr. Francisco Valdés Peresgazga por brindarme su apoyo, confianza durante todo este 
periodo y sobre todo por la oportunidad de culminar esta meta. 
 
Al Dr. Hesner Coto Fuentes por todo el apoyo y orientación para encaminarme hacia el 
objetivo general del proyecto. 
 
Al CONACYT por el apoyo económico brindado. 
 
También quiero agradecer a todos mis maestros que fueron una parte importante para el 
progreso de mi trabajo. 
 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
ii 
 
Resumen: 
El internet de las cosas es la conexión de objetos de uso habitual o cotidiano a internet. La 
finalidad es la interconexión de diferentes objetos que utilizamos con cierta frecuencia, con 
el objetivo de hacernos la vida más fácil, por ejemplo, en la administración eficiente de la 
energía o en potenciar nuestra propia seguridad. 
 
Además, el internet de las cosas se basa en sensores, en redes de comunicaciones y en 
dispositivos inteligentes que manejan todo el proceso y los datos que se generan. Los 
sensores son los sentidos del sistema y, para que puedan ser empleados de forma masiva, 
deben tener bajo consumo y coste, un reducido tamaño y una gran flexibilidad para su uso 
en todo tipo de circunstancias. El enfoque del proyecto es: IoT (Internet Of Things) con una 
computadora integrada a un sistema analítico. 
 
Este sistema analítico ya fue diseñado y construído para la medición de la concentración 
del cobre en el efluente de una mina. El enfoque de este proyecto es el monitorieo en tiempo 
real de los datos generados por el sistema analítico mediante su integración al Internet de 
las cosas. 
 
Para el monitoreo de datos se evaluaron los tipos de computadoras de placa única, entre 
las que destacan una Raspberry Pi y Tinker Board con el fin de utilizar una y usarse como 
servidor. Para ello se instalaron los sistemas operativos, en la Raspberry Pi se maneja el 
sistema operativo Debían el cual está basado en Linux. Y en la Tinker Board se basa en un 
sistema operativo TinkerOs- Debian 
 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
iii 
 
Se utiliza la computadora de placa única (Raspberry Pi) para tener una base de datos 
guardados en ella y acceder a ellos cuando se requiera con o sin internet, basándose en el 
software MyOpenLab, el cual es una herramienta que sirve para realizar sistemas 
automatizados mediante una interfaz gráfica. El software MyOpenLab se programa 
mediante bloques o diagramas de flujo. La interfaz gráfica es la pauta para monitorear los 
datos generados, guardarlos en un archivo csv o de texto y además subirlos a internet. 
 
Se utilizó la plataforma del IoT Ubidots para subir datos en tiempo real, para ello, se utiliza 
el protocolo de comunicación MQTT LENS el cual se basa la suscripción/publicación a un 
topic de alguna variable de interés y permitiendo así el monitoreo de cualquier variable. 
 
Palabras clave: Internet de las Cosas, sistema analítico, protocolo de comunicación MQTT, 
plataformas IoT 
 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
iv 
 
Abstract: 
The Internet of Things (IoT) refers to the networking of daily use devices. The aim being the 
interconnection of frequently used objects to make life easier. An example is the efficient 
management of energy or the enabling of our personal safety. 
 
The Internet of Things is based on sensors, communication networks and intelligent devices 
that manage both processes and data. To use all these massively they have to be low-power 
and low-cost. They should be small and flexible as well so they can be used in different 
settings. The focus of the present project is: IoT (Internet Of Things) using a single-board 
computer board integrated to an analytical system. 
 
The analytical system in question is already designed and built. It measures the 
concentration of copper in the effluent of a mine. The present work will allow for the remote 
monitoring of this chemical variable in real time integrating the analytical system to the 
Internet of Things. 
 
To monitor the data generated by the analytical system we evaluated two single-board 
computers: the Raspberry Pi y and the Tinker Board. We used two operating systems: 
Debian, a Linux-based on Linux used by the Raspberry Pi and TinlerOS-Debian used by the 
Tinker Board. 
 
As explained in the present report, we used the single board computer Raspberry Pi to 
produce a database that can be accessed locally or through the Internet. For this we used 
the software MyOpenLab, a tool for the development of automatic systems through a graphic 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
v 
 
interface. The graphic interface allows the monitoring of the generated data, the storage of 
these data as csy or text files and their upload to the Internet. 
 
The IoT platform used was Ubidots to upload data in real time following the MQTT LENS 
protocol based on the subscription/publication to a topic of some variable of interest thus 
achieving the monitoring of this variable. 
 
Keywords: Internet of Things, analytical systems, MQTT communications protocol, IoT 
platforms 
 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
vi 
 
 
ÍNDICE 
CAPITULO I INTRODUCCIÓN ......................................................................................... 1 
1.1. Antecedentes del proyecto .................................................................................. 2 
1.2. Planteamiento del problema ................................................................................ 2 
1.3. Objetivo ............................................................................................................... 3 
1.3.1. Objetivo general ........................................................................................... 3 
1.3.2. Objetivos específicos .................................................................................... 3 
1.4. Justificación ......................................................................................................... 3 
CAPITULO II ESTUDIO DEL ARTE .................................................................................. 4 
2.1. Introducción a IoT ................................................................................................ 4 
2.2. Se resume IoT como: .......................................................................................... 5 
2.2.1. Sensores y actuadores ................................................................................. 5 
2.2.2. Digitalización ................................................................................................ 6 
2.2.3. Personas y procesos.................................................................................... 6 
2.3. Elementos claves de un ecosistema IoT .............................................................. 7 
2.4. Campos de aplicación del IoT .............................................................................. 8 
2.4.1. Salud ............................................................................................................ 8 
2.4.2. IoT Industrial ................................................................................................. 8 
2.4.3. Smart Cities ................................................................................................ 10 
2.4.4. Logística ..................................................................................................... 10 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
vii 
 
2.5. Hardware del IoT ............................................................................................... 11 
2.6. Protocolos de comunicación .............................................................................. 13 
2.7. Protocolo MQTT ................................................................................................ 14 
2.7.1. Calidad de servicio MQTT (QoS) ................................................................ 17 
2.7.2. Los principales actores del protocolo MQTT ............................................... 18 
2.7.3. Topics en el Protocolo MQTT ..................................................................... 19 
2.7.4. Seguridad en MQTT ................................................................................... 21 
2.7.5. Ventajas del MQTT ..................................................................................... 22 
2.8. Plataformas IOT ................................................................................................ 23 
2.8.1. Adafruit ....................................................................................................... 24 
2.8.2. ThingSpeak ................................................................................................ 25 
2.8.3. Yaler ........................................................................................................... 26 
2.8.4. Google Cloud.............................................................................................. 27 
2.8.5. Microsoft azure ........................................................................................... 28 
2.8.6. Amazon Web Services ............................................................................... 29 
2.8.7. Ubidots ....................................................................................................... 30 
2.9. Arquitecturas IoT ............................................................................................... 31 
2.10. MyOpenLab ................................................................................................... 33 
2.10.1. Historia .................................................................................................... 33 
2.10.2. Características más importantes ............................................................. 34 
2.10.3. Partes de la aplicación ............................................................................ 35 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
viii 
 
2.11. Comparación de Raspberry Pi 3 Modelo B+ vs Tinker Board ......................... 38 
2.12. Características de las tarjetas de tamaño reducido ........................................ 40 
2.12.1. Raspberry Pi 3 ........................................................................................ 40 
2.12.2. Tinker Board ASUS ................................................................................. 42 
CAPITULO III METODOLOGÍA ...................................................................................... 45 
3.1. Instalación de sistema operativo a Raspberry Pi ............................................... 45 
3.2. Instalación del programa MyOpenLab en Raspberry Pi ..................................... 46 
3.3. Instalación de ID de Arduino a Raspberry Pi ...................................................... 48 
3.4. Instalación de sistema operativo a Tinker Board ................................................ 50 
3.5. Instalación del programa MyOpenLab en Tinker Board ..................................... 51 
3.6. Instalación de ID de Arduino a Tinker Board ...................................................... 53 
3.7. Selección de computadora de placa única: ........................................................ 53 
3.8. Pruebas de programación en MyOpenLab y Arduino ......................................... 55 
3.9. Programación en MyOpenLab ........................................................................... 58 
3.9.1. Prueba 1: .................................................................................................... 58 
3.9.2. Prueba 2 ..................................................................................................... 59 
3.9.3. Prueba 3 ..................................................................................................... 60 
3.9.4. Prueba 5 ..................................................................................................... 61 
3.10. Desarrollo de interfaz gráfica en MyOpenLab para el proyecto: ..................... 62 
CAPITULO IV RESULTADOS ....................................................................................... 72 
4.1. Selección de computadora de placa única: ........................................................ 72 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
ix 
 
CONCLUSIONES ............................................................................................................ 77 
RECOMENDACIONES .................................................................................................... 77 
BIBLIOGRAFÍA ................................................................................................................ 78 
ÍNDICE DE TABLAS 
Tabla 2.1. Características de Raspberry Pi 3 modelo b+ [7]. ........................................... 41 
Tabla 2.2. Características de Tinker Board ASUS [7]....................................................... 43 
 
ÍNDICE DE FIGURAS 
Figura 2.1. Sensores y actuadores [3] ............................................................................... 5 
Figura 2.2. Digitalización [3] .............................................................................................. 6 
Figura 2.3. Personas y Procesos [3] ................................................................................. 6 
Figura 2.4. IoT industrial [9] ............................................................................................... 9 
Figura 2.5. Smart Cities [9].............................................................................................. 10 
Figura 2.6. Logística [9] ................................................................................................... 11 
Figura 2.7. Componentes [9] ........................................................................................... 12 
Figura 2.8. Función del protocolo MQTT [11] .................................................................. 15 
Figura 2.9. Conexión con el Bróker [11] .......................................................................... 16 
Figura 2.10. Función Publicar [11] ................................................................................... 16 
Figura 2.11. Función subscribirse [11] ............................................................................ 16 
Figura 2.12. Red simple publicación y suscripción de topicsen el protocolo MQTT [10] . 21 
Figura 2.13. Plataforma Adafruit IO [9] ............................................................................ 24 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
x 
 
Figura 2.14. Plataforma ThingSpeak [9] .......................................................................... 25 
Figura 2.15. Plataforma Yaler [9]..................................................................................... 26 
Figura 2.16. Plataforma Google Cloud Platform [9] ......................................................... 27 
Figura 2.17. Plataforma Microsoft Azure [9] .................................................................... 28 
Figura 2.18. Plataforma Amazon Web Services [9] ......................................................... 29 
Figura 2.19. Plataforma Ubidots [12] ............................................................................... 30 
Figura 2.20. Panel Circuito .............................................................................................. 35 
Figura 2.21. Panel Frontal ............................................................................................... 35 
Figura 2.22. Ventana Principal ........................................................................................ 36 
Figura 2.23. Placa Raspberry Pi 3 modelo B+ y puertos GPIO [7] .................................. 42 
Figura 2.24. PlacaTinker Board ASUS y Pines GPIO [7] ................................................. 44 
Figura 3.1. Entorno Raspbian ......................................................................................... 46 
Figura 3.2. Instalación Java ............................................................................................ 47 
Figura 3.3. Descarga MyOpenLab para Linux ................................................................. 47 
Figura 3.4. Entorno MyOpenLab ..................................................................................... 48 
Figura 3.5. Actualización de paquetes en Raspberry ...................................................... 49 
Figura 3.6. ID de Arduino. ............................................................................................... 49 
Figura 3.7. Sistemas operativos ...................................................................................... 50 
Figura 3.8. Entorno TinkerOS-Debian ............................................................................. 51 
Figura 3.9. Instalación Java en computadora Tinker Board ............................................. 52 
Figura 3.10. Ventana Principal del ID de Arduino en Tinker Board .................................. 53 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
xi 
 
Figura 3.11. Propiedades de Arduino Firmata ................................................................. 55 
Figura 3.12. Configuración de Pines para Arduino Firmata [8]. ....................................... 56 
Figura 3.13. Panel circuito para prender un led ............................................................... 58 
Figura 3.14. Ejecución de interfaz ................................................................................... 58 
Figura 3.15. Panel circuito de conversión analógica a digital. ......................................... 59 
Figura 3.16. Ejecución de interfaz ................................................................................... 59 
Figura 3.17. Panel circuito para escribir datos en una tabla ............................................ 60 
Figura 3.18. Ejecución de interfaz ................................................................................... 60 
Figura 3.19. Panel circuito para escribir datos en tabla y graficarlos. .............................. 61 
Figura 3.20. Entorno Ejecución de interfaz ...................................................................... 61 
Figura 3.21. Panel frontal de interfaz en MyOpenLab ..................................................... 62 
Figura 3.22. Panel circuito de interfaz en MyOpenLab .................................................... 63 
Figura 3.23. Panel circuito del proyecto parte inicial........................................................ 64 
Figura 3.24. Panel circuito del proyecto parte central ...................................................... 64 
Figura 3.25. Panel circuito del proyecto parte final .......................................................... 65 
Figura 3.26. Tipos de protocolos de comunicación en MyOpenLab ................................ 65 
Figura 3.27. Crear nuevo componente en MyOpenLab ................................................... 66 
Figura 3.28. Entorno Ubidots .......................................................................................... 67 
Figura 3.29. Abrir o crear nuevos dispositivos en Ubidots ............................................... 68 
Figura 3.30. Descarga e instalación de MQTTLens ........................................................ 68 
Figura 3.31. Entorno principal de MQTTLens .................................................................. 69 
“Evaluación de computadoras de placa única para la integración de 
sistemas analíticos al internet de las cosas” 
 
xii 
 
Figura 3.32. Entorno para ingresar datos de la conexión ................................................ 70 
Figura 3.33. Pantalla para publicar o subscribirse a un topic o dispositivo ...................... 71 
Figura 4.1. Lecturas de temperatura con MyOpenLab y Arduino .................................... 72 
Figura 4.2. Lecturas guardadas en fichero mediante la interfaz en MyOpenLab ............. 73 
Figura 4.3. Nueva conexión con el nombre de Mosquitto para bróker Ubidots ................ 74 
Figura 4.4. Datos del Bróker Ubidots .............................................................................. 74 
Figura 4.5. Usuario y contraseña para el bróker Ubidots (API de Ubidots MQTT) ........... 75 
Figura 4.6. Conexión y publicación de un dato de temperatura para plataforma Ubidots 75 
Figura 4.7. Datos publicados en la plataforma Ubidots ................................................... 76 
 
 
 
 
1 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
CAPITULO I 
INTRODUCCIÓN 
En este trabajo de tesis se realiza la evaluación de computadoras de placa única entre las 
que destacan una Raspberry Pi 3 (Raspberry Pi Foundation, Cambridge, Reino Unido) y 
una Tinker Board (ASUS Computer International Direct, Taipéi, Taiwán) para la aplicación 
de un sistema analítico al internet de las cosas, utilizando como servidor y hardware 
enfocado al IoT una de ellas, un software de programación MyOpenLab (Carmelo Salafia, 
Alemania) enfocado en el sistema operativo Linux y una plataforma IoT Ubidots para 
monitorear un flujo de datos en tiempo real. 
 
Este trabajo está conformado por cuatro capítulos a continuación se describen de manera 
breve: 
 
 En el capítulo I, se establecen los antecedentes, objetivos, planteamiento del problema 
y la justificación del proyecto. 
 
 En el capítulo II, se presenta el estudio del arte. En el se da la descripción de lo que es 
el internet de las cosas (IOT), como es su ecosistema, sus campos de aplicación, 
hardware, protocolos de comunicación, protocolo mqtt y plataformas IOT. Además, se 
describe lo que es el software MyOpenLab y se hace la comparación de las dos 
opciones de computadoras de placa única: la Raspberry Pi 3 b+ y la Tinker Board. 
 
 En el capítulo III, la metodología seguida para el desarrollo del proyecto y cumplir con 
los objetivos. 
 
 En el capítulo IV se presentan los resultados obtenidos en el proyecto. 
 
 Finalmente se dan a conocer las conclusionesy recomendaciones. 
 
 
 
2 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
1.1. Antecedentes del proyecto 
En el TecNM campus Instituto Tecnológico de la Laguna, en el área de instrumentación se 
trabaja en proyectos relacionados con la medición de concentraciones de elementos 
químicos como, cobalto, cadmio, y cobre en vinculación con una empresa del ramo 
metalúrgico. Desde hace dos años se trabaja con un sistema analítico para la medición de 
concentración de cobre, en el cual el acceso a los datos se obtiene siguiendo un protocolo 
dentro de la empresa. 
 
1.2. Planteamiento del problema 
El desarrollo de la electrónica, la gestión de nuevas tecnologías, servicios y plataformas 
han permitido la interconexión digital de objetos cotidianos con internet, mejorando 
considerablemente el acceso a la información y con ello al monitoreo de procesos. 
 
Los objetos deben contar con hardware especial que permita la conectividad a internet y 
que además programen eventos en función de las tareas a realizar [1]. 
 
Las computadoras de placa única son uno de los objetos que se pueden utilizar para realizar 
una interconexión digital, ya que cuentan con un sistema de hardware y software, así como 
con un procesador de aplicaciones que ejecuta un sistema operativo de alto nivel, como 
Linux, Android, o Windows, conectividad inalámbrica, y por cable, tarjetas de expansión y 
software de código abierto [2]. 
 
 
 
3 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
1.3. Objetivo 
1.3.1. Objetivo general 
Evaluar dos computadoras de placa única; la Raspberry Pi 3 (Raspberry Pi Foundation, 
Cambridge, Reino Unido) y la Tinker Board (ASUS Computer International Direct, Taipéi, 
Taiwán) para la aplicación de un sistema analítico al internet de las cosas. 
1.3.2. Objetivos específicos 
 Utilizar como servidor y hardware enfocado al IoT una de ellas. 
 Utilizar un software de programación MyOpenLab (Carmelo Salafia, Alemania) 
enfocado en el sistema operativo Linux. 
 Utilizar una plataforma IoT Ubidots para monitorear un flujo de datos en tiempo real. 
 
 
1.4. Justificación 
El núcleo de los sistemas analíticos está compuesto por un circuito basado en un 
microcontrolador encargado de controlar y sincronizar los distintos procesos necesarios 
para realizar las mediciones; la utilización de estos microcontroladores podrían ser el 
puente necesario para su integración al internet de las cosas. 
 
Al tener entre sus recursos protocolos de comunicación como la UART, el I2C y el SPI de 
las cuales fluirían los datos entre el sistema analítico y una computadora de placa única 
encargada de comunicarse con la nube y atender los servicios web. 
 
Para ello es importante evaluar las distintas computadoras de placa única, así como las 
distintas herramientas orientadas a los servicios de internet, para poder garantizar la 
integración del sistema analítico al internet de las cosas obteniendo datos de forma remota. 
 
 
4 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
CAPITULO II 
ESTUDIO DEL ARTE 
2.1. Introducción a IoT 
El Internet de las Cosas (IoT) consiste en la integración de sensores y dispositivos en 
objetos cotidianos que quedan conectados a Internet a través de redes fijas e inalámbricas. 
Dado su tamaño y coste, los sensores son fácilmente integrables en hogares, entornos de 
trabajo y lugares públicos. De esta manera, cualquier objeto es susceptible de ser 
conectado y estar presente en la Red. 
 
El concepto de Internet de las cosas fue propuesto por Kevin Ashton en el Auto-ID Center 
del MIT (Massachusetts Institute of Technology) en 1999, donde se realizaban 
investigaciones en el campo de la identificación por radiofrecuencia en red (RFID) y 
tecnologías de sensores. 
 
El tamaño, el coste y el consumo de energía del hardware se han reducido drásticamente, 
por lo que ahora es posible fabricar dispositivos electrónicos diminutos a un coste muy 
reducido. Estos pequeños dispositivos, junto con la expansión de las redes de 
comunicación, permiten incorporar inteligencia y conexión a los objetos del mundo real y 
están transformando lo que era una red global de personas en una red global de todas las 
cosas. 
 
Mediante radiofrecuencia, la información viaja a un ordenador o dispositivo móvil con 
acceso a Internet. Dicha información puede ser recibida por un usuario para su 
interpretación. También existe la posibilidad de que el extremo final sea otra máquina que 
interprete los datos y actúe según parámetros preestablecidos [3]. 
 
 
5 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.2. Se resume IoT como: 
2.2.1. Sensores y actuadores 
Ubicación de datos utilizando sensores GPS, los ojos y las orejas con cámaras y 
micrófonos, junto con los órganos sensoriales (Figura 2.1) que pueden medir todo, desde 
la temperatura hasta cambios de presión [3]. 
 
 
 
 
 
 
 
 
 
 
Figura 2.1. Sensores y actuadores [3] 
 
 
 
6 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.2.2. Digitalización 
Estas entradas se digitalizan (Figura 2.2) y se colocan en las redes [3]. 
 
 
 
 
 
 
 
 
Figura 2.2. Digitalización [3] 
 
2.2.3. Personas y procesos 
Estas entradas en la red se pueden combinar en sistemas bidireccionales que integran 
datos, personas, procesos y sistemas (Figura 2.3) para la mejora en la toma de decisiones 
[3]. 
 
 
 
 
 
 
 
 
Figura 2.3. Personas y Procesos [3] 
 
 
 
7 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.3. Elementos claves de un ecosistema IoT 
Hardware: son los sensores y dispositivos que recopilan datos del entorno, por ejemplo, 
sensores de humedad, temperatura, etc. El Hardware también se encarga de realizar 
acciones específicas en función de los datos recolectados, por ejemplo, un sistema de riego 
automático para los cultivos. 
 
Conectividad: el hardware necesita transmitir los datos recolectados, generalmente a 
entornos de nube, enviar los datos recolectados sobre humedad, temperatura, etc. También 
necesita recibir comandos desde la nube, asociados a la realización de acciones concretas; 
la indicación de encender el riego para los cultivos. Algunos sistemas IoT utilizan un 
componente intermedio entre el hardware y la conexión a la nube, generalmente una puerta 
de enlace o un enrutador. 
 
 
Software: lo normal es que el software esté en la nube, dada su proximidad con los datos 
enviados por sensores y dispositivos. El Software es el responsable de analizar todos los 
datos recibidos y generar acciones concretas en función de estos datos. Por ejemplo, en 
base a los datos de humedad decirle al sistema de riego que no se encienda un día 
específico. 
 
Interfaz de usuario: Todo sistema IoT necesita una interfaz, a través del cual los usuarios 
interactúan con el sistema IoT. Por ejemplo, una app para Smartphone o basada en la web, 
con un tablero que muestre las tendencias de humedad y permita a los usuarios activar o 
desactivar manualmente los sistemas de riego [4]. 
 
 
 
8 “Evaluación de computadoras de placa única para la integraciónde sistemas analíticos al internet de las cosas” 
 
2.4. Campos de aplicación del IoT 
El IoT tiene el potencial de poderse aplicar en muchísimos sectores. De hecho, los millones 
de dispositivos que formarán parte del IoT se instalan en lugares tan dispares como 
hospitales, camiones o industrias por poner sólo algunos ejemplos. Veamos a continuación 
varios de los sectores más importantes [9]. 
 
2.4.1. Salud 
El mundo de la salud es uno de los campos que más se pueden beneficiar de la 
implantación del IoT con múltiples aplicaciones: desde monitoreo remoto hasta sensores 
inteligentes e integración de dispositivos médicos. La implementación del IoT en el mundo 
de la salud hará que pacientes y médicos estén más conectados, que la prevención de 
enfermedades sea más efectiva y automatizada, y que incluso en un futuro se puedan 
implementar algoritmos en la nube que puedan empezar a predecir enfermedades. 
 
Hoy en día existen varios ejemplos de equipos IoT, como equipos que permiten monitorear 
la actividad física y, en función de esta, controlar de manera exhaustiva a un paciente [9]. 
 
2.4.2. IoT Industrial 
Tanto IoT como el IIoT -del inglés Industrial Internet of Things– parten de la misma idea: 
conectar objetos (desde un zapato a un horno industrial) mediante electrónica a Internet 
para poder hacer que la vida sea un poco mejor desde un punto de vista de seguridad, 
eficiencia, etc. Pero las similitudes terminan aquí, porque el IoT y el IIoT tienen un 
background diferente y porque también apuntan a clientes y sectores diferentes. 
 
 
 
9 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
IoT tiene una relación más cercana a las situaciones cotidianas y a la interacción con los 
humanos. Cuando se habla de IoT, se hace comúnmente pensando en situaciones como 
unos zapatos conectados a internet que permiten ver la cantidad de kilómetros recorridos 
en un día, o un contenedor de basura con sensores de nivel. Por lo tanto, se puede decir 
que el IoT tiene por objeto satisfacer necesidades al gran público por medio de electrónica 
que se podrá integrar en dispositivos comunes. 
 
En cambio, IIoT se refiere a conectar a Internet elementos de la industria y el concepto está 
estrechamente relacionado con el de Industria 4.0 (Figura 2.4). Pero, ¿qué es la Industria 
4.0? El término fue acuñado en Alemania hace ya unos años y debe su nombre a “cuarta 
revolución industrial”. El objetivo de la industria 4.0 es usar la información generada en 
fábricas para hacerlas más eficientes económicamente. El background de la industria es 
completamente diferente al que tiene el IoT. ¿Por qué? Pues porque las cosas (sensores y 
actuadores) ya están conectadas con sistemas de automatización, y lo que hay que hacer 
en estos casos es conectarlos con el cloud [9]. 
 
 
 
 
 
 
 
 
Figura 2.4. IoT industrial [9] 
 
 
 
 
10 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.4.3. Smart Cities 
¿Quién a estas alturas no ha escuchado nunca hablar de las ciudades inteligentes? (figura 
2.5). El desafío de las nuevas ciudades es, entre otros, ser más eficientes y más limpias, y 
el IoT puede ayudar en buena medida a ello. 
 
Por ejemplo, un problema común en muchas ciudades es el de detectar fugas de agua. Hoy 
existen soluciones que permiten detectar la fuga de agua en algún lugar, y avisar 
automáticamente a técnicos de mantenimiento para que asistan a la reparación 
rápidamente, haciendo que de esta manera se reduzca drásticamente la pérdida de agua y 
recursos en ciudades [9]. 
 
 
 
 
 
 
 
Figura 2.5. Smart Cities [9] 
 
2.4.4. Logística 
Otro sector donde el IoT ya tiene influencia es el de la logística. Gracias a su tecnología, se 
permiten conectar operadores con clientes, pudiendo mejorar de forma muy significativa 
toda la cadena de valor, incluyendo el almacenamiento, transporte y entrega de mercancía 
(Figura 2.6). 
 
 
 
11 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
Un ejemplo importante por ejemplo está en el control y trazabilidad de temperaturas en 
productos perecederos. Existen soluciones ya en el mercado que permiten monitorear la 
temperatura de un producto en todo su ciclo, pudiendo de esta manera garantizar que la 
temperatura idónea no se ha perdido en ningún momento. 
 
Otro ejemplo importante hoy en día está en el control de lote. La tecnología IoT permite 
poder controlar lotes de camiones y asegurar que en todo momento su localización es 
correcta de acuerdo a los parámetros establecidos [9]. 
 
 
 
 
 
 
 
 
Figura 2.6. Logística [9] 
 
2.5. Hardware del IoT 
Motas 
Aunque los nodos de sensores inalámbricos ya hace mucho tiempo que existen, el concepto 
de Motas es relativamente nuevo. La idea de las “motas” proviene de los Estados Unidos y 
se refiere a dispositivos extremadamente pequeños (de aquí el nombre), conectados 
inalámbricamente unos con otros y pasándose información del ambiente (temperaturas, 
humedades, almacenaje de sus baterías, etc.). Forman parte de la arquitectura compleja 
del IoT. 
 
 
12 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
Componentes: 
 En la figura 2.7 se pueden diferenciar diferentes componentes: 
 
 
 
 
 
 
 
 
Figura 2.7. Componentes [9] 
 
Microcontrolador: Es el elemento que procesa los datos recogidos por los sensores y 
controla la funcionalidad del nodo. 
 
Memoria Externa: Almacenamiento de datos del nodo. En general, la cantidad de memoria 
necesaria es muy dependiente de cada aplicación. 
 
Sensor: Es el dispositivo que es capaz de producir alguna señal eléctrica a un cambio físico 
como temperatura o humedad, por ejemplo. 
 
Batería: Aportan la energía al nodo para su funcionamiento, tanto cuando está dormido y 
cuando está activo. 
 
 
 
13 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
Transceptor: Es el encargado de funciones tanto de transmisión como de recepción de 
datos [9]. 
2.6. Protocolos de comunicación 
Un protocolo de comunicación es un método para comunicar datos entre máquinas. Este 
método, en realidad queda definido tanto por el medio físico como por el medio informático 
en la que se intercambian los datos. 
 
Anteriormente los protocolos de comunicación eran de lo más primitivos: un voltaje tenía un 
significado, y una ausencia de voltaje tenía otro. Hoy este método es ampliamente usado 
en el mundo industrial [9]. 
 
Cuando se necesita ampliar las comunicaciones para hacerlas más rápidas y con mayor 
ancho de banda, es necesario métodos más sofisticados para comunicar. Se necesita 
definir reglas que permitan comunicar más y mejor. 
 
En la industria surgieron primero estándares físicos, como RS-232, RS485 o WiFi, donde 
los programadores pueden basar sus comunicaciones para realizar sus propios protocolos. 
De esta forma, por ejemplo, Modbus se puede basar en estándares serie o TCP/IP para 
comunicar sus datos. Y MQTT es ampliamente usado en el mundo del IoT [9]. 
 
En el mundo del IoT tenemos múltiples protocolos disponibles, que también admiten 
múltiples clasificaciones posibles: 
 
 Protocolos HAN: Protocolos para red local o domótica. Se encuentran ejemplos como 
NFC, RFID o WiFi entre otros.14 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 Protocolos LAN: Los protocolos LAN pueden cubrir áreas ligeramente mayores que 
los HAN. En este sentido, se encuantran protocolos como LORA o DECT. 
 
 Protocolos WAN: Finalmente, los protocolos WAN tienen como fin cubrir amplísimos 
terrenos. 3G, 4G, 5G, GSM son algunos de los más populares. 
 
Los protocolos IoT por lo tanto son muchos. La elección de uno u otro depende mucho de 
la aplicación que se contemple realizar. 
 
2.7. Protocolo MQTT 
El protocolo MQTT se ha convertido en uno de los principales pilares del IoT por su sencillez 
y ligereza. Ambos son condicionantes importantes dado que los dispositivos de IoT, a 
menudo, tienen limitaciones de potencia, consumo, y ancho de banda [11]. 
 
MQTT son las siglas MQ Telemetry Transport, aunque en primer lugar fue conocido como 
Message Queing Telemetry Transport. Es un protocolo de comunicación M2M (machine-to-
machine) de tipo message queue. 
Está basado en la pila TCP/IP como base para la comunicación. En el caso de MQTT cada 
conexión se mantiene abierta y se "reutiliza" en cada comunicación. Es una diferencia, por 
ejemplo, a una petición HTTP 1.0 donde cada transmisión se realiza a través de conexión. 
 
MQTT fue creado por el Dr. Andy Stanford-Clark de IBM y Arlen Nipper de Arcom (ahora 
Eurotech) en 1999 como un mecanismo para conectar dispositivos empleados en la 
industria petrolera. Aunque inicialmente era un formato propietario, en 2010 fue liberado y 
 
 
15 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
pasó a ser un estándar en 2014 según la OASIS (Organization for the Advancement of 
Structured Information Standards) [11]. 
 
El funcionamiento del MQTT es un servicio de mensajería push con patrón 
publicador/suscriptor (pub-sub). En este tipo de infraestructuras los clientes se conectan 
con un servidor central denominado bróker. 
 
Para filtrar los mensajes que son enviados a cada cliente los mensajes se disponen en 
topics organizados jerárquicamente. Un cliente puede publicar un mensaje en un 
determinado topic. Otros clientes pueden suscribirse a este topic, y el bróker le hará llegar 
los mensajes suscritos (Figura 2.8) [11]. 
 
 
 
 
 
Figura 2.8. Función del protocolo MQTT [11] 
 
Los clientes inician una conexión TCP/IP con el bróker, el cual mantiene un registro de los 
clientes conectados. Esta conexión se mantiene abierta hasta que el cliente la finaliza. Por 
defecto, MQTT emplea el puerto 1883 y el 8883 cuando funciona sobre TLS. 
 
Para ello el cliente envía un mensaje CONNECT (Figura 2.9) que contiene información 
necesaria (nombre de usuario, contraseña, client-id…). El bróker responde con un mensaje 
CONNACK, que contiene el resultado de la conexión (aceptada, rechazada, etc.). 
 
 
 
16 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
 
 
 
Figura 2.9. Conexión con el Bróker [11] 
Para enviar los mensajes el cliente emplea mensajes PUBLISH (Figura 2.10), que contienen 
el topic y el payload. 
 
 
 
 
Figura 2.10. Función Publicar [11] 
Para suscribirse y desubscribirse se emplean mensajes SUBSCRIBE y UNSUSCRIBE, que 
el servidor responde con SUBACK y UNSUBACK (Figura 2.11). 
 
 
 
 
Figura 2.11. Función subscribirse [11] 
Por otro lado, para asegurar que la conexión está activa los clientes mandan 
periódicamente un mensaje PINGREQ que es respondido por el servidor con un 
PINGRESP. Finalmente, el cliente se desconecta enviando un mensaje de DISCONNECT 
[11]. 
 
 
 
17 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.7.1. Calidad de servicio MQTT (QoS) 
MQTT dispone de un mecanismo de calidad del servicio o QoS, entendido como la forma 
de gestionar la robustez del envío de mensajes al cliente ante fallos (por ejemplo, de 
conectividad). 
Niveles: 
QoS 0 unacknowledged (at most one): El mensaje se envía una única vez. En caso de 
fallo por lo que puede que alguno no se entregue. 
 
QoS 1 acknowledged (at least one): El mensaje se envía hasta que se garantiza la 
entrega. En caso de fallo, el suscriptor puede recibir algún mensaje duplicados. 
 
QoS 2 assured (exactly one). Se garantiza que cada mensaje se entrega al suscriptor, y 
únicamente una vez. 
 
Usar un nivel u otro depende de las características y necesidades de fiabilidad del sistema. 
Lógicamente, un nivel de QoS superior requiere un intercambio mayor de mensajes de 
verificación con el cliente y, por tanto, mayor carga al sistema [11]. 
 
 
 
 
 
 
 
 
 
 
18 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.7.2. Los principales actores del protocolo MQTT 
El protocolo MQTT clasifica los actores que participan en la red en clientes y servidores. A 
estos últimos los denomina brokers 
 
Los clientes 
Los clientes MQTT pueden abarcar un amplio rango de formatos. Pueden ser clientes 
MQTT que recolectan información del medio (sensores y sistemas embebidos) o 
aplicaciones ejecutando alguna librería MQTT y que de alguna forma interactúen con los 
datos. 
 
Pueden ser divulgadores (publicadores) y subscriptores de mensajes y además, pueden 
controlar y configurar los sensores a su cargo mediante comandos, si es que son nodos de 
sensores. Éstos siempre se conectan a un tercer participante, denominado bróker de 
mensajes. 
 
El bróker 
El bróker MQTT es un servicio (software) que implementa el protocolo MQTT y que 
establece la comunicación, a nivel de aplicación, entre los diferentes clientes. Hace de 
intermediario entre los productores y los consumidores. Es el responsable de recibir los 
mensajes, filtrarlos y rutarlos a los clientes subscritos según su topic. Otra tarea importante 
del bróker es autorizar el acceso e identificar los clientes. Puede haber varios brokers en 
una misma red [10]. 
 
 
 
 
 
 
19 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.7.3. Topics en el Protocolo MQTT 
Un topic se refiere a tema o asunto concreto. Al final, es un identificador que define el 
contenido del mensaje o el ámbito de influencia del mensaje (contexto). Con esto se 
clasifican y discriminan unos mensajes de otros y por extensión, unos nodos de otros. Todo 
aquel que quiera publicar un mensaje MQTT, es responsable de clasificarlo en un topic 
concreto y los clientes subscritos a es topic, recibirán esos mensajes. 
 
Las subscripciones pueden ser explícitas, con lo que el nodo sólo recibe mensajes de un 
topic concreto o puede recibir mensajes de varios topics si la subscripción se hace a través 
de algún identificador común a varios topics (es decir, utilizando lo que en inglés se conoce 
como wildcards, # y +). Los topics en el protocolo MQTT se organizan según una estructura 
jerárquica en árbol (topic tree), utilizando el carácter “/” para formar un topic de varios 
niveles. Similar a la ruta a un directorio de carpetas típico de tu ordenador. Entonces, el 
topic string es una cadena de caracteres que identifica el topic final del mensaje. [10]. 
 
Estas cadenas pueden ser: 
Multinivel: Se utiliza el carácter (wildcard) # para admitir cualquier nivel por debajo del nivel 
mostrado en la cadena. 
 
Simple: Se utiliza el carácter (wildcard) + para admitir sólo hasta el nivel mostrado en la 
cadena.Ejemplos de Topics 
Como ejemplo, una aplicación de Internet de las Cosas para gestionar un jardín de forma 
inteligente mediante el protocolo MQTT (Figura 2.12). El jardín está dividido en varias 
parcelas, cada parcela con diferentes plantas, árboles y características de riego. 
 
 
20 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
El topic raíz podría ser: 
 “jardín” 
Algunos subniveles podrían ser: 
 jardín/césped 
 jardín/frutales/manzanos/temperatura 
 jardín/rosales/humedad 
 
 
Utilizando los caracteres comodin (wildcards): 
 jardín/frutales/# 
 
En este caso, los subscriptores a esta cadena (string topic) recibirán todos los mensajes 
identificados con los topics jardín/frutales y todos los de niveles inferiores, como, por 
ejemplo 
jardín/frutales/manzanos. 
 jardín/+: 
 
En este caso, los subscriptores a esta cadena recibirán los mensajes de ese nivel, por 
ejemplo, mensajes del tipo jardín/rosales, pero no recibirán los mensajes 
jardín/rosales/humedad [10]. 
 
 
 
 
 
21 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
 
 
 
 
 
Figura 2.12. Red simple publicación y suscripción de topics en el protocolo MQTT [10] 
 
2.7.4. Seguridad en MQTT 
La seguridad siempre debe ser un factor importante a considerar en cualquier sistema de 
comunicación M2M. El protocolo MQTT dispone de distintas medidas de seguridad que 
podemos adoptar para proteger las comunicaciones. Esto incluye transporte SSL/TLS y 
autentificación por usuario y contraseña o mediante certificado. Sin embargo, hay que tener 
en cuenta que muchos de los dispositivos IoT disponen de escasa capacidad, por lo que el 
SLL/TLS puede suponer una carga de proceso importante. 
 
En muchos casos, la autentificación consiste en una contraseña y usuario que son enviados 
como texto plano. Por último, también es posible configurar el bróker para aceptar 
conexiones anónimas. Todo esto debe ser tenido en cuenta a la hora de configurar un 
sistema MQTT, y entender los riesgos de cada uno de ellos, así como su impacto en la 
eficiencia del sistema [11]. 
 
 
 
 
 
22 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.7.5. Ventajas del MQTT 
Son varias las ventajas del protocolo MQTT como sistema de comunicación M2M, como 
son escalabilidad, asincronismo, desacoplamiento entre clientes. 
 
Además, MQTT aporta una serie de características que le han hecho sobre salir sobre otros 
competidores. La principal, es su sencillez y ligereza. Esto lo hace adecuado para 
aplicaciones IoT, donde frecuentemente se emplean dispositivos de escasa potencia. 
 
Además, esto menor necesidad de recursos se traduce en un menor consumo de energía, 
lo cual es interesante en dispositivos que funcionan 24/7 y muy especialmente en 
dispositivos alimentados por batería. 
 
Otra consecuencia de la ligereza del protocolo MQTT es que requiere un ancho de banda 
mínimo, lo cual es importante en redes inalámbricas, o conexiones con posibles problemas 
de calidad. 
 
MQTT dispone de medidas adicionales importantes, como la seguridad y calidad del 
servicio (QoS). Por último, es una solución largamente probada y consolidada, que aporta 
robustez y fiabilidad [11]. 
 
 
 
 
 
 
 
23 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.8. Plataformas IOT 
Una plataforma IoT es un servicio integrado que ofrece las herramientas necesarias para 
integrar los dispositivos a la nube. La plataforma necesita ser capaz de soportar millones 
de conexiones simultáneas de dispositivos y permitir a los usuarios configurar sus 
dispositivos fácilmente para la comunicación de máquina a máquina [9]. 
 
Elegir la plataforma de IoT adecuada es una tarea compleja. Este punto tiene como objetivo 
aclarar parte de la complejidad y ofrecer una guía rápida para una elección. 
 
Conectividad: Protocolos disponibles para poder comunicar con los dispositivos 
 
Seguridad / Privacidad: En un mundo donde estamos cada vez más expuestos al hackeo, 
es importante que la plataforma presente una buena y sólida prevención contra hackers. 
 
 
 
24 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
2.8.1. Adafruit 
Características 
 Visualización y almacenamiento de datos 
 Datos se almacenan por 30 días 
 Muy simple crear Dasbboard personalizados 
 APIs REST y MQTT 
 En fase beta 
 
 
 
 
 
 
 
 
 
Figura 2.13. Plataforma Adafruit IO [9] 
 
 
 
25 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
2.8.2. ThingSpeak 
Características 
 Visualización y almacenamiento de datos 
 Multiples displays y formas de visualización 
 Permite el procesado de datos (promedios, máximos, mínimos, etc) 
 Integración con twitter y otras plataformas 
 
 
 
 
 
 
 
 
 
 
Figura 2.14. Plataforma ThingSpeak [9] 
 
 
26 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.8.3. Yaler 
Características 
 Acceso a dispositivos a través de la red mediante Yaler Relay 
 Compatible con cualquier dispositivo con sockets TCP (Arduino, Netduino, etc.) 
 Acceso a dispositivos sin port forwarding 
 Evita muchas complicaciones 
 
 
 
 
 
 
 
 
 
 
 
Figura 2.15. Plataforma Yaler [9] 
 
 
 
27 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.8.4. Google Cloud 
Características 
• Conjunto de servicios que permiten a desarrolladores desarrollar y lanzar aplicaciones 
bajo infraestructura Google. 
• Pensado para trabajar con Brillo OS y Weave. 
• Encriptación en APIs de Google Cloud, seguridad. 
• Big Data. 
• Servicio gratuito por 60 días. 
 
 
 
 
 
 
 
 
 
Figura 2.16. Plataforma Google Cloud Platform [9] 
 
 
 
28 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.8.5. Microsoft azure 
Características 
• Plataforma Cloud Computing multifunción (no solo IoT) 
• IoT Suite 
• Servicios orientados a eventos, analíticas avanzadas, Business Intelligence, 
almacenamiento de datos. 
• Gratuito por 30 días. 
 
 
 
 
 
 
 
 
 
 
 
Figura 2.17. Plataforma Microsoft Azure [9] 
 
 
 
29 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
2.8.6. Amazon Web Services 
Características 
• Colección de servicios en la nube 
• Lanzado en 2006 
• Soporta gran cantidad de protocolos: HTTP, MQTT o WebSockets. 
• SDK propio. 
• Gratuito por 1 año (capa limitada) [9]. 
 
 
 
 
 
 
 
 
 
Figura 2.18. Plataforma Amazon Web Services [9] 
 
 
 
30 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
2.8.7. Ubidots 
Características 
Ubidotses una plataforma IoT que presenta una nube basada en dispositivos globales. Es 
una plataforma asequible, fiable y utilizable en un ecosistema de plataformas IoT. Ubidots 
está especializada en soluciones de hardware y software conectadas para monitorizar, 
controlar y automatizar procesos remotamente en el ámbito de la salud, energía, industria, 
fabricación, servicios públicos y transporte (Figura 2.19). Además, recientemente creó 
Ubidots for Education que es una plataforma para estudiantes que les permite construir, 
desarrollar, probar, aprender y explorar el futuro de las aplicaciones y soluciones 
conectadas a Internet [12]. 
 
 
 
 
 
 
 
 
 
Figura 2.19. Plataforma Ubidots [12] 
 
 
 
31 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.9. Arquitecturas IoT 
La arquitectura describe la estructura de una solución de IoT, lo que incluye el software 
(Plataformas, sistemas operativos, etc.) y el hardware (Dispositivos de red, sensores, etc) 
[9]. 
 
Antes de empezar a plantear una solución cualquiera, se debe tener claro el diseño que se 
tiene que implementar. Los arquitectos típicamente diseñan planos antes de construir 
edificios. Los ingenieros de IoT diseñan arquitecturas de red antes de implementar 
soluciones [9]. 
 
Un buen diseñador de arquitecturas IoT tiene presente siempre la funcionalidad que busca 
la solución, por eso, debe tener en cuenta un conjunto de conceptos que se presentan a 
continuación: 
 
Necesidad de los datos del lado del cliente: ¿Qué debe leer el consumidor final? 
¿Datos en tiempo real? ¿Históricos? ¿Una combinación? 
 
Disponibilidad de los generadores de datos: ¿Dónde están estos equipos? 
¿Pueden enviar datos en tiempo real? ¿Puede caerse la red? En ese caso, 
¿Conviene poner alguna base de datos de por medio para guardar datos temporalmente? 
 
Lenguaje: ¿La plataforma habla el idioma de los equipos generadores de datos? 
 
Seguridad: ¿Cómo van a navegar los datos entre los sensores hasta la plataforma IoT? 
¿Pueden ser interceptados estos datos y modificados? ¿Se tiene disponible alguna 
encriptación u otro mecanismo para proteger la información? 
 
 
32 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
Escalabilidad: Esto no es menor, ¿Mi arquitectura puede soportar muchos más datos en 
el futuro? ¿Está alineada con las perspectivas de futuro del cliente? 
 
Algoritmos: ¿Dónde debe ejecutarse cada algoritmo? ¿Se tienen herramientas para hacer 
que algunos algoritmos se ejecuten en la capa de los sensores, y otros en la capa del cloud? 
¿Dónde cada uno? [9]. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.10. MyOpenLab 
Es un software de desarrollo basado en elementos gráficos, cada uno cumple con una 
función específica y tiene propiedades configurables por el usuario, dichos componentes se 
pueden unir entre sí para implementar de una manera sencilla la parte gráfica y lógica de 
una aplicación. El software integra elementos para comunicarse con plataformas 
comerciales como Arduino, Raspberry Pi, Android y dispositivos con comunicación serial 
(Figura 2.22) [5]. 
2.10.1. Historia 
Esta iniciativa surgió desde Alemania con Carmelo Daniel Salafia quien inicio el proyecto y 
lo desarrollo durante varios años. El 12 de agosto del 2012 fue publicada en la página oficial 
la versión v3.0.3.2 y se fue actualizando a medida que se desarrollaban nuevos elementos 
y se corregían errores en el programa. 
 
Para finales del 2015 al detectar que MyOpenLab no se ejecutaba para Raspberry Pi, el 
ingeniero Javier Velásquez habilito un Raspberry Pi con acceso remoto para trabajar en 
conjunto de forma remota con Carmelo Salafia y lograr que MyOpenLab se ejecutara en 
Linux ARM que para el momento era la distribución Raspbian Wheezy, lo cual se logró y se 
publicó la versión v3.0.8.3 desde la cual MyOpenLab se ejecuta en ARM. 
 
Desde esta etapa se han desarrollado en Colombia elementos para el manejo de funciones 
básicas del GPIO de la Raspberry pi, elementos para Arduino, control programático de las 
aplicaciones, elementos de visualización de texto, una interfaz de comunicación con la 
terminal de Linux, métodos http para comunicarnos con Android y están en desarrollo varias 
correcciones y nuevos elementos. 
 
 
 
34 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
Debido al gran interés en el desarrollo de proyecto y la colaboración continua de Carmelo 
salafia ha decidido que el desarrollador principal de proyecto a partir de la versión v3.10.0 
será el ingeniero Javier Velásquez de Colombia [5]. 
 
2.10.2. Características más importantes 
 Facilidad de uso 
 Amplia biblioteca de funciones tanto para manejo de señales analógicas como digitales. 
 Tratamiento de los tipos de datos y operaciones con estos. 
 Realización de las aplicaciones mediante el uso de bloques de función. 
 Facilidad para crear pantallas de visualización que recojan el estado de las variables y 
eventos de las simulaciones. 
 Posibilidad de ampliación de su librería de componentes. 
 Posibilidad de creación de submodelos que se pueden encapsular a su vez en otros 
submodelos [6]. 
 
Las aplicaciones que se realizan con MyOpenLab reciben el nombre de VM (Visual 
Modeling). 
 
 
 
 
 
 
 
 
 
35 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
2.10.3. Partes de la aplicación 
 Circuito (Panel Circuito) 
 
Figura 2.20. Panel Circuito 
 
 Panel de Visualización (Panel Frontal) 
 
Figura 2.21. Panel Frontal 
 
 
 
 
36 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
El Circuito (Figura 2.20) será el conjunto de funciones y/o operadores que 
convenientemente enlazados responden a una funcionalidad relacionada con un circuito 
electrónico o un sistema del tipo que sea. Este conjunto de funciones se edita en el 
correspondiente panel de edición de circuito, que aparece en la pestaña etiquetada “Panel 
Circuito”. 
 
La parte de Panel Frontal (Figura 2.21) de Visualización será el que aparece en la pestaña 
etiquetada con “Panel Frontal” en la que se situarán los objetos de visualización grafica que 
asociados a las variables del circuito permitirán la visualización de la evolución de la 
simulación. 
 
Podemos editar el código Java del componente y modificarlo si es nuestro deseo. Esta 
posibilidad hace de MyOpenLab una herramienta absolutamente flexible y abierta [6]. 
 
Ventana principal 
 
 
 
 
 
 
 
 
 
 
Figura 2.22. Ventana Principal 
 
 
37 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
Sección 1: Proyectos abiertos 
Sección 2: Editor de propiedades de los elementos (Sólo tiene que seleccionar un miembro 
y que se puede editar aquí el Propiedades del elemento) 
Sección 3: Panel de Circuito 
Sección 4: Descripción de pines y ayuda HTLM del elemento 
Sección 5: Librería de elementos de panel Circuito 
Sección 6: Pestaña de panel Frontal [6].38 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
2.11. Comparación de Raspberry Pi 3 Modelo B+ vs Tinker Board 
Actualmente las tecnologías de información (TI) son muy utilizadas en las actividades 
cotidianas de las personas, al igual que los dispositivos electrónicos como la Raspberry Bi 
3 y la Tinker Board, los cuales, a pesar de su pequeño tamaño, tienen capacidades 
suficientes para competir en el mercado si se toman en cuenta sus características, tales 
como su memoria, su procesador y que incluyen un puerto Ethernet, wifi y bluetooth. 
 
Adicionalmente, a causa de sus diferentes tipos de sensores, brindan la oportunidad de ser 
implementados desde una aplicación móvil hasta proyectos de hardware que requieran 
procesar información en tiempo real. Ambas tarjetas, la Raspberry Bi 3 y la Tinker Board, 
compiten entre sí en aspectos como la velocidad de procesamiento, la arquitectura interna, 
la cantidad de periféricos, la versatilidad, el precio y el tamaño; además, en el hecho de que 
ambas pueden soportar un sistema operativo. 
 
Por un lado, la Raspberry Pi 3 es una placa de bajo costo que incluye todos los elementos 
que ofrece una computadora. Hoy en día ha adquirido gran importancia en el mercado por 
su diversidad de opciones para realizar proyectos en redes de computadoras, circuitos 
electrónicos, robótica, domótica, seguridad, programación, entre otras áreas tecnológicas. 
 
Incluso, algunos autores como Saari, Muzaffar y Hyrynsalmi (2017) han utilizado la 
Raspberry Pi a manera de solución para el Internet de las Cosas (IoT). En su investigación, 
estos tres autores mencionan que es totalmente adaptable y que se puede utilizar como un 
instrumento a la medida, como un proceso de una computadora, al igual que permite 
realizar modificaciones para la operación de sistemas embebidos, obteniendo un mejor 
rendimiento, alta rentabilidad y una buena recuperación de datos. 
 
 
39 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
También en las ciencias médicas se ha usado la Raspberry Pi como monitor de signos 
vitales para detectar fallas cardiacas, atendiendo anomalías en la salud a través de la 
tecnología del sistema global para las comunicaciones móviles (GSM, por sus siglas en 
inglés) o vía Internet, y puede servir como conexión entre paciente y doctor (Pardeshi, 
Sagar, Murmurwar y Hage, 2017). 
 
En otras aplicaciones, este dispositivo se ha implementado en el área de la biología, 
particularmente en la crianza de peces, donde se implementó como monitor de calidad del 
agua dentro un tanque. A través de un micro controlador Arduino, en conjunto con la 
Raspberry Pi, se logró automatizar la alimentación de los peces en tiempo y forma, todo a 
través de una aplicación web (Hasim, Ramalingam, Ernawan y Puviarasi, 2017). 
 
Otras de las ventajas de este dispositivo es que puede funcionar como nodo sensor o router 
en las redes de telecomunicaciones dentro del IoT (Gragasin, Talplacido y Macabale, 2017). 
Por último, en otro trabajo implementaron tanto la Raspberry Pi como el Arduino para 
realizar el registro de asistencia: este lo usaron para el registro de asistencia (ARD) y aquel 
fungía como un servidor web, mientras que la transmisión de los datos se realizó con la 
tecnología Zigbee (Sunehra y Goud, 2016). 
 
 Por otro lado, su digna contrincante, la Tinker Board de ASUS (ASUSTeK Computer Inc., 
2017) no se queda atrás y promete tener un rendimiento líder en su clase. Algunas 
aplicaciones donde se ha implementado este dispositivo es en el multiplexado de dos 
módulos de cámaras: Cooper, Azhar, Van Der Mark, Delmas y Gimel'farb (2017) 
demostraron que puede ser un buen sustituto tecnológico para sistemas GoPro de baja 
velocidad. 
 
 
40 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
También se ha utilizado a la Tinker Board en aspectos más orientados a la arquitectura 
interna de memoria a la medida por tecnologías Altera OpenCL para dar aplicaciones de 
compiladores donde se utiliza un kernel y se demostró que se puede obtener un soporte de 
paquetes de datos de una tarjeta proveniente de proveedores de Internet (Richmond, 
Blackstone, Hogains, Thai y Kastner, 2016). 
 
Como parte de las aportaciones de este artículo, se presenta una breve comparativa de las 
características de ambas tarjetas, lo cual ayudará para determinar cuál es la más adecuada 
según el caso en el que se quiera implementar un dispositivo de este tipo. A continuación, 
se especificarán aún más las características de las tarjetas de tamaño reducido [7]. 
 
2.12. Características de las tarjetas de tamaño reducido 
Son computadoras en una sola placa de tamaño reducido con suficiente potencia para 
instalar y ejecutar sistemas operativos en tiempo real. Además, tiene un bajo precio y son 
multiplataforma [7] 
 
2.12.1. Raspberry Pi 3 
El modelo más actual es el B de Raspberry Pi 3, el cual tiene una unidad de almacenamiento 
con tarjeta MicroSD Card Slot y está dotado con 35 000 paquetes y programas pre 
compilados en un formato que facilita la instalación. 
 
Además, a pesar de estar adaptado a la perfección a la placa, no es un sistema operativo 
afiliado con la fundación Raspberry Pi, ya que fue creado por un equipo pequeño y dedicado 
a desarrolladores, por lo que permite la instalación de una gran variedad de sistemas 
 
 
41 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
operativos, entre ellos Noobs, Ubuntu MATE y Windows, aunque el más utilizado suele ser 
Raspbian basado en Debían, con soporte en línea para actualizarlo. 
 
 Adicionalmente, tiene un procesador quad-core ARMv8 a 1.2 GHz de 64 bits de velocidad, 
características suficientes para permitir implementarlo en aplicaciones como punto de 
acceso; puede generar y procesar señales por diferentes sensores a través de sus puertos 
GPIO o recibirlas a través de su puerto Ethernet, wifi y bluetooth, y brinda la posibilidad de 
conectar diferentes dispositivos a través de su puerto USB. En la tabla 2.1 y en la figura 
2.23 se muestran de manera detallada todas estas características (Raspberry Pi 
Foundation, 2017) [7]. 
Tabla 2.1. Características de Raspberry Pi 3 modelo b+ [7]. 
Especificaciones técnicas Características 
CPU 1.4 GHz 64 bits quad-core ARMv8 
GPU 400 MHz bradcom video core IV 
RAM 1 GB(1024 MB) 
ALMACENAMIENTO MicroSD slot 
CONECTIVIDAD 4 puertos USB 2.0 
SALIDA DE VIDEO Full HDMI 
SALIDA AUDIO Conector de audio de 3.5 mm, puerto HDMI 
RED Wi-Fi 2.4/5GHz 
Bluetooth: 2.4GHz y 5GHz IEEE 
802.11.b/g/n/ac, Bluetooth 4.2, BLE 
Ethernet: Gigabit Ethernet sobre USB 2.0 
(300 Mbps) 
 
PINES GPIO 40 pines GPIO 
 
 
42 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
ALIMENTACIÓN 5v a 2.5A micro USB 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 2.23. Placa Raspberry Pi 3 modelo B+ y puertos GPIO [7] 
 
 
2.12.2. Tinker Board ASUS 
La compañía ASUS recientemente creó la primera versión de su placa, que es muy similar 
a la Raspberry Pi 3, la cual tiene un procesador Rock chip RK3288 de 32 bits. A diferencia 
la Raspberry, la Tinker Board por el momento solo cuenta con dos sistemas operativos 
oficiales, TinkerboardOS de Debían y TinkerOS Kodi. Estas y más características de la 
Tinker Board y de sus puertos GPIO se muestran en la tabla 2.2 y en la figura 2.24, 
respectivamente [7].43 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
Tabla 2.2. Características de Tinker Board ASUS [7] 
 
Especificaciones técnicas Características 
CPU Rock chip RK3288 quad-core 1.8 GHz (32 
bits) 
GPU ARM-based Mali T764 GPU 
RAM 2 GB 
ALMACENAMIENTO MicroSD con soporte para velocidad de 
tarjeta UHS-1 
CONECTIVIDAD 4 puertos USB 2.0 
SALIDA DE VIDEO HDMI 
SALIDA AUDIO Conector de audio de 3.5 mm 192 KHz/24 
bits, salida de audio y micrófono 
RED 802.11 b/g/n Wi-Fi 
Bluetooth 4.0+ EDR 
10/100 Ethernet 
PINES GPIO 40 pines GPIO 
ALIMENTACIÓN 5v a 2A micro USB 
CAMARA Se puede incluir una interfase para cámara 
 
 
44 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
 
 
 
 
 
 
 
 
Figura 2.24. PlacaTinker Board ASUS y Pines GPIO [7]
 
 
45 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
CAPITULO III 
METODOLOGÍA 
Se realizó el estudio de cómo determinar que computadora de placa única se ha de utilizar, 
en base a la información recabada sobre la aplicación de cada una de ellas enfocadas al 
IoT. De igual manera se buscó: 
 Seleccionar el sistema operativo adecuado para cada una, la instalación del 
software MyOpenLab para la implementación de una interfaz gráfica. 
 Realizar pruebas de programación con este y Arduino. 
 Instalar IDE de Arduino para cada una de las placas. 
 Por último, la aplicación de una plataforma IoT Ubidots para subir los datos a 
internet. 
 
3.1. Instalación de sistema operativo a Raspberry Pi 
• Descarga de sistema operativo Raspbian 
• Visitar la página https://www.raspberrypi.org/downloads/raspbian/ y descargar la 
versión más reciente de NOOBS LITE. 
• Se descarga el programa SD memory Card Formatter para formatear y asegurar que la 
MicroSD este en blanco. 
• Se copian todos los datos de la carpeta de NOOBS LITE a la MicroSD 
• Una vez copiados los datos se introduce la tarjeta MicroSD en la Raspberry Pi 3 modelo 
b+ 
• Se introduce la MicroSD a la Raspberry Pi y se conecta el cable Ethernet, un teclado, 
un ratón si es necesario y su fuente de alimentación de la Raspberry Pi. 
• Aparecerá la siguiente tabla para seleccionar Raspbian Recommended 
 
 
46 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
• En seguida se da clic en instalar y se lleva a cabo la instalación de manera automática 
del sistema operativo Raspbian. 
• Al finalizar la instalación aparece la sig. Pantalla (Figura 3.1) del entorno del sistema 
Operativo Raspbian 
 
 
 
 
 
 
 
 
 
Figura 3.1. Entorno Raspbian 
3.2. Instalación del programa MyOpenLab en Raspberry Pi 
 Para la instalación de MyOpenLab es necesario descargar e instalar Java, para esto se 
abre la terminal del sistema operativo Raspbian y se teclea lo siguiente. 
Sudo su 
apt-get install openjdk-8-jdk 
 Luego se escoge la versión alternativa de java con la cual es compatible el programa 
MyOpenLab tecleando lo siguiente: 
Sudo update-alternatives –config java 
 Y se selecciona el número 2 (/usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java) (Figura 
3.2) 
 
 
47 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
 
 
 
 
 
 
 
 Figura 3.2. Instalación Java 
 
• Una vez terminada la instalación de java, visitar la página https://myopenlab.org/inicio/ 
para realizar la descarga. Dar clic en la parte de descargas y descargar la versión que 
correspondiente según el sistema operativo, en este caso es la de Linux (Figura 3.3): 
 
 
 
 
 
 
 
 
Figura 3.3. Descarga MyOpenLab para Linux 
 
 
 
 
 
48 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
• Una vez terminada la descarga se descomprimen los archivos en una carpeta, 
posteriormente entramos a la carpeta para ejecutar el archivo Start_Linux para abrir el 
programa. 
 
• Pero antes de ejecutar el archivo damos clic en cambiar propiedades y parecerá la 
siguiente pantalla en la cual cambiaremos en la parte de ejecutar a cualquiera, de esta 
manera podrá abrirse el programa (Figura 3.4): 
 
 
 
 
 
 
 
 
 
Figura 3.4. Entorno MyOpenLab 
 
3.3. Instalación de ID de Arduino a Raspberry Pi 
 Se modifican algunas características en el sistema para descargar y actualizar una lista 
de paquetes. 
 Se ingresa lo siguiente: sudo nano /etc/apt/sourse.list 
 La tercera línea de código se modifica quitando el # y se guarda tecleando la letra O. 
 Enseguida se introduce: sudo apt-get update y sudo apt-get upgrade, para realizar 
la descarga y actualización de paquetes necesarios para la instalación del ID de Arduino 
(Figura 3.5) 
 
 
49 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
 
 
 
 
 
 
 
 
Figura 3.5. Actualización de paquetes en Raspberry 
 
• Enseguida se escribe en la terminal lo siguiente para la instalación de ID de Arduino: 
sudo apt-get install arduino* 
 
• Al finalizar la instalación, se cierra la terminal y en la parte de Programación del sistema 
operativo aparecerá anclado el ID de Arduino (Figura 3.6). 
 
 
 
 
 
 
 
 
Figura 3.6. ID de Arduino. 
 
 
 
50 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 
3.4. Instalación de sistema operativo a Tinker Board 
Visitar la página https://www.asus.com/mx/Single-Board-Computer/Tinker-Board/ e ir a la 
parte de descargas para descargar el sistema operativo conveniente (Figura 3.7), en este 
caso fue TinkerOs- Debian 
 
 
 
 
 
 
 
Figura 3.7. Sistemas operativos 
Requerimientos 
 Tarjeta Micro SD con al menos 8GB de capacidad. 
 Cable Micro USB y un adaptador de 5V/2~2.5A con LPS. 
 Monitor con cable HDMI. 
 Teclado y mouse. 
 Nota: Para mejorar la estabilidad del sistema, es altamente recomendable usar una 
tarjeta SD de alta velocidad (Clase 10 o superior). 
 
Procedimiento 
 Inserta la tarjeta microSD en una PC con Windows. 
 Descarga y ejecuta la aplicación "Win32DiskImager". 
 Navega y selecciona el archivo de la imagen que será flasheada. 
 Selecciona la tarjeta microSD como fuente de destino. 
 Haz clic en "Escribir". 
 
 
51 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas” 
 
 Retira con seguridad la tarjeta microSD con la nueva imagen de arranque, luego 
insértala en la ranura de la Tinker Board. 
 
 
 
 
 
 
 
 
Figura 3.8. Entorno TinkerOS-Debian 
3.5. Instalación del programa MyOpenLab en Tinker Board 
Para la instalación de MyOpenLab es necesario descargar e instalar Java, para esto se 
abre la terminal del sistema operativo TinkerOS- Debian y se teclea lo siguiente, esto para 
actualizar las librerías. 
Sudo apt-get update 
Enseguida se introduce lo siguiente para instalar el java 
Sudo apt-get install default-jre (Figura 3.9). 
 
 
 
 
 
 
 
 
 
 
52 “Evaluación de computadoras de placa única para la integración de sistemas analíticos al internet de las cosas”

Continuar navegando