•
Un sistema embebido es un sistema basado en microprocesador que está diseñado para controlar una función o un rango de funciones. Este se compone de procesador, memoria, periféricos y software.
•
El procesador es el encargado de proporcionar la potencia de procesamiento necesaria para realizar las tareas dentro del sistema.
•
La memoria proporciona almacenamiento para el programa que ejecutará (almacenado en la memoria no volátil ROM) y para datos tales como variables de programa y resultados intermedios, información de estado y cualquier otro dato que pueda crearse a lo largo de la operación (almacenada en la memoria de acceso aleatorio RAM).
•
Un sistema embebido se puede modelar en tres etapas donde se ingresan datos e información en la primera etapa, la segunda etapa la procesa antes de que la tercera etapa muestre datos. Entre los principales periféricos se pueden encontrar:
•
Salidas binarias
•
Salidas serie (envían y reciben datos)
•
Valores analógicos
•
Display
•
Salidas derivadas del tiempo (los temporizadores y contadores)
•
Los componentes de software dentro de un sistema embebido a menudo abarcan la tecnología que agrega valor al sistema y define qué hace y qué tan bien lo hace.
•
IoT representa una red en la que las “cosas” o dispositivos integrados que tienen sensores, están interconectados a través de una red en donde se da el intercambio de información entre estos dispositivos a través de protocolos específicos. Estos dispositivos pueden controlarse a distancia para llevar a cabo la funcionalidad deseada.
•
Una cosa, en el Internet de las cosas, puede ser una persona con un implante de monitor cardíaco, un animal de granja con un biochip transpondedor, un automóvil que tiene sensores incorporados para alertar al conductor cuando la presión de las llantas es baja, o cualquier otro objeto al cual se le puede asignar una dirección IP y se le proporciona la capacidad de transferir datos a través de una red.
•
MQTT
•
Puesto que se basa en la publicación-subscripción de mensajes, no se necesita saber para quien van los mensajes o de donde vienen, reduciendo mucho la complejidad de la red.
•
Gracias al punto anterior, es un protocolo ligero (cabeceras muy reducidas, comunicación bajo demanda, etc), con lo que se ajusta a redes y dispositivos con pocos recursos y baja velocidad de transmisión, como una típica red de sensores.
•
Se basa en comandos muy sencillos y varios modos de gestión de mensajes, y además, no necesita que el contenido del mensaje esté en un formato específico.
•
Tiene mecanismos para garantizar una comunicación fiable, retransmitiendo o guardando para más tarde los mensajes cuando se pierda la conexión entre servidor y cliente. Para esto implementa hasta tres niveles de QoS, lo que permite garantizar la entrega de los mensajes más importantes.
•
Permite unir fácilmente el mundo del Business Intelligence y el Big Data con las fuentes de datos, pero también es ideal para la conexión machine-to-machine (M2M).
•
su estrategia de comunicación se basa en la publicación de mensajes de tipos específicos (topics) y la subscripción a esos mensajes. Los mensajes que se publican en la red se clasifican según diferentes tipos y los clientes MQTT (nodos) reciben sólo aquellos tipos a los que están subscritos. Del mismo modo, los nodos pueden también publicar mensajes de los tipos que manejan y comunicarse así con otros nodos o aplicaciones que gestionan esos mensajes.
•
El broker 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 brokers es autorizar el acceso e identificar los clientes.
•