Está en la página 1de 68

La presencia de IoT en el mundo actual

Internet de las cosas (IoT) se encuentra a nuestro alrededor y se expande con rapidez. Apenas estamos
comenzando a aprovechar los beneficios de IoT.

Constantemente se están desarrollando nuevas maneras de utilizar cosas conectadas. IoT ayuda a los
individuos a conectar cosas para mejorar la calidad de vida. Analice cuántas personas utilizan actualmente un
dispositivo portátil para realizar el seguimiento de sus actividades físicas. Haga clic aquí para ver un ejemplo
de una camisa inteligente diseñada para hacer el seguimiento de su nivel de ejercicio físico.

IoT también ayuda a las organizaciones e industrias a mejorar la administración de recursos para ser más
eficientes. Analice de qué manera se utiliza IoT en las ciudades inteligentes. Haga clic aquí para ver un
panorama general de la manera en que las ciudades inteligentes mejoran las vidas de los ciudadanos.

Haga clic aquí para ver de qué manera Niza, una ciudad en Francia, ha adoptado IoT para transformarse en
una ciudad inteligente.

Soluciones de IoT de Cisco

IoT ayuda a distintos sectores, como fabricación, servicios públicos, petróleo y gas, transporte, minería, y
organizaciones públicas y privadas a aumentar la eficacia operativa.

Las empresas y las ciudades implementan cada vez más soluciones de IoT. Sin embargo, este rápido
aumento en el crecimiento también presenta nuevos desafíos, a saber:

• Cómo integrar millones de dispositivos de diversos proveedores que utilizan aplicaciones


personalizadas

• Cómo integrar cosas nuevas a la infraestructura de red existente

• Cómo proteger los dispositivos nuevos configurados con diversos niveles de seguridad

Para colaborar en el momento de hacer frente a estos desafíos y ayudar a las organizaciones e industrias a
implementar soluciones de IoT, Cisco presentó su propio Sistema de IoT.

Haga clic aquí para obtener más información sobre el Sistema de IoT de Cisco.

Los seis pilares del Sistema de IoT de Cisco

Específicamente, el Sistema de IoT de Cisco reduce la complejidad del proceso de digitalización para la
industria. Tal como se muestra en la figura, el Sistema de IoT de Cisco identifica seis pilares tecnológicos que
ayudan a simplificar y garantizar una implementación de IoT:

• Conectividad de redes

• Computación en la niebla

• Ciberseguridad y seguridad física

• Análisis de datos

• Administración y automatización
• Plataforma de habilitación de aplicaciones

Haga clic aquí para ver cómo Cisco desarrolla soluciones de digitalización para todos los tipos de industrias.

Cisco Jasper Technologies es una empresa que proporciona una plataforma de nube de IoT que le permite
administrar la conectividad para todos sus dispositivos de IoT. Con Jasper, las empresas pueden utilizar las
redes celulares para conectar cualquier dispositivo, desde marcapasos hasta motores a reacción. Las
empresas pueden entonces administrar la conectividad de servicios de IoT a través de plataformas de nube
de IoT como una plataforma de servicio (SaaS).

Para obtener más información sobre Cisco Jasper Technologies, su plataforma de nube de IoT y las historias
de éxito de IoT del cliente, haga clic aquí.

Panorma general de un sistema controlado

Existen distintos tipos de dispositivos habilitados con IoT disponibles. Sin embargo, la mayoría de los
dispositivos de IoT utilizan sensores, controladores y actuadores para realizar funciones.

El bucle de retroalimentación es utilizado por el dispositivo de IoT para proporcionar información en tiempo
real a su controlador sobre el comportamiento actual del sistema. Un bucle cerrado existe cuando el
controlador recibe retroalimentación constante proveniente de sus sensores. El controlador analiza y procesa
la información, y, en caso de ser necesario, utiliza actuadores para modificar las condiciones. Este proceso se
repite y se ajusta constantemente.

Por ejemplo, en la figura se ilustran los componentes de IoT dentro de un termostato inteligente. Un sensor (o
varios sensores) envían continuamente lecturas de la temperatura a un controlador. El controlador utiliza esta
retroalimentación para monitorear las condiciones y ajustar la temperatura según lo prestablecido por el
usuario.

El controlador también puede comunicarse de manera inalámbrica con el usuario para mejorar la experiencia
de IoT.

Haga clic aquí para ver un ejemplo de cómo se puede utilizar un termostato inteligente para ayudar a reducir
los costos de energía en un hogar.

En las siguientes páginas, se proporciona más información sobre sensores, actuadores, controladores y
procesos.

Sensores

Un sensor es un dispositivo que puede usarse para medir una propiedad física mediante la detección de algún
tipo de información del mundo físico. Esta información puede ser luz, humedad, movimiento, presión,
temperatura, o cualquier otra condición ambiental.

Por ejemplo, en la figura 1, la granja de café mostrada podría usar sensores para recopilar una variedad de
información, como luz solar, temperatura y humedad del suelo. Estos datos luego pueden analizarse para
maximizar la producción y la calidad de los granos de café.

Existen distintos tipos de sensores. En la figura 2, se muestran ejemplos de sensores.

Un sensor puede conectarse a un controlador de forma directa o remota. Los sensores y controladores
generalmente son conectados a la red mediante circuitos digitales o analógicos. Los sensores envían datos a
un controlador. Ese controlador puede reaccionar ante los datos de sensores inmediatamente y cambiar la
configuración del accionador. Por ejemplo, una Red de Área de Controlador (CAN) es un estándar utilizado en
la mayoría de los automóviles modernos para permitir la comunicación entre los sensores y los controladores
sin la necesidad de utilizar computadoras host. La mayoría de los nuevos automóviles están equipados con
cámaras de respaldo o sensores anticolisión. Estas cámaras y sus sensores pueden alertar a los
microcontroladores de la presencia de un objeto en el camino y los microcontroladores hacen que el auto
emita una señal de advertencia o accione los frenos de manera automática.

El controlador también puede actuar como gateway hacia una red IP y pasar los datos de sensores para
almacenarse o analizarse en servidores en la niebla o la nube. Los datos y los análisis recopilados se pueden
utilizar para activar acciones de una persona, sistemas o máquinas. A modo de ejemplo, la cantidad de
automóviles en la calle puede provocar un cambio en el sistema de semáforos. El análisis de las tasas de
natalidad en diferentes condados puede hacer que un gobierno construya una nueva escuela en una
ubicación diferente.

En la figura 3, se proporcionan ejemplos de cómo se utilizan los sensores en diversos sectores. Haga clic en
cada uno para ver lo que miden estos sensores.

Actuadores

Un actuador es un motor básico que se puede usar para mover o controlar un mecanismo o un sistema, sobre
la base de un conjunto específico de instrucciones.

Generalmente, en IoT industrial, hay tres tipos de actuadores:

• Eléctrico: se alimenta de un motor que convierte la energía eléctrica en funcionamiento mecánico

• Hidráulico: utiliza presión de fluidos para realizar movimientos mecánicos

• Neumático: utiliza aire comprimido para habilitar operaciones mecánicas

En el ejemplo de la figura, se muestra un actuador industrial compuesto por un solenoide eléctrico utilizado
para controlar la hidráulica.

En otras áreas, el actuador será responsable de transformar una señal eléctrica en resultado físico. Este
resultado físico puede proporcionar información a un usuario mediante el LED o modificar otro dispositivo o
entorno. Por ejemplo, un calentador ubicado en el bucle de retroalimentación de un sistema funge como
actuador porque modifica el estado del entorno controlado (temperatura) en respuesta a una señal eléctrica.

Más allá de la forma en que el actuador provoca movimiento, la función básica de este dispositivo es recibir
una señal del controlador y, según esa señal, realizar una acción establecida.

Controladores

Los controladores son responsables de recopilar datos de los sensores y proporcionar conectividad hacia la
red o Internet. Los controladores pueden tener la capacidad de tomar decisiones inmediatas o de enviar datos
a una computadora más potente para su análisis. Esta computadora más potente puede estar en la misma
LAN que el controlador, o bien puede ser accesible únicamente por medio de una conexión a Internet.

La figura 1 muestra un ejemplo de una topología de IoT que incluye sensores, controladores, routers y centros
de datos. Para llegar a las computadoras más potentes en el centro de datos, el controlador primero envía
datos a un router local. Este router es la interfaz entre la red local e Internet. Puede enviar datos hacia atrás y
adelante entre ellos.

La figura 2 muestra un ejemplo de una topología de IoT en la que se destaca la manera en que se utilizan los
controladores en la computación en la niebla. Imagine semáforos inteligentes que tengan sensores y
actuadores. Los sensores detectan e informan la actividad del tránsito al controlador. El controlador puede
procesar estos datos de manera local y determinar los patrones de tráfico óptimos. Con esta información, el
controlador envía señales a los actuadores en los semáforos para ajustar los flujos de tráfico. Este es un
ejemplo de la comunicación máquina a máquina (M2M). En esta situación, los sensores, los actuadores y el
controlador coexisten en la niebla. Esto significa que la información no se reenvía más allá de la red local
donde se encuentran los dispositivos finales.

En la figura 3, se muestra un ejemplo de controladores con IP habilitada. El controlador con IP habilitada


reenvía la información a través de una red IP y permite que las personas accedan al controlador de manera
remota. Además de reenviar la información básica en una configuración M2M, algunos controladores pueden
realizar operaciones más complejas. Algunos controladores pueden consolidar la información de varios
sensores o realizar un análisis básico de los datos recibidos.

El microcontrolador Arduino, ilustrado en la figura 4, y el Raspberry Pi (RaPi), que se muestra en la figura 5,


son los dos tipos de controladores. Los dos dispositivos pueden funcionar sin Internet y son utilizados tanto
por aficionados como por profesionales. La diferencia clave entre ambos es el tamaño físico, la potencia de
procesamiento disponible, la memoria y el sistema operativo. Arduino suele requerir menos energía que RaPi
y es más conveniente para manejar señales analógicas de entrada. La aplicación debe determinar qué
controlador es mejor usar.

Los dos controladores suelen utilizarse en conjunto. Por ejemplo, puede adquirir datos con Arduino y luego
procesar los datos con Raspberry Pi. En un capítulo posterior, encontrará información detallada sobre los
controladores de Arduino y Raspberry Pi.

Flujo de proceso de IoT

Los componentes clave de algunos de los sistemas más simples de IoT incluyen sensores que se conectan, a
través de un enlace inalámbrico o cableado, a los actuadores o controladores. Al igual que con varios
componentes en cualquier sistema, algunos dispositivos pueden tener más de una función. Este es el caso
para el controlador en un sistema de IoT. Un controlador puede recopilar datos de los sensores sin
intervención humana o conectividad de red. A modo de ejemplo, un sensor determina que la temperatura de
un apartamento ha descendido por debajo de un nivel preestablecido. El controlador procesará los datos y
enviará el resultado para que el calentador (el actuador) se encienda.

Un controlador también puede actuar como gateway hacia la red local. En el ejemplo anterior, si el sistema de
IoT está diseñado para capturar los cambios de temperatura dentro de cada departamento del edificio, el
controlador puede transmitir los datos para su almacenamiento o análisis en servidores de la red local o
perimetral. El lugar en el que se procesan los datos afecta la velocidad a la que el cambio puede ocurrir en el
sistema. Los datos se pueden almacenar y procesar en los dispositivos que están cerca del perímetro de la
red o, incluso, más cerca de los sensores. Este tipo de procesamiento se denomina computación en la niebla.
Los nodos de niebla a partir de los cuales se crean áreas de procesamiento forman parte de este sistema.

Un controlador también puede ser un gateway hacia una red en la nube. Si el sistema de IoT de nuestro
ejemplo inicial ha sido diseñado para agregar los datos de los termostatos de diversas edificios de
apartamentos de propiedad de la misma empresa, los controladores y dispositivos múltiples pueden
almacenar y procesar los datos de los sensores en distintos nodos de niebla. Los datos de distintos nodos de
la niebla se almacenarían, agregarían y analizarían. Estos datos analizados se pueden utilizar para tomar
decisiones comerciales informadas.

Procesos

Como se muestra en la figura 1, un proceso utiliza entradas para ejecutar las acciones correctas y alcanzar el
resultado deseado. Más formalmente, un proceso es una serie de pasos o acciones adoptados para lograr el
resultado deseado por el consumidor del proceso. Un sistema es un conjunto de reglas que rige la serie de
pasos o de acciones en el proceso.
Conducir un automóvil es un ejemplo de un proceso. Los ejemplos de entradas son la velocidad, la dirección y
la cercanía a otros automóviles. Los ejemplos de acción incluyen la aceleración, el frenado y la dirección del
automóvil. Todas estas acciones crean un sistema, conocido como conducción. Los ejemplos de salidas
serían la velocidad correcta, la dirección y la cercanía a otros automóviles y obstáculos, como se destaca en
la figura. 2.

Retroalimentación

Los retroalimentación son cuando el resultado de un sistema, o proceso, influye en la entrada.

Para ilustrarlo, piense cómo se utilizaron los retroalimentación para llegar con seguridad en la Luna (figura 1).
La computadora recibió mediciones de retroalimentación de la altitud y velocidad e indicó continuamente esta
información al astronauta y a los sistemas incorporados. El astronauta utilizó el comentario para controlar la
nave espacial y ajustar la altitud, el motor y los niveles de aceleración para aterrizar correctamente en la Luna.

Los retroalimentación comúnmente se conocen como bucle de comentarios. Esto se debe a que la entrada
deriva en la salida que se toma como ejemplo una y otra vez se manera permanente, y se utiliza como nueva
entrada, tal como se muestra en la figura 2. El bucle de comentarios representa la idea de un ciclo de causa y
efecto, o de circuito, donde los resultados ajustan continuamente las acciones.

Muchos procesos del sistema tienen normalmente algún tipo de mecanismo de bucle de comentarios. Los
sistemas generalmente tienen una manera de generar bucles o aportar información sobre la calidad del
resultado.

Los bucles de comentarios pueden ser positivos o negativos:

• Comentarios positivos: el comentario refuerza la entrada original. Los retroalimentación positivos


aceleran la transformación de salida en la misma dirección que el resultado anterior. Tienden a cualquier
crecimiento exponencial o rechazo, como se muestra en la figura 3.

• Comentario negativo: el comentario anula o contrarresta la entrada original. Los retroalimentación


negativos disminuyen el efecto del resultado anterior. Tienden hacia la estabilización, logrando cierto
nivel de equilibrio, como se muestra en la figura 4.

Sistemas de control

Un sistema de control incluye un controlador que utiliza entradas y salidas para administrar y regular el
comportamiento del sistema en un intento de llegar a un estado deseado. La entrada especifica cuál debería
ser el resultado del proceso completo. El controlador indica qué cambios específicos se necesitan para
alcanzar el resultado deseado según la entrada. La parte controlada del sistema, el proceso y el accionador
suelen denominarse la planta. La planta utiliza la entrada para obtener el resultado deseado.

Elegir los ajustes para aplicar en una planta para lograr la salida deseada se llama teoría de control. La teoría
de control es básicamente una estrategia para seleccionar la entrada correcta y cómo proceder para generar
el resultado deseado.

La teoría de control se aplica en todos los tipos de dispositivos. Considere cómo se aplica la teoría de control
al conducir un automóvil. El conductor del automóvil es el controlador, quien se ocupa de administrar y regular
el automóvil (la planta). En función de la entrada, el conductor determina cómo utilizar cada control (p. ej.,
acelerador, freno, volante) para alcanzar el resultado esperado. Muchos de los procesos en un automóvil
también dependen de los sistemas de control diseñados por el fabricante de automóviles. En estos sistemas,
el resultado se mide mediante algún tipo de sensor para informar qué cambios debe hacer un controlador. El
objetivo consiste en diseñar un sistema con un índice de error de cero. Esto significa que el resultado de la
planta es exactamente el que usted desee. Por lo tanto, si el conductor desea viajar a 65 MPH, la
configuración de control de la velocidad crucero de 65 MPH debería alcanzar exactamente ese resultado.

A una escala mayor de tecnología, piense cómo se aplicó la teoría de control para llegar correctamente con el
Curiosity Rover de la NASA a Marte. La nave utilizó un sistema de control dinámico para determinar cómo
moverse por el espacio. Los sensores de la nave proporcionaron la entrada repetidamente mediante el
muestreo de su posición y velocidad en su descenso a la superficie de Marte. Los procesos de la nave
utilizaban esta entrada para realizar los ajustes necesarios para llegar al destino deseado.

Los sistemas de control pueden ser sistemas de ciclo abierto o cerrado. La diferencia entre estos dos
sistemas se basa en si utilizan retroalimentación o no.

Haga clic aquí para ver un excelente video de 9 minutos en el que se explican los sistemas de ciclo abierto y
cerrado.

Sistemas de control de bucle abierto

Los sistemas de control de bucle abierto no usan retroalimentación. El controlador instruye a la planta para
que realice una acción predeterminada sin ninguna verificación de los resultados deseados. Un diagrama de
lógica de un sistema de control de anillo abierto se muestra en la figura.

Los sistemas de control de bucle abierto se utilizan a menudo para los procesos sencillos donde están bien
definidas las relaciones entre la entrada y la planta. El trabajo del ingeniero consiste en determinar cómo
manipular las entradas de información de modo que la planta genere los resultados deseados.

Por ejemplo, considere una cafetera (la planta) como el sistema de bucle abierto. El usuario proporciona la
cantidad correcta de café y de agua (entradas). La planta calienta agua y controla el flujo de agua caliente
hacia el filtro. El resultado es el café. Si suponemos que la planta está en condiciones de funcionamiento
adecuadas, la calidad del café (el resultado) se determina a partir de la calidad de las entradas.

Otro ejemplo del sistema de bucle abierto es un dispositivo del hogar. Un lavaplatos (la planta) se ejecuta
normalmente durante una cantidad de tiempo determinada con jabón y agua caliente (entradas). La planta,
con sus chorros de agua y estantes ubicados de manera, produce platos limpios (el resultado). Sin embargo,
la planta no posee la capacidad de determinar cuándo se limpian los platos o si se los limpia. La planta
ejecutará su ciclo completo independientemente de la calidad de la entrada. ¿El usuario cargó platos
excepcionalmente sucios? ¿El usuario agregó jabón?

Observe que, en ambos ejemplos, la calidad de las entradas afecta directamente la calidad del resultado.

Sistemas de control de bucle cerrado

Un sistema de control de bucle cerrado usa retroalimentación para determinar si la salida recopilada es la
salida deseada.

Como se muestra en el diagrama en la figura 1, un sistema de ciclo cerrado mide el resultado mediante un
sensor. A partir de la teoría del control, esta medición se compara con una medición de referencia, que
representa el estado deseado (entrada). El resultado luego “se vuelve a enviar” a un controlador. El
controlador utiliza estos retroalimentación para modificar los controles de la planta para obtener una nueva
versión del resultado y repeticiones de proceso.

Un sistema de control de ciclo cerrado puede ajustar continuamente el resultado según el estado deseado
(entrada) y el estado medido del bucle anterior por el sistema.

Existen muchos ejemplos de sistemas de control de ciclo cerrado. Por ejemplo, observe el diagrama del
sistema de control de calefacción, ventilación y aire acondicionado (HVAC) de una casa en la figura 2.
Inicialmente, el termostato digital está programado con la temperatura deseada. La entrada se ingresa en la
planta de HVAC. De ser necesario, la planta acciona el equipo de HVAC para generar el resultado deseado.
El resultado deseado se mide en función de la entrada deseada. Se determina el error, o la diferencia, entre
las temperaturas deseadas y el termostato ajusta el control en la planta de HVAC.

Otro ejemplo de un sistema de control de ciclo cerrado se puede encontrar en modelos nuevos de secadores
de ropa. Estas secadoras tienen sensores que detectan la humedad relativa mientras que la ropa se seca. En
este ejemplo de un sistema de control de ciclo cerrado, el estado de error sería la suma de la sequedad
deseada menos la sequedad medida. Este error se envía continuamente al controlador para hacer las
correcciones necesarias en la planta, lo que reduce el error en la próxima versión. Este proceso continúa
hasta que la ropa esté seca y el controlador pare la planta.

Controladores de ciclo cerrado

Existen varios tipos de controladores de ciclo cerrado. Un controlador de proporcional-integral-derivado (PID)


es una forma eficiente de implementar el control de retroalimentación. Los controladores de PID se utilizan en
muchos tipos de aplicaciones industriales porque son fáciles de usar. Los controladores de PID son fáciles de
entender, implementar, probar y utilizar para solucionar problemas. Los dispositivos Arduino® y Raspberry
Pi® se muestran en la figura 1 y pueden utilizarse para implementar los controladores de PID.

Como se mencionó anteriormente, el acrónimo PID significa proporcional, integrado y derivado. Cada uno de
estos términos describen cómo se maneja un error. Aunque la matemática excede el alcance de este curso, el
significado de estos términos se puede explicar con los gráficos de la figura 2.

• Controladores proporcionales (P): estos controladores observan específicamente la diferencia entre


el resultado medido y el resultado deseado. La cantidad de cambio que el controlador envía a la planta
es proporcional al tamaño del error de la iteración más reciente. Por ejemplo, en un sistema de HVAC,
el controlador activaría el 50% de los refrigeradores si el sensor detectase una desviación de un grado
de la temperatura determinada. En una desviación de 2 grados, se habilitaría una capacidad del 100%.
Los controles proporcionales suelen pasar por alto la temperatura establecida, como se muestra en el
gráfico P, porque están buscando sólo la desviación en el punto establecido en un momento
determinado.

• Controladores integrales (PI): estos controladores proporcionales e integrales utilizan datos históricos
para medir cuánto se desvío el sistema de la temperatura determinada. Cuanto más tiempo se desvíe el
sistema de la temperatura establecida, más larga será la respuesta del controlador. En un sistema de
HVAC, el controlador explicaría los datos históricos y el tiempo al ajustar el sistema. Aunque los
controladores integrales también pasarían por alto la temperatura establecida, la variación disminuirá en
horas extras, como se muestra en el gráfico de PI.

• Controladores derivados (PID): estos controladores proporcionales, integrales y derivados incluyen


datos sobre cómo el sistema se aproxima rápidamente al resultado deseado. En un sistema de HVAC,
la función derivada de un controlador PID observa la velocidad de cambio en la temperatura. Esto
permite que el controlador ajuste rápidamente el resultado a medida que el sistema se aproxima al
resultado deseado, como se muestra en el gráfico de PID.

Observe que el control proporcional puede implementarse con los controladores neumáticos, analógicos o
electrónicos.

Sistemas interdependientes

Los sistemas de control de ciclo cerrado son fáciles de comprender. Sin embargo, el mundo real puede
presentar una complejidad considerable. Muchos factores pueden afectar los sistemas y el alcance de su
impacto no siempre se mide fácilmente. La mayoría de los sistemas tiene muchas partes interdependientes
que contribuyen y afectan la salida.

Por ejemplo, piense en un sistema de estilo de vida saludable, tal como se muestra en el diagrama en la
figura. 1. Una persona emprende un programa de dieta y ejercicio. Después de un momento, se vuelve más
fuertes y la ropa le queda más suelta. Comienza a recibir halagos (retroalimentación) de otros. Esto genera
buenos sentimientos y los motiva a continuar su dieta y ejercicio.

Otro ejemplo es el sistema climático de la Tierra. En el diagrama de la figura 2, se muestra cómo las
temperaturas globales en aumento provocan que el hielo se derrita más rápido con la sabida consecuencia de
un incremento en el nivel de la superficie del océano. Una mayor superficie del océano significa menor
cantidad de luz sola reflejada hacia el espacio, lo que incrementa la temperatura de la Tierra.

Por último, analice el ejemplo de reciclar materiales para que vuelvan a formar parte de la cadena de
abastecimiento. Haga clic aquí para saber de qué manera Dell recicla el plástico de productos electrónicos
viejos para volver a utilizarlo en la cadena de abastecimiento y recurrir a él para fabricar nuevos sistemas de
computadoras.

Modelos de comunicación

Los modelos de redes en capas se usan para ilustrar cómo opera la red. Hay muchos beneficios por el uso de
un modelo en capas para explicar protocolos de red y operaciones:

• Colaboran en el diseño de protocolos, ya que los protocolos que operan en una capa específica tienen
información definida respecto de la cual actúan y una interfaz definida para las capas superiores e
inferiores.

• Fomentan la competencia, ya que los productos de distintos proveedores pueden trabajar en conjunto.

• Evitan que los cambios en la tecnología o en las capacidades de una capa afecten otras capas
superiores e inferiores.

• Proporcionan un lenguaje común para describir las funciones y funcionalidades de redes.

Estandarización

Cada día, una mayor cantidad de dispositivos están en línea, lo que se suma a la IoT en constante
crecimiento. Los analistas acuerdan que la IoT incorporará miles de millones de dispositivos durante la
próxima década. El desafío del ecosistema de IoT es garantizar que estos dispositivos emergentes de IoT se
pueden conectar de manera segura y confiable a Internet y entre sí.

Para garantizar comunicaciones eficaces a través de los distintos sistemas de IoT, se requiere del uso de
estándares y tecnologías uniformes, seguros y reconocidos. La industria de redes ha desarrollado modelos en
capas, como el modelo OSI y el modelo TCP/IP, para estructurar y estandarizar la conectividad entre los
dispositivos de red. Con el auge de los dispositivos de IoT que se conectan y comunican por Internet, resulta
aun más importante que estos dispositivos también pueden conectarse y comunicarse sin importar el
fabricante del dispositivo o el sistema operativo en los que se ejecutan.

Muchas nuevas organizaciones como el Consorcio Industrial de Internet, el Consorcio de OpenFog y la


Fundación de Conectividad Abierta, trabajan con los miembros del sector, del gobierno y de la academia para
admitir e impulsar la creación y la adopción de nuevos sistemas de IoT. Para colaborar con este objetivo,
ayudan a desarrollar arquitecturas estándar y marcos de trabajo que permiten que los dispositivos se
conecten y comuniquen de forma confiable y segura en IoT.
El Consorcio Industrial de Internet (IIC) ha utilizado grupos de trabajo con representantes de distintos
sectores, como energía, fabricación, transporte y servicios de salud, para crear la Arquitectura de referencia
industrial de Internet. Esta arquitectura es una plantilla y una metodología arquitectónicas basadas en normas
para la IoT industrial. El IIC también colabora con empresas como Cisco, Bosch Rexroth, Intel y National
Instruments para desarrollar el primer banco de Redes con Limitación de Tiempos (TSN) a nivel mundial. El
objetivo del banco de pruebas consiste en visualizar el valor de los nuevos estándares de Ethernet requeridos
para admitir la interoperabilidad perfecta entre los dispositivos inteligentes emergentes necesarios para los
nuevos sistemas de IoT. El banco de pruebas proporcionará comentarios a las organizaciones de estándares
relevantes en las áreas de consideración y mejora.

El Consorcio de OpenFog crea una arquitectura de referencia abierta para la computación en la niebla.
También crean modelos operativos y bancos de pruebas, definen e impulsan la tecnología, educan el
mercado y promueven el desarrollo empresarial a través de un ecosistema de OpenFog.

La Fundación de Conectividad Abierta (OCF) trabaja en pos de diseñar soluciones que apunten a una
especificación de interoperabilidad única y abierta de IoT. Para ello, el OFC ha patrocinado el proyecto
IoTivity, un marco de trabajo de software de código abierto. Este marco de trabajo habilitará la conectividad
transparente para artefactos como dispositivos, teléfonos, computadoras y equipos industriales. Estos
dispositivos podrán comunicarse entre sí independientemente del fabricante, el sistema operativo o el
conjunto de chips.

Modelos TCP y OSI

Las conexiones de red suelen describirse con mayor frecuencia como las que utilizan los modelos OSI y
TCP/IP. Como se muestra en la figura 1, ambos modelos usan capas y cada capa tiene una función.

El modelo de protocolo TCP/IP para comunicaciones de internetwork se creó a principios de la década del
setenta. Como se muestra en la figura 2, en ella se definen cuatro categorías de funciones que deben ocurrir
para que las comunicaciones se lleven a cabo correctamente. La arquitectura del conjunto de protocolos
TCP/IP sigue la estructura de este modelo, motivo por el cual se lo conoce como modelo de protocolo. El
modelo de protocolo TCP/IP se conoce comúnmente como modelo de Internet.

El modelo de referencia OSI proporciona una amplia lista de funciones y servicios que se pueden presentar en
cada capa. También describe la interacción de cada capa con las capas directamente por encima y por debajo
de él. Haga clic en cada capa del modelo OSI de la figura 3 para ver los detalles.

Es importante destacar que, en las redes, ambos modelos se utilizan de manera indistinta. Por lo tanto, se
recomienda asegurarse de estar familiarizado con estos modelos.

Nota: tenga en cuenta que, mientras las capas del modelo TCP/IP se mencionan solo por el nombre, las siete
capas del modelo OSI se mencionan con frecuencia por número y no por nombre. Por ejemplo, la capa física
se conoce como capa 1 del modelo OSI.

Modelo de referencia del foro mundial de IoT

Al igual que el modelo OSI, el modelo de referencia de IoT consta de siete partes. Sin embargo, las partes se
denominan niveles en lugar de capas. El modelo de referencia de IoT fue desarrollado como un marco de
trabajo común para guiar y acelerar las implementaciones de IoT. El modelo es el resultado de un esfuerzo de
colaboración de los 28 miembros del grupo de trabajo de arquitectura, administración y análisis del Foro
Mundial de IoT. También cuenta con el respaldo del Consorcio Industrial de Internet (IIC).

El objetivo del modelo de referencia de IoT es proporcionar la terminología común y ayudar a aclarar cómo
fluye la información y cómo se la procesa para un sector unificado de IoT.
Como se muestra en la figura, el modelo desglosa el concepto de IoT en siete niveles funcionales, desde
dispositivos físicos y controladores en el nivel 1 hasta la colaboración y los procesos en el nivel 7.

Arquitectura simplificada de IoT

Desarrollar sistemas de IoT para interconectar objetos inteligentes es una tarea compleja. Muchos objetos
inteligentes diseñados por distintos fabricantes presenta restricciones relacionadas con el software de
propiedad exclusiva, lo cual hace que la interoperabilidad sea un desafío. Además, los dispositivos como
sensores, accionadores y controladores tienen restricciones en el ancho de banda, la energía, el tamaño y la
ubicación instalada. Estas restricciones amplían los problemas relacionados con la seguridad y privacidad.

Existen varias arquitecturas que facilitan el diseño y la creación de sistemas de IoT. El modelo OSI, el modelo
TCP/IP y el modelo de referencia del foro mundial de IoT se presentan como ejemplos.

En la actualidad, existen distintas opiniones que optan por un enfoque más sencillo basado en el tipo o nivel
de conexiones entre objetos inteligentes. Cada nivel de conectividad expandida podría tener un conjunto
diferente de problemas de diseño y de requisitos relacionados con la seguridad y la privacidad que deberían
tenerse en cuenta.

Device-to-Device (Figura 1)

Las soluciones IoT suelen admitir un objeto inteligente que se conecta directamente a otro mediante un
protocolo inalámbrico, como Bluetooth o Zigbee. Un ejemplo de este nivel es un sensor que se encuentra en
un viñedo y detecta el suelo seco. Este envía una señal a un accionador, que activa el sistema de riego.

Device-to-Cloud (Figura 2)

En un modelo de comunicación de dispositivo-a-red-a-nube, el dispositivo de IoT se conecta a través de una


red local directamente a un servicio de Internet en la nube mediante conexiones tradicionales Ethernet
cableadas o inalámbricas. Este modelo establece una conexión entre el dispositivo, la red IP y la nube para
permitir el intercambio de datos y los mensajes de control.

Device-to-Gateway-to-Cloud (Figura 3)

Muchos dispositivos inteligentes, como rastreadores de estado, no están habilitados para IP y no tienen la
capacidad nativa de conectarse directamente a la niebla o la nube. Para estos dispositivos, existe un software
de aplicaciones que funciona en un dispositivo de gateway local y actúa como intermediario entre el
dispositivo y el servicio en la nube. El gateway también puede proporcionar traducción de protocolos y datos,
o servicios de seguridad. Para los dispositivos, como los rastreadores de estado, el gateway suele ser una
aplicación que se ejecuta en un smartphone.

Device-to-Gateway-to-Cloud-to-Application (Figura 4)

Otra opción de conexión admite la recopilación y transferencia inteligentes de datos del dispositivo a través de
un gateway a una red IP local. Los datos después fluyen a la niebla o a la nube y están disponibles para que
los usuarios exporten y analicen. Los datos se analizan a menudo junto con datos de otras fuentes u otros
servicios en la nube.

El conocimiento de los cuatro niveles básicos de conexiones garantizará que se preste atención a la
interoperabilidad y los estándares abiertos del dispositivo. Estos son los aspectos clave a tener en cuenta en
el momento de desarrollar un sistema de IoT interconectado.

Conexiones dentro de las redes


Existen significados múltiples y complementarios de la palabra “conexión” al diseñar, configurar o solucionar
problemas relacionados con los sistemas de IoT.

En primer lugar, los dispositivos deben “estar conectados” a algún tipo de fuente de energía. Los tipos de
conexiones para la energía incluyen baterías, conexiones directas a alimentación de CA, fuentes de
alimentación externa (convertir CA a CC), y alimentación por Ethernet (PoE). La mayoría de los dispositivos se
conectan con la matriz de energía local, como un tomacorriente de pared. Sin embargo, los dispositivos de IoT
también se utilizan en ubicaciones remotas donde el acceso a la energía es limitado o no se encuentra
disponible. En estas situaciones, la recolección de energía se lleva a cabo a partir de la luz (células solares),
la vibración (elementos piezoeléctricos de la presión) o la diferencia de temperatura (termocupla) para
alimentar los dispositivos.

Un segundo significado de la palabra “conexión” se relaciona con los cables y el circuito utilizados en los
dispositivos de IoT. Todos los dispositivos de IoT poseen circuitos que interconectan sus sensores,
accionadores, y controladores juntos. Para simplificar este proceso al diseñar prototipos de nuevos
dispositivos, suele utilizarse una placa de prueba sin soldaduras. Una placa de prueba sin soldaduras es una
forma flexible de establecer conexiones electrónicas a nivel del circuito para todos los tipos de componentes.
Por ejemplo, en la figura, Raspberry Pi está conectado a una placa de prueba que ofrece acceso a LED,
resistores y circuitos integrados.

Un tercer significado de la palabra “conexión” se relaciona con los enlaces de red de OSI de las capas 2 y 3.
Este es el significado más importante que debe tenerse en cuenta al hacer referencia a los dispositivos de IoT.
En las siguientes páginas, se describen los medios, protocolos y estándares requeridos para lograr
conexiones de red.

Conexiones físicas

Los dispositivos de IoT utilizan tres medios para comunicarse:

• Cobre: las redes utilizan medios de cobre porque son económicos, fáciles de instalar y tienen baja
resistencia a la corriente eléctrica. Sin embargo, estos medios están limitados por la distancia y la
interferencia de señal. Por lo tanto, todos los medios de cobre deben seguir limitaciones de distancia
estrictas según lo especifican los estándares que los rigen.

• Fibra óptica: los cables de fibra óptica pueden viajar significativamente mayores distancias que los
cables de cobre debido a su inmunidad a la interferencia de señal. El dispositivo emisor transmite los
bits binarios como impulsos de luz mediante LED o láseres. El dispositivo de recepción usa fotodiodos
para detectar los pulsos de luz y convertirlos en voltaje. Los cables de fibra óptica se clasifican
ampliamente como fibra óptica monomodo (SMF) y fibra multimodo (MMF). El SMF consta de un núcleo
muy pequeño que utiliza tecnología láser costosa para enviar un único haz de luz a través de grandes
distancias que abarcan cientos de kilómetros. El MMF consta de un núcleo más grande y utiliza
emisores LED para enviar pulsos de luz. El MMF es popular en implementaciones de LAN ya que puede
admitir 10 Gb/s por enlaces de 550 metros.

• Inalámbrico: la tecnología inalámbrica consiste en una amplia variedad de opciones de conexión, como
señales, frecuencias de radio y microondas, y enlaces satelitales.

Todos los conectores de cobre y de cable de fibra cumplen con los estándares de capa física específicos.
Estos estándares especifican las dimensiones mecánicas de los conectores y las propiedades eléctricas
aceptables de cada tipo. Estos medios de red utilizan conectores modulares para facilitar la conexión y la
desconexión.

Conexiones de red y enlace de datos


Al proporcionar energía a los componentes, todos los dispositivos cumplen con los estándares estrictos según
lo especificado por las agencias gubernamentales. No se requieren protocolos para suministrar correctamente
energía. Por ejemplo, se enchufa simplemente el componente a un tomacorriente de pared y se activa el
dispositivo.

La comunicación de red, por otra parte, requiere el uso de protocolos para establecer reglas de comunicación.
Los mensajes solo se pueden intercambiar correctamente entre los dispositivos utilizando protocolos
comúnmente aceptados.

La capa de enlace de datos más popular (capa 2) utilizada en redes cableadas es Ethernet. Ethernet es un
protocolo de capa 2 que ofrece tramas entre los dispositivos de una LAN. Otros protocolos de enlace de datos
de uso general incluyen estándares inalámbricos, como IEEE 802.11 (Wi-Fi), IEEE 802.15 (Bluetooth), y redes
celulares 3G o 4G.

Existen varias tecnologías emergentes cuya finalidad consiste en admitir la conectividad de las "cosas" en la
IoT, como:

• LoRoWAN: una red de área amplia de bajo consumo

• IoT de banda angosta "(NB-IoT, Narrowband IoT)": una nueva forma de comunicación con las “cosas”
que requiere de pequeñas cantidades de datos durante períodos prolongados en lugares de difícil
acceso.

• Redes urgentes: Ethernet mejorada que admite aplicaciones sensibles a la latencia y que requieren de
un rendimiento de red determinado.

Los protocolos de capa de enlace de datos son responsables de varias actividades:

• Permite a las capas superiores acceder a los medios.

• Acepta paquetes de capa 3 y los encapsula en tramas

• Prepara los datos de red para la red física.

• Controla la forma en que los datos se colocan y reciben en los medios.

• Intercambia tramas entre los nodos en un medio de red físico, como cobre o fibra óptica.

• Recibe y dirige paquetes a un protocolo de capa superior.

• Lleva a cabo la detección de errores.

Los protocolos de la capa 3 son responsables de proporcionar la dirección para llegar a las redes remotas. La
capa de red más común (capa 3) utilizada en conexiones de red y en Internet es el protocolo IP.

En la figura, el usuario de PC1 envía un archivo al servidor web en otra red. Es importante destacar que todos
los dispositivos de redes tienen que llegar a un acuerdo respecto del uso de Ethernet e IPv4 para que las
comunicaciones de la red sean posibles.

Conexiones de aplicaciones
IoT admite muchos tipos de conexiones: máquina a máquina (M2M), máquina al gateway (M2G), y máquina a
la nube (M2C). Los dispositivos deben usar los mismos protocolos de capa de aplicación para conectarse. La
aplicación variará según los dispositivos y el tipo de conexión implicada.

En la figura 1, se muestra un ejemplo conocido de un cliente que utilizará el protocolo HTTP para comunicarse
con el servidor web. El servidor web está configurado y se administra de manera tal de permitir que las
personas interactúen con una página web.

Los protocolos de capa de aplicación más recientes, como MQTT y REST, han surgido para admitir
dispositivos de IoT que se conectan a infinidad de diferentes tipos de configuraciones remotas.

El Transporte de telemetría de mensajes en colas (MQTT) es un protocolo de envío de mensajes ligeros con
la sobrecarga mínima que proporciona alta integridad de datos y seguridad para entornos remotos.

La transferencia de estado representativa (REST), o servicio web RESTful, es un tipo de API diseñado para
facilitar la interacción de los programas con Internet. REST permite el uso del protocolo HTTP y de URL para
solicitar servicios web.

Ambos protocolos se analizarán con más profundidad en capítulos posteriores.

¿Qué son los metadatos?

El término “metadatos” significa datos sobre los datos. Los metadatos pueden incorporarse dentro de un
objeto digital o almacenarse de forma separada. Por lo general, los usuarios no ven los metadatos. Por
ejemplo, un encabezado de correo electrónico contiene información al principio que representa la ruta que
recorrió un correo electrónico para llegar hasta usted, el nombre y la información IP del destinatario del correo
electrónico, el nombre y la información IP de la persona que envió el correo electrónico, y la fecha y hora de
envío del correo electrónico. Esta información se considera metadatos. Los metadatos pueden contener
información personal y descriptiva, o información administrativa. Una fotografía digital puede contener la hora
y la ubicación de GPS relacionadas con el lugar en que se tomó la fotografía. También puede contener
configuración de la exposición e información sobre el modelo de la cámara.

Las organizaciones pueden recopilar, almacenar y analizar los metadatos con un buen fin. Entre las
organizaciones, pueden mencionarse gobiernos, organizaciones y proveedores de servicios de salud. Los
datos se pueden utilizar para respaldar las iniciativas del gobierno, las tendencias emergentes de compras o
para mejorar el acceso a los médicos y a las clínicas en las guardias. Los metadatos se pueden utilizar para
almacenar y archivar datos. Lamentablemente, la información en los metadatos también puede utilizarse de
mala fe y usarse para invadir nuestra privacidad, seguir nuestros movimientos o, tal vez, robarnos dinero o
identidad.

En algunas aplicaciones, los metadatos pueden desactivarse. Esto suele hallarse en la


ficha Configuración u Opciones. Como cada aplicación es diferente, consulte la documentación para ver si
es posible.

En la figura 1, se muestra cómo ver un encabezado de Gmail y en la figura 2 se muestra un ejemplo de


metadatos que preceden un correo electrónico.

El impacto de IoT en la privacidad

Muchos sistemas de IoT han sido diseñados para supervisar y regular personas y entornos físicos. Estos
sistemas y dispositivos de IoT pueden activar la creación de grandes volúmenes de metadatos. La persona
debe poder confiar en que la información de identificación personal (PII) que se recopile sobre su persona se
mantiene segura y de manera confidencial. La PII es toda información que pueda identificar, servir para
contactarse o localizar a una persona. La PII también puede combinarse de diferentes orígenes para
identificar elementos relacionados con las características individuales o el estilo de vida de una persona. Para
proteger a los individuos e inspirar confianza, deben diseñarse nuevos sistemas de IoT teniendo en cuenta la
privacidad y la seguridad desde el comienzo.

Sugerencias y consideraciones de diseño con respecto a la privacidad:

• Transparencia: la persona debe saber qué tipo de datos personales se recopilan, por qué se recopilan
los datos y dónde se almacenan. Esta transparencia en la recopilación y el procesamiento de los datos
aliviará las inquietudes y evitará situaciones desagradables, tanto para los propietarios como para los
usuarios de objetos inteligentes.

• Recopilación y uso de los datos: los dispositivos inteligentes deberían almacenar únicamente datos
personales que resulten pertinentes en relación con la finalidad para la cual se los recopila. Los datos
que ocultan la identidad de la persona deben utilizarse cuando sea posible.

• Acceso a los datos: antes de que se implementen nuevos sistemas, los diseñadores deben determinar
quién puede acceder a los datos personales recopilados por objetos inteligentes y bajo qué condiciones.
Si se establecen y promueven procedimientos adecuados y definidos, la persona afectada por los
dispositivos puede tener su propio criterio respecto de cómo utilizar el sistema.

Para cubrir las cuestiones relacionadas con la privacidad, el software, el hardware y los servicios, los
proveedores nos piden que leamos y aprobemos los documentos de Términos de servicio y Acuerdos. Todos
tendemos a marcarlos como leídos, porque son demasiado largos y están repletos de jerga legal. La próxima
vez que instale nuevo software o hardware, le recomendamos que se tome el tiempo necesario para leer los
Términos de servicio desde la perspectiva de la privacidad y la seguridad de sus datos personales. Tal vez, le
resulte interesante.

Desafíos de seguridad de los dispositivos de IoT

Las innovaciones y las tecnologías emergentes en el espacio de IoT tienen un impacto en nuestra vida
cotidiana. Podemos experimentar de mejor manera el entorno físico, realizar un seguimiento de la actividad
física de un individuo, monitorear los dispositivos médicos integrados, optimizar el procesamiento y simplificar
el tráfico y la congestión en el estacionamiento en tiempo real. Para mantenerse al día con la tecnología y los
competidores, los dispositivos de IoT han sido desarrollados con capacidades de conectividad de red
necesaria, aunque no suelen implementar seguridad de red sólida. La seguridad de la red es un factor
fundamental al implementar dispositivos de IoT. Estos son algunos factores que afectan la seguridad de la red
en IoT:

• Creciente cantidad de dispositivos: la cantidad de sensores interconectados y dispositivos


inteligentes crece exponencialmente, lo cual aumenta la oportunidad para que se produzcan ataques.
Los sensores y los dispositivos inteligentes tienden a ser pequeños dispositivos, con distintos sistemas
operativos, tipos de CPU y memoria. Se espera que muchas de estas entidades sean dispositivos
económicos y de una sola función con conectividad de red rudimentaria. Analice el ejemplo de un
propietario que compra un sistema de seguridad y monitoreo para su hogar. Este sistema está diseñado
para realizar un control de la temperatura y la luminosidad en cada habitación, y de la frecuencia y el
tiempo de apertura y cierre de las puertas. Estos datos se pueden almacenar localmente en la
computadora del propietario de la casa, pero probablemente se carguen y almacenen en el sistema de
proveedor o en la nube. Pronto, todos los vecinos optarán por usar el mismo sistema. El uso de este
sistema luego se extiende a la ciudad. Esto da como resultado una creciente cantidad de sensores y
más datos recolectados exponencialmente. Deben seguirse estos métodos para garantizar la
autenticidad, la integridad y la seguridad de los datos, la ruta del sensor al recopilador y la conectividad
al dispositivo.

• Ubicación no tradicional de dispositivos: algunos dispositivos conectados de IoT pueden interactuar


con el mundo físico. Ahora se encuentran en dispositivos, automóviles o en nuestros organismos y
hogares. Los sensores pueden recolectar datos sobre el refrigerador o los sistemas de calefacción.
Podrían también estar ubicados en faroles de la ciudad o estar colocados en los troncos de los árboles.
Estas ubicaciones no tradicionales hacen que resulte difícil lograr la seguridad física. Los atacantes
pueden tener acceso físico directo a los dispositivos de IoT. Dada la naturaleza altamente
interconectada de los dispositivos de IoT, esto puede crear una situación en la que un enlace débil en
un pequeño sensor o en el accionador podrían comprometer la seguridad a nivel local o global.

• Tipo y cantidad cambiantes de datos recopilados: los dispositivos de IoT con sensores habilitados
recopilan cada vez más datos de carácter personal. Los rastreadores utilizables de estado físico, los
sistemas de supervisión hogareños, las cámaras de seguridad y las transacciones con la tarjeta de
débito son todos sistemas que recopilan datos personales así como datos ambientales. Suelen
combinarse datos de distintos orígenes y los usuarios no están informados de esta situación. La
combinación de los datos de monitoreo del estado físico con los datos de monitoreo de la casa podrían
generar puntos de datos para ayudar a rastrear los movimientos o la ubicación de un propietario. Este
tipo de recopilación cambiante de datos y la agregación pueden utilizarse para fines positivos y
contribuir al entorno. También aumenta la posibilidad de que se produzca una invasión de nuestra
privacidad, robo de identidad y espionaje corporativo.

• Falta de posibilidad de actualización: los dispositivos de IoT con sensor habilitado pueden estar
ubicados en lugares remotos y/o inaccesibles en los que la intervención o configuración humana se
torna prácticamente imposible. Estos dispositivos también pueden contener la tecnología básica
diseñada para una sola tarea sencilla. Los dispositivos con frecuencia están diseñados para mantenerse
en servicio muchos años más que lo normal para un equipo tradicional de alta tecnología. Es posible
que estos dispositivos sobrevivan a la empresa que los creó. Esto abre la posibilidad de haber instalado
dispositivos sin medios de soporte a largo plazo. Algunos dispositivos de IoT han sido diseñados
intencionalmente sin la capacidad de actualizarse, o pueden ser implementados en situaciones que
hacen que resulte difícil o imposible reconfigurarlos o actualizarlos. Todo el tiempo se descubren nuevas
vulnerabilidades. Si un dispositivo no puede actualizarse, la vulnerabilidad existirá para el resto de su
vida. Si un dispositivo se puede actualizar, las compañías fabricantes deben comprender que es posible
que el consumidor típico no tenga un contexto de tecnología, por lo tanto, el proceso de actualización
debe realizarse automáticamente o ser lo suficientemente sencillo como para que lo ejecute un lego.

Antes de implementar un nuevo sistema de IoT, deben elaborarse medidas de seguridad para abordar la
mayor cantidad de vulnerabilidades de seguridad como sea posible. Como mínimo, deberían estar
implementadas medidas de seguridad de datos estandarizadas para evitar el acceso, la modificación o la
pérdida ilegal de datos de objetos inteligentes. Deberían utilizarse encriptación sólida y marcos de trabajo de
autenticación para limitar el riesgo de vulnerabilidades.

En la figura, se describen los aspectos de seguridad a tener en cuenta que deberían afectar el diseño de un
dispositivo de IoT, conforme lo propone el IETF.

Capítulo 1: Cosas y conexiones

Internet de las cosas (IoT) nos rodea. Un sistema de IoT generalmente se compone de sensores que
monitorean eventos, accionadores que influencian el entorno, hardware que crea plataformas y conexiones, y
software que proporciona un marco de trabajo para ejecutar procesos.

Un proceso es una serie de pasos o acciones adoptada para lograr un resultado deseado.

Los modelos de redes en capas se usan para ilustrar y modelar la forman en que se comunican los
dispositivos. Las capas física, de enlace de datos y de red son conceptos que se utilizan para demostrar de
qué manera funciona la comunicación de la red.

En todas las etapas de creación de un sistema de IoT, deben tenerse en cuenta los problemas relacionados
con la seguridad y la privacidad. Cada nivel de conectividad trae aparejados distintos requisitos e inquietudes.
¿Qué es la electrónica?

Utilizamos dispositivos electrónicos todos los días: teléfonos celulares, televisores y muchos otros dispositivos
y herramientas. ¿Con qué frecuencia nos detenemos a pensar cuál es el campo de la electrónica? La palabra
"electrónica" deriva de "electrón", el cual es el origen de la carga eléctrica. La electrónica es el campo de
estudio centrado en el control de la electricidad y los componentes físicos y los circuitos que ayudan a dirigir la
energía eléctrica.

El mundo de IoT se basa en varias tecnologías, una de las cuales consiste en aumentar la disponibilidad de
los sensores electrónicos de bajo costo. Un sensor es un componente electrónico que transforma una
cantidad física, como puede ser la temperatura de un ambiente, la posición de un brazo robótico o el nivel de
azúcar en sangre, en una señal eléctrica. La señal eléctrica que genera el sensor luego se transforma en una
señal digital que procesa un sistema informático muy simplificado denominado microcontrolador. Este capítulo
aborda los conceptos básicos para comprender de qué manera la electrónica es necesaria para hacer el
prototipo de una solución de IoT.

Haga clic aquí para ver una lista de diversos sensores.

Si desea conocer de qué manera los dispositivos electrónicos controlan la corriente eléctrica debe tener un
conocimiento básico de lo que es la corriente eléctrica.

Definiciones

• La corriente eléctrica se crea a partir del movimiento de los electrones. La corriente fluye en un ciclo
cerrado y es uniforme en todos los puntos de ese ciclo.

• Los electrones, junto con los protones y los neutrones, conforman los átomos. La carga básica de un
electrón se mide en términos de coulombs. Un coulomb de carga es igual a la cantidad de carga
transportada por un amper en un segundo.

• Los átomos son los bloque de creación de todos los elementos y la materia. Los electrones transportan
las cargas negativas y son atraídos a los protones con carga positiva dentro del núcleo del átomo.

• Los elementos químicos en la tabla periódica están compuestos por diferentes tipos de átomos. La
atracción entre los átomos y sus electrones externos es más fuerte en algunos elementos que en otros.

• Los conductores eléctricos son materiales con elementos que tienen una atracción débil entre los
átomos y sus electrones. En elementos conductores, los electrones tienden a pasar de un átomo a otro.
Entre algunos ejemplos de conductores eléctricos se incluyen metales como el cobre, el oro y la plata.

• Los aislantes eléctricos son materiales compuestos por elementos que atraen con fuerza sus
electrones, los cuales nunca abandonan el átomo. Entre algunos ejemplos de materiales que funcionan
como aislantes eléctricos se incluyen la madera seca, el vidrio, y diversos materiales de goma.

• El voltaje es la fuerza que transporta la corriente, también llamada presión eléctrica. El voltaje se mide
como la diferencia de energía potencial eléctrica entre dos puntos.

• Los amperios (A) miden la intensidad de la corriente eléctrica. Son una medida que indica la cantidad
de electrones en una corriente eléctrica. Un amperio por segundo es equivalente a un coulomb que viaja
a través de un circuito en un segundo. Esto equivaldría aproximadamente al flujo de
6,241509×10^18 electrones por segundo.
• La potencia es la cantidad de energía que se consume en un momento determinado. La potencia se
mide en watts. La formula básica de la potencia es potencia = voltaje x corriente

• Un circuito eléctrico es una red física (o modelo de una red física) de componentes eléctricos
interconectados entre los que se incluyen baterías, resistores, capacitores, inductores e interruptores.

Ley de Ohm

Si su objetivo es diseñar, crear, y analizar los circuitos eléctricos, es importante que comprenda la relación
entre voltaje, corriente, y resistencia dentro de un circuito.

A principios del siglo XIX, George Ohm descubrió que el voltaje es constantemente proporcional a la corriente
en un circuito con una fuente fija de resistencia. Ohm publicó su teoría, que se ha convertido en un concepto
fundamental en electrónica, conocida como la ley de Ohm.

Según la ley de Ohm, el voltaje es directamente proporcional a la intensidad de la corriente multiplicada por la
resistencia dentro de un circuito. Expresado de manera sencilla, el voltaje es igual a la corriente multiplicada
por la resistencia (V = I x R), como se muestra en la figura.

Circuito básico

Todos los dispositivos electrónicos comparten un nivel de control preciso de energía eléctrica. Esta control
sucede a través del circuito electrónico. Un circuito es una ruta conductora cerrada que permite que los
electrones fluyan y generen una corriente eléctrica. Para generar una corriente eléctrica el circuito también
necesita una fuente de energía eléctrica, como una batería, para iniciar el flujo de electricidad.

Mientras que un circuito cerrado permite que fluya corriente, un circuito abierto tiene una interrupción en la
ruta que detiene el flujo de la corriente. Un circuito abierto puede crearse colocando un interruptor en la ruta
del circuito. Cualquier dispositivo eléctrico con un interruptor de encendido y apagado crea un circuito que
puede ser abierto o cerrado.

A diferencia de los circuitos abiertos y los cerrados, un cortocircuito, en general, no se diseña. Un cortocircuito
ocurre cuando una conexión accidental entre dos puntos del circuito se desvía de la ruta regular. Debido a que
la corriente eléctrica toma, normalmente, la ruta de menor resistencia, los cortocircuitos pueden hacer que el
exceso de corriente sobrecargue los componentes. Esto ocasiona un recalentamiento y da lugar a situaciones
inseguras, como la fundición de cables, la falla de componentes y la posibilidad de un incendio eléctrico.

La figura representa un circuito simple que usa una batería para alimentar un diodo emisor de luz (LED). En la
figura, se ve un diagrama o esquema de un circuito que muestra todos los componentes del circuito y la
manera en que están conectados.

La batería suministra 6 voltios de corriente directa al circuito. El signo más (+) cerca del símbolo de la batería
indica la terminal positiva de la batería. Según un concepto antiguo de la electricidad, hoy conocido como
corriente convencional, la corriente eléctrica tiene carga positiva y fluye desde la terminal positiva a la
negativa. En los esquemas que usan la corriente convencional esto se indica con una flecha y la letra I. Hoy
en día, aún se utiliza esta convención de etiquetado, aunque ahora se entiende que el flujo de la corriente es
el exactamente opuesto: la corriente eléctrica fluye desde el terminal negativo al terminal positivo y está
compuesta de electrones con carga negativa. La mayoría de los esquemas eléctricos utilizarán la corriente
convencional aunque el flujo de electrones sea opuesto al diagramado. En este curso, utilizaremos la corriente
convencional para describir el flujo de la corriente, pero cabe recordar que, en realidad, el flujo de electrones
es el opuesto.

Las líneas en el diagrama del circuito muestran cómo los componentes están conectados, ya sea con cable u
otros conectores. Los componentes electrónicos suelen estar hechos con terminales. Las terminales son
cables que sobresalen, que se conectan al interior de los componentes y proporcionan un modo de conectar
el componente con otros elementos del circuito.

El símbolo de zigzag en la parte superior del diagrama representa un resistor. El rol del resistor es limitar la
cantidad de corriente que circula por el circuito. La resistencia se mide en ohmios (simbolizados con Ω) y el
resistor en este circuito evita que el LED reciba demasiada corriente y se destruya.

El LED se simboliza con un triángulo que tiene un segmento de línea en un extremo y dos flechas que
apuntan hacia afuera. La parte triangular del símbolo representa un diodo y las dos flechas que apuntan hacia
afuera representan el hecho de que este diodo emite luz. Los diodos son parte de una clase especial de
componentes electrónicos conocidos como semiconductores.

Circuitos en serie y en paralelo

Los componentes de un circuito eléctrico se pueden interconectar de diferentes maneras.

En un circuito en serie los componentes se interconectan uno después del otro en una ruta entre las
terminales positiva y negativa de la fuente de alimentación, como se muestra en la figura de la izquierda. La
corriente eléctrica viaja a través de cada componente en una forma lineal. Un ejemplo de un circuito en serie
se puede apreciar en una serie de luces decorativas en las que cada lámpara está conectada a la siguiente,
una después de otra.

En un circuito en paralelo, la corriente fluye desde el terminal de la batería, pero se divide en un punto del
cual salen rutas paralelas a través del circuito. Los componentes conectados a lo largo de cada ruta obtienen
su propia parte de corriente, como se muestra en la figura de la derecha. En un circuito en paralelo se pueden
alimentar varios componentes, como LED. Sin embargo, ya que cada componente obtiene su propio
suministro de energía, si algún componente o LED fallara, no se detendría la corriente y esta seguiría fluyendo
a las otras rutas y alimentando a los otros componentes o LED. De esta manera, un circuito en paralelo podría
resolver el problema frecuente de las series de luces, que genera que todas las luces dejen de funcionar
cuando una de ellas falla y el circuito se abre.

Si bien la elección entre un circuito en serie o en paralelo depende del uso que se le vaya a dar, la fuente de
alimentación debe ser lo suficientemente potente como para proporcionar energía a todo el circuito en ambos
casos.

Circuitos pasivos, activos, lineales y no lineales

En otras palabras, los componentes electrónicos que producen energía son activos y crean circuitos no
lineales. Los componentes que almacenan o mantienen la energía son pasivos y crean circuitos lineales.

En un circuito, un componente activo es un dispositivo que puede controlar la corriente eléctrica con una
fuente externa de alimentación, ya sea voltaje eléctrico o corriente eléctrica. La parte del circuito que
suministra energía al componente activo se denomina corriente continua (CC) del circuito. Un circuito activo
es aquel con, al menos, un componente activo. Los componentes activos proporcionan ganancia de potencia
o amplificación que produce una señal de voltaje discontinua o no lineal. Entre los componentes activos se
incluyen los diodos, los transistores y los rectificadores controlados de silicio (SCR, silicon controlled
rectifiers). Entre los ejemplos de circuitos no lineales se incluyen los mezcladores, moduladores y circuitos
lógicos digitales.

Los componentes que son incapaces de controlar la corriente mediante otra señal eléctrica se denominan
dispositivos pasivos. Un circuito electrónico compuesto en su totalidad por componentes pasivos se llama
circuito pasivo. Los resistores, capacitores, inductores y transformadores se consideran dispositivos pasivos.
Los componentes pasivos no pueden introducir energía en un circuito. Solo pueden depender de la fuente de
alimentación que tengan disponible gracias al circuito al cual están conectados. Los componentes pasivos no
pueden aumentar la potencia de una señal, aunque pueden incrementar el voltaje o la corriente. El
procesamiento de la señal en un circuito pasivo puede ser continuo o analógico.

Los circuitos analógicos son aquellos en los que la señal es continua; la alimentación puede tomar cualquier
valor entre ninguna potencia y potencia total. Los circuitos digitales presentan una señal discreta, ya sea con
valores que indiquen potencia cero o potencia total (todo o nada), sin pasos intermedios. Un circuito lineal es
aquel en el que los valores de los componentes electrónicos (resistores, capacitores, inductores, etc.). no
cambian con el nivel de voltaje o la corriente en el circuito. Los circuitos lineales son importantes porque
pueden amplificar y procesar señales electrónicas sin distorsión. Un ejemplo de un dispositivo electrónico que
utiliza circuitos lineales es un sistema de sonido. Un circuito lineal no tiene ningún componente electrónico no
lineal. Entre algunos circuitos lineales se incluyen los amplificadores, diferenciadores, integradores y filtros
electrónicos lineales.

Corriente continua frente a corriente alterna

La corriente continua (CC) es un tipo de corriente en el cual el flujo de electrones circula en un solo sentido.
Es producida por fuentes como baterías, fuentes de alimentación, termopares, células solares o dínamos. La
corriente continua se utiliza para cargar baterías y como fuente de alimentación para sistemas electrónicos.
Se puede obtener a partir de la corriente alterna (CA) mediante un rectificador que convierte la CA en CC. Los
rectificadores fuerzan la corriente para que circule en una única dirección y se encuentran, con frecuencia, en
las fuente de alimentación de CA a CC.

La corriente alterna es una corriente eléctrica en la que el sentido de circulación del flujo se revierte de
manera regular. La CA es la forma en la que la energía eléctrica se suministra a los negocios y las
residencias. La forma de onda usual de corriente alterna en la mayoría de los circuitos eléctricos es una onda
senoidal. En ciertas aplicaciones, se usan diferentes formas de onda, por ejemplo ondas triangulares o
cuadradas. La corriente alterna es producida en plantas de energía eléctrica mediante el aprovechamiento de
diversas formas de energía mecánica (agua que fluye desde una presa o los giros de una turbina eólica) para
mover alternadores de gran escala. Los alternadores luego transforman la energía mecánica en electricidad.
La corriente continua producida por una planta solar se puede convertir en corriente alterna con un inversor o
un conjunto motor-generador.

Circuitos analógicos frente a circuitos digitales

Los circuitos analógicos son aquellos en los que la corriente o el voltaje puede variar de forma continua con
el tiempo de manera que correspondan con la información que está representada. Los circuitos analógicos se
utilizan en circuitos de administración de energía, sensores, amplificadores y filtros.

Los circuitos digitales tienen señales eléctricas que toman dos valores discretos que corresponden al nivel
de voltaje. Estos valores son binarios y se representan como 1/0, encendido/apagado o alto/bajo. En los
circuitos digitales, se usa codificación binaria: un voltaje representa un 1 binario y otro voltaje, en general, con
un valor cercano al potencial de tierra, o a 0 voltios, representa un 0 binario, como se muestra en la figura. Los
circuitos digitales pueden estar diseñados para proporcionar operaciones lógicaa y de memoria mediante la
interconexión de estas señales binarias, lo que les permite ejecutar funciones arbitrarias de cómputo.

Los circuitos integrados son circuitos miniaturizados producidos en una sola pieza de material
semiconductor. Los circuitos integrados se conocen como chips y pueden tener de cientos a miles de millones
de componentes electrónicos integrados en un único chip.

Componentes

Los componentes electrónicos son dispositivos especializados que se usan en un circuito para controlar la
corriente. Entre algunos ejemplos de componentes electrónicos se incluyen los cables, interruptores,
resistores, capacitores, diodos, transistores, inductores y circuitos integrados, tal como se muestra en la
figura. Los componentes electrónicos tienen al menos dos terminales eléctricas o cables. Los cables se
conectan para crear un circuito electrónico con una función en particular, como puede ser la de un
amplificador, un receptor de radio o un oscilador. Los componentes electrónicos pueden ser elementos
individuales, matrices o redes de componentes similares, o pueden estar integrados en paquetes como es el
ejemplo de los circuitos integrados.

Componentes electrónicos más grandes

Hay componentes electrónicos que pueden usarse para proporcionar mayores cantidades de energía eléctrica
para alimentar motores y maquinarias grandes. El campo magnético producido por una corriente que atraviesa
una bobina de cable puede usarse para ejercer una fuerza mecánica en cualquier objeto magnético. La fuerza
magnética puede activarse o anularse mediante la conducción o no de corriente (encendido/apagado) a través
de la bobina.

Si coloca un objeto magnético cerca de la bobina con el fin de moverlo, al activar la bobina, se obtiene un
solenoide. El objeto magnético móvil se denomina armadura. Los solenoides pueden usarse para abrir
eléctricamente los pestillos de las puertas, abrir o cerrar válvulas, mover los miembros robóticos e incluso
accionar los mecanismos de interruptores eléctricos. Si un solenoide se usa para accionar un conjunto de
contactos de interruptor se denomina relé.

Los relés son extremadamente útiles cuando existe una necesidad de controlar una gran cantidad de corriente
o voltaje con una pequeña señal eléctrica. La bobina del relé que genera el campo magnético puede consumir
solo fracciones de un vatio de potencia, mientras que los contactos cerrados o abiertos por ese campo
magnético pueden conducir cientos de veces esa cantidad de energía a una carga.

En la figura, la bobina del relé se activa por una fuente de bajo voltaje (12 VCC), mientras que el contacto de
un polo y un recorrido (SPST, single-pole, single-throw) interrumpe el circuito de alto voltaje (480 VCA). Es
muy probable que la corriente requerida para accionar la bobina del relé sea cientos de veces menor que la
capacidad de corriente del contacto. En general, las corrientes de bobinas de relés están por debajo de 1 A (1
amperio), mientras que las capacidades típicas de contacto para relés industriales son, por lo menos, de 10 A
(10 amperios).

Práctica de laboratorio: el osciloscopio digital

En esta práctica de laboratorio, utilizará la herramienta web de simulación para circuitos Falstad ubicada a la
izquierda para familiarizarse con formas de onda y componentes electrónicos básicos. Navegue
hasta Circuitos > Básico > LED básico. Debe ver un circuito simple, con diodos emisores de luz (LED, Light
Emitting Diodes) conectado a una batería de 5 V y un resistor.

Haga clic en el enlace a continuación para descargar las instrucciones de laboratorio.

Práctica de laboratorio: el osciloscopio digital

Créditos:

Herramienta de simulación para circuitos Falstad: http://www.falstad.com/circuit/

Puerto de JavaScript de Iain Sharp de la herramienta de simulación para circuitos


Falstad: http://lushprojects.com/circuitjs/

Fase de diseño

La etapa de diseño consta de los siguientes pasos:


1. Concepto: Esta es la idea inicial.

2. Investigación: Esta es la investigación detallada sobre la tecnología necesaria, los proveedores posibles,
los costos de materiales y diseño y un estudio de viabilidad.

3. Diseño de circuito: Estos son los diagramas esquemáticos, los diseños de circuitos impresos y los diseños
de gabinetes de los productos.

El diagrama en la figura se denomina diagrama de circuito. Es una representación gráfica de un circuito


eléctrico. Un diagrama de circuito muestra los componentes y las interconexiones del circuito mediante
representaciones simbólicas estandarizadas. La presentación de las conexiones entre los componentes del
circuito en el diagrama no corresponde necesariamente con su disposición física en el dispositivo terminado.
Un diagrama de circuito ilustrado utiliza imágenes simples de los componentes y de la conexión física.

Fase de prototipo

La etapa de armado del prototipo consta de los siguientes pasos:

1. Hardware, mecánica, y desarrollo de software: El software es una parte importante del proyecto. Al igual
que el hardware, debe comenzar con el diseño de alto nivel.

2. Diseño de PCB: El diseño de la placa de circuito impreso (PCB, Printed Circuit Board) es un elemento
esencial en el desarrollo de la electrónica del hardware. Las pruebas de integridad de la señal se deben
realizar como parte de esta actividad. En general, se utilizan paquetes de software CAD para crear los diseños
de PCB.

3. Armado de prototipos: Arme el prototipo del producto final, incluidos los gráficos y el empaque.

4. Prueba del producto: Antes de pasar a la siguiente fase, se requieren pruebas exhaustivas de los
productos y un examen de aptitud operativa (TRR, Test Readiness Review).

Placa de pruebas sin soldaduras

Una placa de pruebas sin soldaduras es una herramienta que se usa de manera habitual en el armado de
prototipos electrónicos. Esta placa permite crear circuitos temporales mediante la conexión de los
componentes en los orificios dispuestos en filas y columnas a través de la superficie, tal como se muestra en
la Figura 1. Los circuitos pueden crearse y desarmarse rápidamente conectando y desconectando los
componentes, como resistores y LED, en varias filas y columnas. Los orificios de la placa de pruebas son
orificios de contacto con rieles de cobre debajo de la superficie plástica, tal como se muestra en la Figura 2.
Debido a que la placa de pruebas no tiene soldaduras, es una herramienta reutilizable para fabricar prototipos
lo que facilita la creación de prototipos temporales y la experimentación con el diseño de circuitos.

Fase de producción

La etapa de producción consta de los siguientes pasos:

1. Examen de aptitud de producción: Este paso debe llevarse a cabo antes de que se inicie la producción
del producto.

2. Producción: A esta altura del proceso, todo el equipo debe haber sido probado.

3. Mantenimiento continuo: Incluso cuando un producto ha ingresado en producción, el mantenimiento


continuo del diseño es necesario. Deberán abordarse la obsolescencia de los componentes, los problemas de
diseño que hayan pasado inadvertidos, las mejoras menores y otras cuestiones.
Placa de circuito impreso (PCB)

La placa de circuito impreso (PCB), la cual se muestra en la ilustración, sirve de soporte mecánico para los
componentes electrónicos y los conecta eléctricamente. Una PCB usa pistas conductivas, tableros y otras
características grabadas a partir de hojas de cobre y laminadas sobre un sustrato no conductor. Los
componentes, como los condensadores, resistores o dispositivos activos, en general, se sueldan a la PCB.

Las PCB pueden ser de una sola cara (una capa de cobre), de doble cara (dos capas de cobre) o multicapa
(capas externas e internas). Los conductores en las diferentes capas están conectados mediante pequeñas
aperturas en la placa llamadas vías. Las PCB multicapa admiten muchos más componentes que las de cara
simple o doble cara del mismo tamaño.

Las PCB se usan en todos los productos electrónicos, excepto en los más simples. Entre las alternativas a las
PCB se incluyen la conexión enrollada y la conexión punto a punto. Si bien las PCB requieren un esfuerzo
adicional en el diseño para la disposición del circuito, la fabricación y el ensamblaje se pueden automatizar. La
manufactura de circuitos con PCB es más económica y más rápida que con otros métodos de cableado, ya
que los componentes se montan y conectan por cables con una sola parte. Además, se eliminan los errores
de cableado del operador.

Diseño de un circuito de principio a fin

En esta práctica de laboratorio se cumplirán los siguientes objetivos:

• Use una placa de pruebas para diseñar un circuito en la vista del laboratorio de Autodesk 123D.

• Diseñe la placa de circuito impreso mediante la vista de PCB de Autodesk 123D.

Práctica de laboratorio: diseño de un circuito de principio a fin

Introducción al SparkFun Inventor's Kit

El SparkFun Inventor's Kit (SIK) es un excelente kit para aquellos que se inician en la construcción de
circuitos. Es una buena opción para introducir a los principiantes en los tipos de sensores y accionadores
utilizados por Internet de las cosas (IoT). El kit incluye una placa de tipo Arduino como una placa de pruebas
sin soldaduras, los cables de conexión y una variedad de sensores y accionadores. Algunos de los
componentes del SIK se muestran en la ilustración y se identifican a continuación:

1. Placa de pruebas sin soldaduras: Utilizada para crear prototipos temporales que permitan experimentar
con diseños de circuito.

2. SparkFun RedBoard: Una placa de tipo Arduino con un microcontrolador ATmega328 que se puede
programar con un cable USB mini-B con Arduino IDE.

3. Cable USB mini-B: Se puede usar para suministrar energía y cargar programas a Redboard.

4. Resistores: Se usan para reducir el flujo de corriente y pueden funcionar con niveles inferiores de voltaje
dentro de los circuitos.

5. Diodos: Un componente electrónico de dos terminales que conduce corriente en un solo sentido.

6. Sensores: Flex, potenciómetro, temperatura, luz o imagen son algunos de los tipos de sensores.

7. Pulsadores: Mecanismo simple de interruptor para controlar algunos aspectos de un proceso.


8. Diodos emisores de luz (LED): Los LED tienen dos terminales, una se denomina ánodo (más larga) y la
otra, cátodo (más corta).

9. Potenciómetro: Una perilla simple que se puede girar para proporcionar una resistencia variable.

10. Cables de acoplamiento: Cables eléctricos cortos con una punta sólida en cada extremo.

11. Servo: Tiene pequeños engranajes integrados y un eje que pueden ser controlados con precisión.

12. Pantalla de cristal líquido (LCD, Liquid crystal display).

13. Relé: Activado por una corriente o señal en un circuito para abrir o cerrar otro circuito.

14. Circuito integrado (CI).

15. Motor de CC: Convierte la energía eléctrica de una corriente continua en energía mecánica.

Microcontrolador Arduino

Una computadora se puede programar para detectar un evento desencadenado por un sensor, y luego se
puede realizar una acción basada en ese evento. Los microcontroladores son una excelente plataforma para
realizar estas tareas por su tamaño reducido y los escasos requisitos de alimentación. Una unidad de
microcontrolador (MCU, microcontroller unit) es una computadora simple diseñada y construida en un factor
de forma pequeño. Cuando están emparejados con sensores o accionadores, los microcontroladores se
pueden programar para que funcionen a partir de desencadenantes. El Arduino, como se muestra en la Figura
1, es un microcontrolador popular para el armado de prototipos.

Las placas Arduino pueden interpretar datos recibidos, tales como la luz en un sensor, el dedo en un botón o
un mensaje de Twitter. Después pueden convertir los datos recibidos en un resultado, como encender un
motor, encender un LED o realizar una publicación en línea. Todo esto se define por un conjunto de
instrucciones programadas mediante el entorno de desarrollo integrado (IDE, integrated development
environment) de Arduino.

La SparkFun RedBoard, la cual se muestra en la Figura 2, es una placa de tipo Arduino con un
microcontrolador ATmega328 que se puede programar con un cable USB mini-B con el IDE de Arduino. Es
capaz de recibir datos (como la lectura de un sensor de luz o un botón presionado) y, después, realizar
diversas acciones (como hacer titilar un LED o mover un actuador) en función de cómo se programa.

Desarrollo del circuito

Recuerde que un circuito necesita un ciclo continuo y una fuente de alimentación para que circule la
electricidad. Un circuito simple puede se puede crear conectando los componentes electrónicos (LED, resistor,
y cables de acoplamiento) en serie a lo largo de una fila en la placa de pruebas, tal como se muestra en la
figura. Cuando la fila esté conectada, la fuente de alimentación estaría conectada a los cables de
acoplamiento rojos y negros inferiores. Esto debería completar el circuito y encender el LED.

El IDE de Arduino

El paquete de software del IDE de Arduino es un programa que le permite interactuar con la placa de Arduino.
Es un software gratuito que se puede descargar desde el sitio web de Arduino:

https://www.arduino.cc/en/Main/Software
El paquete de software del IDE de Arduino contiene el entorno de desarrollo integrado (IDE) y los
controladores requeridos para las placas de Arduino. Una vez que se haya descargado el software,
descomprima el archivo e instale el software y los controladores del IDE de Arduino.

El IDE de Arduino se puede dividir en cuatro áreas principales, tal como se muestra en la figura.

• La barra de Menú contiene cinco menús: Archivo, Editar, Programa, Herramientas y Ayuda. Estos
elementos del menú proporcionan acceso a comandos contextuales adicionales que solo están
disponibles si son relevantes para el trabajo que se está realizando.

• La barra de herramientas contiene iconos que proporcionan herramientas para Verificar el código en
un programa, Cargar un programa a la placa de Arduino, crear un Nuevo programa, Abrir un programa
existente, Guardar un programa y abrir un Monitor serie.

• El editor de texto es similar a otros editores que tal vez haya utilizado. Proporciona las funciones
habituales de edición de texto, incluidas las de cortar y pegar, y buscar y reemplazar

• La Consola muestra el texto de salida, incluidos los comentarios del programa, los mensajes de error y
demás información útil.

Los programas escritos con el IDE de Arduino se denominan sketches o proyectos y se guardan con la
extensión de archivo .ino. Los sketches se pueden guardar en un sketchbook o proyecto que se puede abrir
desde el menú Archivo > Proyecto o desde el botón Abrir en la barra de herramientas. Puede ver y
modificar la ubicación predeterminada de la carpeta de proyectos haciendo clic en Archivo > Preferencias.

Nota: Se recomienda que también descargue los ejemplos de codificación de SparkFun


de http://sparkfun.com/sikcode. Cuando se descarguen, descomprima el archivo y copie la carpeta SIK_Guide
_Code_32 en la carpeta de ejemplos de Arduino (Archivos de programa (x86) > Arduino > Ejemplos).

Código de escritura

Las palabras clave relacionadas con los proyectos de Arduino se pueden dividir en tres tipos de categorías
principales: estructuras, valores (variables y constantes) y funciones. Podrá encontrar una lista completa de
palabras clave relacionadas con los proyectos en https://www.arduino.cc/en/Reference/HomePage.

La primera vez que ejecute el software del IDE de Arduino, o cuando cree un nuevo sketch, se presentará un
shell de inicio de un sketch en la sección del editor de texto del IDE. La siguiente es una explicación de las
palabras claves utilizadas en este shell de inicio.

La palabra void solo se utiliza en las declaraciones de funciones. Indica que no se espera que la función
devuelva información alguna.

La función setup() se usa para inicializar variables, modos de pin, comenzar a usar librerías, etc. La
función setup() solo se ejecutará una vez, después de iniciar o restablecer la placa de Arduino.

Nota: Las llaves ({}) después de la función setup() delimitan el comienzo y la finalización de dicha función.
Todo el código contenido dentro de estas llaves se ejecutará una sola vez.

La función loop () es la sección principal de un sketch y se ejecutará continuamente, lo que permite que el
programa cambie y responda.

Los comentarios son líneas en el programa que se usan para informar al usuario que está viendo el código
cómo funciona el programa. La placa de Arduino ignora los comentarios. Los comentarios pueden ser de dos
formas: de una línea y de varias líneas. Un comentario de una línea se designa con dos barras diagonales (//).
Todo el texto desde las dos barras diagonales hasta el final de la línea se considera parte de los comentarios
y se ignora cuando se compila el sketch. Los comentarios de varias líneas comienzan con una barra diagonal
y un asterisco (/*) y terminan con un asterisco y una barra diagonal (*/). Todo el texto entre esos delimitadores
se considera parte del comentario. El comentario puede abarcar varias líneas.

Nota: El uso de delimitadores de comentarios multilínea para comentar una sección de un código puede ser
útil para resolver problemas.

Evaluación

Una vez creado el circuito del prototipo y escrito y guardado el código, haga clic en el primer icono en la barra
de herramientas para verificar su código. El IDE compilará su código y verificará los errores de sintaxis.
Revise los mensajes que reciba en el área de la consola del IDE, tal como se muestra en la Figura 1.

Para probar el código, haga clic en el segundo icono en la barra de herramientas para cargar su sketch a la
placa de Arduino, tal como se muestra en la Figura 2. Cada vez que realice un cambio en el sketch, deberá
volver a compilar y cargar la versión nueva a la placa de Arduino. Después de que un sketch se carga a la
placa de Arduino, permanecerá allí hasta que lo cambie, aún si se restablece o apaga el Arduino.

Sensores

Los sensores son dispositivos que detectan un evento del entorno físico y responden con señales eléctricas u
ópticas como resultado. Existen sensores que miden la luz, la humedad, el movimiento, la presión, la
temperatura u otras propiedades ambientales. La figura identifica cuatro sensores que se incluyen en el
SparkFun Inventor's Kit (SIK).

Actuadores y relés

Un actuador es un tipo de motor responsable de crear movimiento. En la Figura 1 se muestras dos ejemplos
de accionadores eléctricos que se incluyen en el SIK. Un actuador eléctrico convierte energía eléctrica en un
torque mecánico. En este curso trabajaremos solo con los accionadores eléctricos, pero los accionadores
también pueden usar energía hidráulica (aceite), neumática (aire) y mecánica.

Un relé es un interruptor mecánico controlado eléctricamente. En la Figura 2 se muestra un relé que se


incluye en el SIK. Dentro de esa caja plástica hay un electromagneto que hace un interruptor se active cuando
recibe una corriente.

Cómo se conecta todo en PT

Hay un nuevo icono de grupo en Packet Tracer versión 7 etiquetado como Componentes. Este grupo contiene
iconos de tres subgrupos para la IoT.

El primer subgrupo es para las placas de la IoT, en la Figura 1, que contiene una unidad de
microcontrolador (MCU) y una computadora de una placa (SBC, single board computer), similar a la
Raspberry Pi. El último icono es para crear cosas personalizadas.

El segundo icono de subgrupo se etiqueta como Accionadores y muchas cosas de la IoT se incluyen dentro
de este subgrupo, tal como se muestra en la Figura 2.

El tercer icono de subgrupo se etiqueta como Sensores. Otros elementos relacionados con la IoT se pueden
encontrar en este subgrupo, tal como se muestra en la Figura 3.
Para conectar las cosas de la IoT a una placa de una MCU, use el cable personalizado de la IdT que se
encuentra en el grupo de conexiones en la Figura 4.

Capítulo 2: Sensores, accionadores y microcontroladores

La electrónica es una parte importante de IoT. Los dispositivos de la IoT se construyen, a menudo, desde el
principio; por lo tanto, comprender los conceptos, componentes y la terminología de la electrónica es
fundamental. También es importante que un profesional de la IoT pueda leer y crear esquemas electrónicos.

El kit de SparkFun contiene un número de dispositivos y piezas que ayudan a los principiantes a comenzar
con la electrónica y los microcontroladores. Además introduce conceptos importantes, como circuitos
electrónicos, y formas de programar los microcontroladores Arduino. Al trabajar con el kit, los principiantes
aprenden cómo programar sensores para monitorear el entorno. Los accionadores y los relés con frecuencia
se usan para influenciar el entorno o generar una acción.

Los estudiantes pueden usar el Cisco Packet Tracer como una herramienta para armar modelar y hacer
prototipos de sistemas de la IoT.


¿Qué es un programa?

En el capítulo 2, hemos visto cómo los sensores y la electrónica permiten conectar el mundo físico con un
sistema informático, como un microcontrolador. Esta conexión permite completar el primer paso para la
creación de una solución de IoT. Primero se detectan los datos del mundo físico, luego se hace algo con esos
datos. Se almacenan, transmiten o procesan. En el mundo digital, el procesamiento de datos se realiza
mediante programas de software. En este capítulo repasaremos los conceptos clave de programación de
software y presentaremos Raspberry PI. Aprender a escribir programas informáticos con RaPI será el
segundo paso fundamental en nuestro recorrido hacia los prototipos de soluciones de IoT.

Un programa es un conjunto de instrucciones solicitadas creado para realizar una tarea específica. Según
esta definición, muchas actividades de la vida diaria se pueden considerar programas.

Una receta básica de pan puede considerarse un programa:

• Precaliente el horno a 375 ºF. Enmanteque y enharine dos moldes de pan de 9 pulgadas.

• Disuelva la levadura en agua caliente. Agregue azúcar, sal, aceite y 3 tazas de agua.

• Bata hasta que quede homogéneo y mezcle con el resto de la harina.

• Amase en una superficie enharinada entre 8 y 10 minutos.

• Coloque en un bol engrasado y deje levar durante 1 a 2 horas.

• Golpee la masa, divídala en dos y colóquela en los moldes de pan. Cubra y deje levar hasta que se
duplique.

• Hornee a 375 ºF de 30 a 35 minutos.

En este ejemplo, el orden de las instrucciones es relevante. La receta, como un programa de software, fue
diseñada para realizar una tarea específica; en este caso, hacer pan.
La receta pudo haberse escrito en cualquier idioma: inglés, español, chino o árabe. El único requisito para la
opción de idioma es que la persona que hace el pan lo comprenda. Si bien los diferentes idiomas poseen
distintas reglas gramaticales y sintaxis, la lógica de la receta no debe cambiar.

De manera similar, los programas informáticos son también un conjunto de instrucciones solicitadas creadas
para realizar una tarea específica. También llamados códigos, los programas informáticos se pueden escribir
en otros lenguajes. La sintaxis y las reglas varían de lenguaje en lenguaje, pero la lógica del programa
prácticamente no debe tener cambios.

Los programas están en todas partes

Todas las computadoras necesitan programas. Una computadora es un dispositivo que contiene una CPU,
una memoria y dispositivos de E/S (monitor, teclado, ratón, tarjeta de audio, etc.). Las computadoras de
escritorio, los smartphones, las tablets, los relojes digitales y los dispositivos inteligentes son solo algunos
ejemplos de computadoras. Aunque las computadoras están en todas partes, son inútiles hasta que se
ejecutan los programas.

Los programas informáticos adoptan muchas formas diferentes. Los sistemas operativos, el firmware y las
aplicaciones son ejemplos de programas que se encuentran en las computadoras.

Un sistema operativo (SO) es un programa que permite que los usuarios interactúen con las computadoras.
Los sistemas operativos modernos incluyen interfaces gráficas para facilitar la interacción del usuario. Los
ejemplos de SO son Windows, Linux, OS X, Apple iOS y Android.

Firmware son programas creados para permitir que una computadora realice una tarea específica. El firmware
suele estar presente en computadoras pequeñas, como relojes digitales simples, dispositivos modernos y
diversos subsistemas encontrados en automóviles modernos (por ejemplo, el sistema de frenos antibloqueo
(ABS) y las bolsas de aire). Debido a la memoria limitada y a otras restricciones de recursos, los dispositivos
de IoT a menudo dependen del firmware para su funcionamiento. La funcionalidad del firmware y el SO se
superpone. A veces, el firmware también puede actuar como SO para computadoras más simples.

Las aplicaciones son programas creados para ayudar al usuario a realizar una tarea específica. Los ejemplos
de aplicaciones son Microsoft Word, Mozilla Firefox y Calculator.

Por qué se debe aprender a programar?

Las personas que pueden programar son cada vez más valiosas en el actual mercado laboral. A pesar de que
en el pasado los programadores estaban limitados a la codificación de aplicaciones de escritorio, el
incremento de IoT genera nuevas posibilidades para ellos. En 1991, Mark Weiser escribió un documento
titulado “La computadora del siglo XXI”. En este documento, previó el futuro de IoT y lo describió como
“elementos especializados de hardware y software, conectados por cables, ondas de radio e infrarrojas, tan
ubicuos que nadie notaría su presencia”. En un mundo cada vez más digital, la naturaleza ubicua de la
computación significa que el software está en todas partes. Actualmente, los programadores pueden trabajar
con el firmware, los controladores de dispositivos, las aplicaciones móviles, las interfaces web, el análisis de
datos y más. Estas áreas laborales estaban disponibles antes, pero IoT ha aumentado drásticamente la
cantidad de empresas y proyectos disponibles.

La industria de las redes también impulsa la necesidad de más programadores requeridos para personalizar la
red y la infraestructura. Los enfoques emergentes de la red, como las redes definidas por software (SDN) y la
infraestructura centrada en aplicaciones (ACI) de Cisco proporcionan programabilidad integral a la
infraestructura de la red.

Otro beneficio de saber programar es que los programadores pueden crear sus propias herramientas de
software. ¿Necesita un filtro específico de red no disponible en el mercado? Tal vez un proyecto requiere un
análisis de datos específico. Un buen programador puede cifrarlo.
¿Qué conforma un programa?

Las personas imparten la lógica a las computadoras a través de programas. Los programas usan expresiones,
funciones y estructuras lógicas. Las expresiones son combinaciones de variables, constantes y operadores
que producen un nuevo valor. Las funciones definen una secuencia de expresiones que debe aplicarse a los
argumentos (x, y) para producir el valor arrojado z. Mediante estructuras lógicas específicas, un programador
puede preparar una computadora para tomar decisiones. Algunos ejemplos de expresiones, funciones y
estructuras lógicas más comunes son:

• Expresiones

• Area_Triangle = (base*height)/2

• Print Area_Triangle

• Funciones

• z= Function(x,y)

• IF - THEN: esta estructura lógica permite que la computadora tome una decisión según el resultado de
una expresión. Un ejemplo de expresión es myVar > 0. Esta expresión es verdadera si el valor
almacenado en la variable myVar es mayor que cero. Cuando el intérprete o compilador encuentra una
estructura IF - THEN, evalúa la expresión proporcionada. Si la expresión es falsa, la computadora
continúa con la siguiente estructura, ignorando el contenido del bloque IF - THEN. Si la expresión es
verdadera, la computadora ejecuta la acción asociada antes de pasar a la siguiente instrucción del
programa. (Figura 1).

• Bucle FOR: se utiliza para ejecutar un conjunto específico de instrucciones una cantidad de veces
específica según una expresión. El término bucle proviene del hecho de que un conjunto de
instrucciones se ejecuta varias veces. Si bien la sintaxis del bucle FOR varía de lenguaje en lenguaje, el
concepto es el mismo: se define una variable para que actúe como contador y valor máximo. Cada vez
que se ejecuta el bucle, aumenta la variable del contador. Cuando el contador es igual al valor máximo
definido, se abandona el bucle y los movimientos de ejecución del siguiente paso. (Figura 2).

• Bucle WHILE: se utiliza para ejecutar un conjunto específico de instrucciones mientras que una
expresión es verdadera. Observe que las instrucciones dentro del bucle a menudo harán que la
expresión se evalúe finalmente como falsa. (Figura 3).

Antes de escribir un código, el programador necesita entender el problema y cómo puede resolverse
dividiéndolo en una secuencia de pasos y decisiones. Es común que los programadores creen el primer
borrador de un programa sin ningún lenguaje específico. Estos programas independientes del lenguaje se
centran en la lógica en lugar de la sintaxis y se conocen como algoritmos. Un diagrama de flujo es una
manera común de representar un algoritmo. La Figura 4 muestra un ejemplo del diagrama de flujo. Escribir un
buen algoritmo para resolver un problema es una tarea increíble que algunas personas consideran una forma
de arte.

Interpretado frente a compilado

Los lenguajes de computadora se pueden dividir en dos categorías principales: interpretados y compilados.

Los lenguajes interpretados dependen de otro programa para analizar y ejecutar el código. Este programa se
denomina intérprete. El código permanece en texto legible para el humano y se envía a un intérprete para su
ejecución. Si bien los lenguajes interpretados facilitan el mantenimiento y la solución de problemas de los
códigos, la ejecución es más lenta que en los lenguajes compilados. Algunos ejemplos de lenguajes
interpretados son Python, JavaScript y PHP.

Los lenguajes compilados dependen de un compilador (otro programa) para convertir el código legible para el
ser humano en un código ejecutable binario. El código compilado se almacena de forma binaria y puede
ejecutarse en cualquier momento sin la necesidad de volver a compilarse. El código compilado además se
ejecuta más rápido porque lo hace directamente desde la CPU, sin la necesidad de un intérprete. Debido a
que el lenguaje compilado se ejecuta directamente desde la CPU, el compilador y el código compilado binario
que genera son específicos de la plataforma. Código fuente es el término que se usa para referirse al código
de lenguaje compilado antes de su compilación. En esta etapa, el código es legible para el humano y puede
modificarse fácilmente. Si un programador desea realizar cambios en un programa compilado, debe aplicar
dichos cambios al código fuente y volver a compilarlo antes de su ejecución. Ejemplos de lenguajes
compilados son C y C++.

La Figura 1 muestra leap_check.py, un programa escrito en Python para calcular si un año determinado será
un año bisiesto.

La Figura 2 muestra leap_check.c, un programa escrito en C para calcular si un año determinado será un año
bisiesto aún como código fuente antes de la compilación.

La Figura 3 muestra leap_check.c, un programa escrito en C para calcular si un año determinado será un año
bisiesto, en un sistema hexadecimal, después de la compilación.

La Figura 4 muestra el resultado de leap_check, un programa escrito en C para calcular si un año


determinado será un año bisiesto después de tres ejecuciones.

Lenguajes de computadora

Al igual que los idiomas humanos, hay varios lenguajes de computadora diferentes. Algunos lenguajes de
computadora son mejores que otros para ciertos tipos de tareas.

JavaScript, un lenguaje de computadora, está diseñado para crear aplicaciones web. Con JavaScript, un
programador puede crear aplicaciones web que pueden interactuar con los usuarios y otras aplicaciones.

Python, otro lenguaje interpretado, permite declaraciones más simples. Python es muy fácil de usar, potente y
versátil y se ha convertido en el lenguaje de preferencia de muchos desarrolladores de IoT. Uno de los
motivos principales de popularidad de Python es la comunidad de desarrolladores; los desarrolladores de
Python han creado y puesto a disposición muchos módulos específicos que pueden importarse a cualquier
programa para prestar inmediatamente mayor funcionalidad.

Blockly es un lenguaje de programación visual que permite a los usuarios crear programas conectando
bloques que representan diversas estructuras de lenguaje lógico en lugar de escribir el código real. Blockly se
ejecuta dentro de un navegador web y puede traducir el programa visualmente creado, como JavaScript, PHP
o Python. En la figura se muestra un ejemplo de Blockly.

C, un lenguaje compilado, es bueno para crear programas complejos y rápidos, pero sus reglas y sintaxis
estrictas dificultan su desarrollo. Creado a principios de 1970, C se ha convertido en uno de los lenguajes de
programación más utilizado de todos los tiempos. El sistema operativo Linux se escribe en C.

Java es un lenguaje compilado que se “escribe una sola vez y se ejecuta en cualquier lugar” (WORA). A pesar
del nombre similar, Java y JavaScript no están relacionados. Java está diseñado para ejecutarse en cualquier
plataforma sin la necesidad de la recompilación. Las aplicaciones basadas en Java requieren una plataforma
de JVM (máquina virtual Java) instalada en la computadora. JVM es el entorno donde se ejecuta el código
compilado en Java.
Procesamiento de datos y dispositivos de IoT

Una aplicación común para los sistemas de IoT es la recopilación de datos. Los dispositivos de IoT, como
sensores, a menudo se implementan en ubicaciones donde ocurre la recopilación de datos. La agricultura, el
transporte y la manufactura son solo algunos ejemplos de áreas donde la recopilación de datos se realiza
mediante uno o más sistemas de IoT.

Aunque la recopilación de datos es importante, los datos deben procesarse antes de que puedan ser útiles.
Los datos recopilados se pueden procesar en el punto de recopilación o se pueden transmitir y almacenar en
la nube para procesarlos en otro momento. Con frecuencia los datos de distintas fuentes se combinan para
brindar información más útil. Se utilizan programas informáticos para procesar eficazmente los datos
recolectados.

En un ejemplo agrícola, los dispositivos de IoT se pueden utilizar para supervisar el suelo y las condiciones
climáticas. Los sensores recogen datos sobre la humedad del suelo, la temperatura y los niveles de acidez.
Otros sensores pueden recopilar datos sobre los niveles de CO2 en el aire además de la temperatura del aire,
la presión barométrica y la humedad. Todos estos datos casi no tienen uso hasta que se procesan. Se puede
escribir un programa de computadora para procesar los datos y calcular las chances de lluvia en función de
las variaciones de la temperatura del aire, la humedad y la presión barométrica. Los datos recopilados sobre
las condiciones del suelo también pueden procesarse con software para ayudar a optimizar el proceso de
cosecha.

En un ejemplo de transporte, pueden recopilarse datos tales como el número de camiones que usa una parte
específica de la autopista, la temperatura de dicha sección de pavimento y los precios de la gasolina y los
neumáticos para invierno. El procesamiento de los datos puede indicar cuándo instalar los neumáticos para
invierno en los camiones en función de los días en que los caminos se congelarán.

Existen muchos lenguajes compatibles con un sistema de IoT que pueden utilizarse para crear programas
informáticos. Este curso se centra en Python debido a su popularidad, gran comunidad y simplicidad.

Los dispositivos de IoT toman decisiones

Un aspecto importante de un sistema de IoT es la capacidad de tomar decisiones. Activar una alarma si los
niveles de dióxido de carbono superan un umbral o desbloquear una puerta al detectar el mando a distancia
correcto son dos ejemplos de decisiones que podrían tomarse a través de dispositivos de IoT. Algunos
dispositivos de IoT también son capaces de tomar decisiones más complejas, como identificar el rostro de una
persona desde la fuente de una cámara.

La capacidad de tomar decisiones se suma a algunos de los dispositivos de IoT mediante el software. Los
programas deben escribirse y cargarse en el dispositivo de IoT para su ejecución antes de que el dispositivo
pueda tomar decisiones.

API de REST

La transferencia de estado representativa (REST), o servicio web RESTful, es un tipo de API diseñado para
facilitar la interacción de los programas con Internet. Las API de REST usan llamadas basadas en HTTP entre
las diferentes aplicaciones para manipular y acceder a la información almacenada en las bases de datos
potentes.

Los recursos web solían ser identificados exclusivamente por una URL. Actualmente, los recursos web
abarcan cada entidad o cosa que puede nombrarse, identificarse o abordarse. Las entidades pueden ser un
objetivo de paso del día, una configuración de temperatura de la casa o la frecuencia cardíaca de un
marcapasos. Cada recurso ahora tiene una identificación de recurso uniforme (URI) que generalmente
comienza con una barra diagonal, por ejemplo, /frecuenciacardíaca. Las API de REST usan el protocolo HTTP
y una URL o URI para solicitar servicios web. Dichas solicitudes REST basadas en la web activan respuestas
en formatos web bien definidos, como XML y JSON (notación de objetos JavaScript). Mediante el uso de
HTTP como protocolo, los servicios RESTful pueden tomar prestadas operaciones de HTTP, como las
acciones HTTP GET, POST, PUT and DELETE. Un ejemplo puede ser un marcapasos que envía
actualizaciones sobre la frecuencia cardíaca promedio a una base de datos médica. El marcapasos puede
utilizar una llamada de API de REST en un formato específico (PONER de HTTP) para actualizar la
información en la base de datos.

Los sistemas de IoT que aprovechan los servicios en la nube dependen con frecuencia de los servicios
RESTful para comunicarse. Por ejemplo, considere un reloj inteligente con capacidades climáticas, donde un
dispositivo de IoT recopila la información del clima para su ubicación actual y la muestra al usuario. Este reloj
puede programarse para comunicarse con un sistema meteorológico basado en la web a través de una URL
de API de REST (dirección web). Este tipo de URL y sus parámetros se describirán en la documentación de la
API. La figura muestra un ejemplo de URL de servicio RESTful. De la misma manera en que un explorador
web visita una página web, el reloj se contacta con la URL descrita en la documentación de la API del sistema
meteorológico y solicita, mediante la acción OBTENER de HTTP, el clima para la ubicación actual (según el
sensor del GPS). El sistema meteorológico responderá, conforme a su propia API, con datos con formato
JSON o XML que contienen la información del clima para dicha ubicación. El código que se ejecuta en el reloj,
también creado según la API del sistema meteorológico, a su vez muestra la información al usuario.

Protección del código

Un sistema de IoT consta de la interconexión de varios bloques funcionales: dispositivos, gateways, redes,
nube y aplicación real. En cada uno de estos bloques, hay un código que se ejecuta para cumplir con la
función para la que está diseñado. Las mejores prácticas recomendadas para proteger los dispositivos
conectados en IoT deben incluir:

a) Los dispositivos deben protegerse de ataques que afecten su función o permitan que se usen para fines no
deseados sin autorización.

b) Los dispositivos deben proteger las credenciales de autenticación y los materiales clave privados de la
divulgación a partes no autorizadas.

c) Los dispositivos deben proteger la información recibida, transmitida o almacenada localmente en el


dispositivo de la divulgación inadecuada a partes no autorizadas.

d) Los dispositivos deben protegerse contra el uso como vectores para atacar a otros dispositivos o hosts en
Internet.

Para lograr las mejores prácticas de seguridad recomendadas, la seguridad física, la capacidad de confiar en
la integridad del código y la capacidad de actualizarse de forma remota son fundamentales para el diseño de
todos los sistemas y dispositivos de IoT.

Los dispositivos de IoT se encuentran en ubicaciones tradicionales, como centros de datos en la nube, y
también en muchas ubicaciones no tradicionales, como postes de luz, estacionamientos y cuerpos humanos.
Las ubicaciones tradicionales se pueden proteger mediante cámaras de vigilancia, sistemas de control de
acceso, identificación biométrica y puntos de autenticación múltiples.

La seguridad de los dispositivos de IoT en ubicaciones no tradicionales es más compleja. Los dispositivos
deben fabricarse para ser resistentes a manipulaciones y deben colocarse de manera tal que no sean obvios y
tengan difícil acceso. Aunque uno debe hacer lo mejor para proteger estos dispositivos físicamente, un hacker
determinado aún puede obtener acceso. La seguridad física, en la mayoría de los casos, es una práctica
recomendable pero no suficiente en sí misma.

Una manera en que un hacker puede cambiar la función de un dispositivo es: acceder al dispositivo,
deshabilitar la función, instalar software nuevo en el dispositivo y reiniciarlo. Otra forma de proteger el
dispositivo es asegurarse de que el código del dispositivo (tanto firmware como aplicación) sea el código
original que se creó. Esta medida de seguridad puede proteger el dispositivo de intentos de cambiar sus
funciones, incluso si se infringió la seguridad física. Esto se realiza “firmando” criptográficamente el código
original y garantizando que el dispositivo no se inicie si el código no está firmado. Este es el mismo método
que se utiliza para garantizar la integridad y la procedencia de los documentos. Hay muchos enfoques que
surgen en la industria para satisfacer los diferentes ángulos de este problema, como la computación de
confianza, las tecnologías de anclaje de confianza de Cisco y el arranque seguro de Cisco. Por ejemplo, para
iOS en un router, el anclaje de confianza de Cisco y el acceso seguro de Cisco comprueban el código firmado
para garantizar que el código que se ejecuta en las plataformas de hardware de Cisco sea auténtico y no esté
modificado, estableciendo una raíz de confianza a nivel del hardware y una identidad inmutable del dispositivo
para edificar el sistema.

También es fundamental que los dispositivos de IoT se diseñen para actualizarse de forma remota. El diseño
debe incluir funciones para permitir la administración remota del dispositivo y las actualizaciones. También
deben tenerse en cuenta la eliminación de las puertas traseras de la fase de desarrollo o las cuentas de
acceso de depuración de codificación rígida y la aplicación del acceso autorizado únicamente.

Los datos deben cifrarse mientras se reciben o transmiten a servidores locales o remotos. El acceso remoto a
los servidores o los terminales remotos también debe protegerse. Esto garantiza que los datos conserven su
integridad dado que permanecen protegidos del acceso no autorizado y la manipulación. Los algoritmos de
encriptación y los protocolos de transmisión seguros son técnicas de uso general para proteger el software y
los datos.

Raspberry Pi y sus puertos

Raspberry Pi (Pi) es una computadora económica y pequeña. Tiene una cantidad de puertos USB que pueden
usarse para conectar varios dispositivos, como teclados, ratones, unidades externas y cámaras. Dado que se
trata de una computadora completa en un paquete del tamaño de una tarjeta de crédito, RaPi se ha convertido
en la opción para muchos proyectos de IoT. Pi3 comparte las funciones de su predecesora Pi2, pero añade:

• Una CPU de 1,2 Ghz y 64 bits con procesador de cuatro núcleos ARMv8

• LAN inalámbrica 802.11n

• Bluetooth 4.1

• Bluetooth de baja energía (BLE)

La Figura 1 muestra una vista superior del modelo B de Raspberry Pi 3.

La Figura 2 muestra una vista inferior del modelo B de Raspberry Pi 3.

RaPi además incluye un encabezado de 40 pines con GPIO. Los pines de GPIO (entrada/salida de uso
general) son extremadamente útiles para interactuar con el mundo físico. Los sensores, los accionadores, los
switches y los dispositivos pueden conectarse a la GPIO y controlarse mediante el código que se ejecuta en
RaPi. Otros puertos de RaPi incluyen una salida de audio, una ranura para tarjeta SD, un puerto Ethernet, 4
puertos USB, una interfaz de cámara (CSI), una interfaz de dispositivo (DSI) y un conector micro USB (para
alimentación).

La Figura 3 muestra la distribución de terminales de GPIO del modelo B de Raspberry Pi 3.

Creada con base en Raspberry Pi, RaPi se diseñó para ser pequeña y económica. RaPi puede ejecutar varios
sistemas operativos, como Linux y Windows.

La Figura 4 muestra las especificaciones de hardware del modelo B de Raspberry Pi 3.


PL-App

Existen varias maneras de configurar y usar Raspberry Pi. Mediante la conexión física de una pantalla HDMI,
un ratón y un teclado USB, RaPi se convierte en una PC general y permite al usuario tener acceso físico local.
Una vez que se descarga la imagen compatible del sistema operativo de Raspberry Pi a la tarjeta micro SD,
RaPi está lista para usar.

Tradicionalmente, Raspberry Pi se usa como computadora completa con monitor, teclado y ratón. Estos son
los pasos para usar la Raspberry Pi como computadora con acceso físico local:

Paso 1: Instale una imagen de sistema operativo en la tarjeta micro SD.

Paso 2: Coloque la tarjeta en la ranura para tarjetas micro SD de RaPi.

Paso 3: Conecte un teclado USB.

Paso 4: Conecte un monitor o TV mediante el puerto HDMI.

Paso 5: Encienda el dispositivo con el adaptador de potencia.

Alternativamente, para utilizar la Raspberry Pi como dispositivo de IoT, se debe poder controlar desde la red.
Acéfalo es el término que se utiliza para servidores que solo se operan de forma remota. Aunque hay
disponibles muchas configuraciones acéfalas, este curso se enfoca en una solución personalizada llamada
aplicación de prácticas de laboratorio de prototipos (PL-App). PL-App permite el acceso a Raspberry Pi
directamente desde la red. El acceso acéfalo permite el funcionamiento sin la necesidad de un monitor, un
teclado o un ratón conectados directamente a RaPi (Figura 1). Desde una segunda PC, el usuario establece
conexiones de red a RaPi y opera a través de estas conexiones. Es compatible con la GUI y funciona solo con
texto. La Figura 2 muestra un ejemplo de una topología de una clase que ejecuta PL-App en Raspberry Pi.

La Figura 3 muestra una captura de pantalla de los componentes que conforman PL-App.

Tarjeta SD con capacidad de arranque

Las computadoras modernas pueden arrancar el sistema de los dispositivos USB externos y las tarjetas SD.
Con el aumento de su popularidad debido a las tarjetas externas más grandes y económicas, es común tener
sistemas operativos enteros instalados en dichas tarjetas.

Raspberry Pi 3 incluye una ranura para tarjeta micro SD (Figura 1) que se usará como dispositivo de
almacenamiento para el sistema. Antes de que Raspberry Pi 3 se pueda utilizar, debe instalarse un sistema
operativo en la tarjeta micro SD que se colocará en la ranura SD para arrancarla.

Si bien hay varias formas de instalar un sistema operativo en una tarjeta micro SD, el más común (y
probablemente el más rápido) es utilizar un archivo de imagen. Un archivo de imagen es un archivo único que
contiene una imagen del sistema de archivos completo. En ese sentido, el archivo de imagen es una copia
exacta del sistema de archivos y puede utilizarse para reconstruir el sistema de archivos en otros medios. Los
formatos de archivo de imagen comunes son: .iso y .img.

Hay varias opciones disponibles para las herramientas de transferencia de imágenes. El que se usa en este
curso es parte del Iniciador de PL-App. Se trata de una herramienta personalizada de transferencia de
imágenes que simplifica la implementación de las imágenes utilizadas en el curso. El Iniciador de PL-App
además administra la detección y el control acéfalo de Raspberry Pi conectada a la red.

La Figura 2 muestra los pasos para configurar un dispositivo nuevo.

La Figura 3 muestra cómo conectar un nuevo dispositivo mediante la aplicación del Iniciador de PL-App.
Si un usuario descarga una imagen sin la herramienta de PL-App especializada, el usuario deberá obtener el
archivo de imagen creado por el fabricante o el encargado de mantenimiento que habilita la descarga. El
usuario simplemente podrá descargarlo de la página web correspondiente. La base de Raspberry Pi ofrece
una imagen de Raspbian, una variación de Debian Linux personalizada para Raspberry Pi. Este curso utiliza
una imagen de PL-App basada en una versión modificada de Raspbian.

Interpretación de Linux

Linux es un sistema operativo creado en 1991. Fue creado, y es mantenido actualmente, por una comunidad
de programadores. Linux es de código abierto, rápido, confiable y pequeño. Requiere muy pocos recursos de
hardware para ejecutarse y es altamente personalizable. Linux es parte de diferentes plataformas y puede
encontrarse en cualquier lugar, desde “relojes a supercomputadoras”. Linux es también una opción muy
popular en los dispositivos de IoT.

Otro aspecto importante de Linux es que está diseñado para estar en la red. Las operaciones de red y las
conexiones son simples en Linux, lo que lo convierte en una buena opción para los profesionales y
administradores de redes. Cualquier persona puede obtener el código fuente del núcleo, examinarlo,
modificarlo y volver a compilarlo a disposición. Las empresas y los usuarios son libres de modificar,
reempaquetar y ejecutar el software. Pueden redistribuir el programa con o sin cargos.

Una distribución de Linux es el término que se utiliza para describir los distintos paquetes de Linux creados
por distintas empresas. Las distribuciones de Linux (o distros) incluyen el núcleo de Linux más varias
herramientas y paquetes de software personalizados. Si bien algunas proporcionan y cobran el soporte de
Linux (orientado a empresas basadas en Linux), la mayoría ofrece su distribución gratuita sin soporte. Debian,
Red Hat, Ubuntu, Slackware y Mint son solo algunos ejemplos de distribuciones de Linux.

Raspbian es una distribución del sistema operativo Linux creada específicamente para Raspberry
Pi. Raspbian es una variación de Debian Linux y, por lo tanto, mantiene la estructura de Linux.

La figura muestra una captura de pantalla de Raspbian ejecutándose en Raspberry Pi 3.

Acceso al shell de Linux

El sistema operativo de Linux puede dividirse en núcleo y shell. El núcleo se puede pensar como el SO en sí,
mientras que el shell es solo un programa que se ejecuta en el SO y ofrece funcionalidades de interacción
entre el SO y el usuario.

Para interactuar con el hardware de la máquina, el usuario interactúa con el shell que interactúa con el núcleo
que, a su vez, interactúa con el hardware. La figura es un diagrama de alto nivel de Linux.

El shell es un interpretador de comandos y, por lo tanto, los términos shell, terminal, consola y CLI se usan
con frecuencia de forma indistinta. Este curso utiliza el término terminal para referirse al shell. Cuando un
usuario se conecta al sistema, el programa de inicio de sesión revisa el nombre de usuario y la contraseña; si
las credenciales son correctas, el programa de inicio de sesión llama al shell. Desde aquí, un usuario
autorizado puede comenzar a interactuar con el SO a través de los comandos basados en texto.

Históricamente, cuando no había ninguna interfaz gráfica disponible, el shell se basaba en texto sin soporte
para el ratón o las funciones visuales avanzadas. También denominado interfaz de línea de comandos (CLI),
el shell basado en texto era la única forma para que el usuario interactuara con el SO. Hoy en día, el shell de
Linux sigue siendo extremadamente importante, ya que proporciona acceso al sistema. Aunque muchas
distribuciones de Linux modernas incluyen soporte para las interfaces gráficas de usuario (GUI), el shell aún
se considera el método más eficiente para interactuar con el sistema. Esto es especialmente cierto cuando la
interacción se relaciona con el mantenimiento del sistema o la solución de problemas.
Como ejemplo de interacción entre el usuario-shell-núcleo, supongamos que un usuario desea eliminar un
archivo llamado myFile. El usuario escribe rm myFile. rm es el comando para eliminar los archivos
y myFile es el nombre del archivo que se eliminará. El shell busca en el sistema de archivos el programa rm y
solicita al núcleo, a través de llamadas al sistema, que ejecute el programa rm con el parámetro myFile. A
medida que el proceso se ejecuta, el shell no está disponible para el usuario y no presenta ninguna indicación
que señale el estado. Cuando el proceso rm myFile finaliza su ejecución, el shell muestra el mensaje al
usuario que indica que está listo y en espera de más comandos.

Acceso a CLI

Se crearon diferentes shells y añadieron muchas funciones para facilitar la escritura y la interacción del
usuario. Algunas de las características importantes del shell incluyen la compleción de comandos y nombres
de archivos con la tecla TAB, el historial de comandos, los accesos directos del teclado para pasar de línea de
comando y otras. Entre los shells más populares aparecen el shell Bourne (sh), Bash (bash), el shell C (csh),
el shell C mejorado (tcsh) y el shell Z (zsh). Qué shell utilizar es una cuestión de preferencia para la mayoría
de los usuarios.

Aunque haya una CLI aún presente, el SO moderno a menudo arranca en la GUI de manera predeterminada,
ocultando la CLI al usuario. Una forma de acceder a la CLI en un sistema operativo basado en la GUI es a
través de una aplicación del emulador de terminal. Estas aplicaciones permiten que el usuario acceda al shell
y generalmente se denominan con alguna variación de la palabra “terminal”. En Linux, los emuladores de
terminal comunes son Terminator, eterm, xterm, console y gnome-terminal. La figura muestra una captura de
pantalla de Gnome-Term, una aplicación del emulador de terminal de Linux.

Independientemente del emulador de terminal utilizado, el usuario aún decide qué shell utilizar dentro de la
aplicación del emulador de terminal. Para cambiar el shell, el usuario debe tener el shell deseado instalado en
el sistema y configurar algunas opciones en un archivo de configuración. Si bien es importante comprender la
diferencia entre emulador de terminal y shell, reemplazar o configurar el shell predeterminado excede el
alcance de este curso.

Comandos básicos de Linux

Los comandos de Linux son básicamente programas creados para realizar una tarea específica del sistema.
Para añadir flexibilidad, algunos comandos admiten parámetros, opciones y switches. Estos generalmente van
precedidos por un guión ("-"). Las opciones y los switches admitidos por un comando son ingresados por el
usuario junto con el comando. Utilice el comando man para obtener documentación sobre otros comandos.
Por ejemplo, man ls proporcionará documentación sobre el comando ls del manual del usuario incorporado
en la versión que se ejecuta de Linux.

Para invocar un comando a través del shell, simplemente escriba el nombre. El shell intentará encontrarlo en
la ruta del sistema y, si lo encuentra, lo ejecutará.

La figura muestra una lista de algunos comandos básicos de Linux y sus funciones.

Haga clic aquí para experimentar una interfaz de línea de comandos de Linux en su navegador web.

Proceso de comandos de administración

Proceso es el término que se utiliza para hacer referencia a cualquier tarea ejecutada por el sistema. Un
programa de computadora es pasivo. Es un conjunto de instrucciones almacenado en un disco como código
ejecutable. Un proceso es en la práctica un programa en acción. Las ID de proceso, o PID, son ID exclusivas
asociadas a los procesos utilizadas por el núcleo para identificarlos. Como con cualquier otro sistema
operativo multitarea, Linux puede administrar varios procesos al mismo tiempo. Linux también incluye
herramientas para la administración y visualización de los procesos. Los siguientes son algunos comandos de
administración de procesos:

• ps: este comando se utiliza para enumerar los procesos en ejecución en el sistema cuando se invoca.
Se puede indicar a ps que muestre los procesos en ejecución que pertenecen al usuario actual o a otros
usuarios. Si bien enumerar procesos no requiere privilegios de raíz, eliminar o modificar otros procesos
del usuario puede que lo haga.

• top: este comando también se utiliza para indicar procesos en ejecución pero, a diferencia
de ps, top sigue mostrando los procesos en ejecución dinámicamente. Presione q para salir de top.

• kill:: este comando se utiliza para modificar el comportamiento de un proceso específico. Según los
parámetros, kill eliminará, reiniciará o detendrá un proceso. En muchos casos, el usuario
ejecutará ps o top antes de ejecutar kill. Esto se hace para que el usuario adquiera la PID de un
proceso antes de ejecutar kill.

Si se bloquea un proceso, puede ser necesario eliminarlo manualmente. Esto es común al crear programas,
ya que pueden funcionar de manera incorrecta y bloquearse. Una razón común para que un programa no
responda es un bucle mal construido que se ejecuta continuamente.

La figura muestra el comando top que se ejecuta en Linux.

Visualización de archivos y operaciones de archivos

En Linux, la mayoría de las entidades se trata como archivos. Con el objetivo de organizar el sistema y
reforzar los límites dentro del sistema, Linux utiliza permisos de archivos. Una de las características
principales de Linux es que los permisos de archivos se incorporan en la estructura del sistema de archivos y
proporcionan un mecanismo para definir los permisos en cada archivo. Esto significa que cada archivo en
Linux conlleva sus permisos de archivo que definen qué pueden hacer el usuario, el grupo y otros con el
archivo. Los posibles derechos de permisos son de lectura, escritura y ejecución. Considere el resultado del
comando ls - l a continuación:

rod@machine: $ ls -l My_Awesome_File

-rwxrw-r-- 1 rod staff 1108485 Aug 14 7:34 My_Awesome_File

user@machine: $

El resultado anterior proporciona mucha información sobre My_Awesome_File.

Conforme a las columnas que se muestran en la parte superior de la figura, la primera columna (extremo
izquierdo) del resultado anterior muestra los permisos asociados a My_Awesome_File. Los permisos de
archivos siempre se muestran en el orden Usuario, Grupo y Otro, lo que significa
que My_Awesome_File puede manejarse de la siguiente manera:

• El usuario que posee el archivo puede leer (Read), escribir (Write) y ejecutar (eXecute) el archivo. Esto
se representa con el primer “rwx” (de izquierda a derecha).

• El grupo que posee el archivo puede leer (Read) y escribir (Write) el archivo. Esto se representa con
“rw-”.

• Cualquier otro usuario o grupo del sistema solo puede leer (Read) el archivo. Esto se representa con “r--
”.
La segunda columna define el número de enlaces directos al archivo y no es importante para el alcance de
este curso.

La tercera y cuarta columna muestran el usuario y el grupo que poseen el archivo, respectivamente. En este
caso, el usuario rod y el grupo staff tienen un cierto nivel de propiedad sobre el archivo.

La quinta columna muestra el tamaño del archivo en bytes. My_Awesome_File tiene 1 108 485 bytes o cerca
de 1,1 MB.

La sexta columna muestra la fecha y la hora de la modificación más reciente.

La séptima columna muestra el nombre del archivo.

La figura muestra un desglose de los permisos de archivos en Linux.

Como mencionamos antes, los permisos de archivos son una parte fundamental de Linux y no se pueden
eliminar. Un usuario tiene tanto derecho a un archivo como el permiso del archivo se lo permite. El único
usuario que puede anular el permiso de un archivo en un sistema Linux es el usuario raíz. Al tener el poder de
anular los permisos de archivos, el usuario raíz puede escribir a cualquier archivo. Dado que todo en Linux se
trata como un archivo, el usuario raíz tiene control total sobre el sistema Linux.

El permiso de archivo es un concepto simple, pero extremadamente importante para el sistema Linux, dado
que con los permisos de archivos el sistema estructura su seguridad y definen sus límites. Un usuario común
no puede modificar los archivos o los recursos que no le pertenecen. Como consecuencia de esta
característica inherente, con frecuencia se requiere el acceso raíz antes de realizar tareas de mantenimiento y
administrativas.

Nota: el usuario raíz también es conocido como superusuario.

La Figura 2 muestra algunas herramientas de línea de comandos administrativas.

Administradores de paquetes

Un administrador de paquetes (también denominado sistema de administrador de paquetes) es un conjunto de


herramientas de software diseñadas para facilitar la instalación, la eliminación y la actualización de programas
informáticos. Los programas informáticos dependen de programas externos llamados bibliotecas para operar.
Mantener tales programas y sus bibliotecas manualmente no es escalable para un sistema con una gran
cantidad de programas instalados. Un administrador de paquetes puede ayudar a automatizar el proceso y
reducir los errores humanos.

Los diferentes sistemas operativos incluyen distintos administradores de paquetes. Debian y sus derivados
incluyen dpkg (administrador de paquetes Debian GNU/Linux). Para automatizar el proceso aún más, los
usuarios pueden utilizar apt como parte inicial para dpkg. Red Hat Linux y sus derivados utilizan RPM
(administrador de paquetes Red Hat) como administrador de paquetes predeterminado para las distribuciones
de Linux. Otro administrador de paquetes popular es yum (actualizador Yellowdog modificado). Yum es capaz
de seguir automáticamente las dependencias de un paquete e instalarlas antes de instalar el paquete.

Un administrador de paquetes generalmente incluye herramientas de usuario y un repositorio de paquetes


remoto. Las herramientas de usuario facilitan la administración de paquetes y pueden ser CLI o GUI. El
administrador de paquetes utiliza el repositorio remoto para alojar los paquetes. Los administradores de
paquetes son también muy útiles para el versionamiento de paquetes, lo que permite a los usuarios actualizar
o volver a la versión anterior de un paquete o ignorar una versión de paquete específica.

Antes de realizar correctamente cualquier operación del paquete, el usuario debe sincronizar el índice del
repositorio local con el índice remoto (por ejemplo: “apt-get update”). Un índice de repositorio es simplemente
una lista de paquetes y sus últimas versiones. Cuando se sincronizan los índices locales y remotos de
repositorios, el sistema puede compararlos con la versión actualmente instalada y recomendar
actualizaciones.

Según la decisión del usuario de actualizar un paquete o no, el administrador de paquetes descarga los
paquetes necesarios. Si estos paquetes tienen paquetes de dependencias, también se descargan. Una vez
que la descarga se ha completado, el administrador de paquetes los instala automáticamente.

Como Raspbian es un derivado de Debian, dpkg y apt se incluyen de forma predeterminada. Instalar, eliminar
y actualizar los paquetes en Raspberry Pi puede hacerse fácilmente con algunos comandos simples.

Variables y declaraciones básicas

Blockly es una herramienta de programación visual creada para ayudar a los principiantes a comprender los
conceptos de programación. Mediante el uso de múltiples tipos de bloques, Blockly permite que un usuario
cree un programa sin introducir ninguna línea de código.

Blockly implementa la programación visual mediante la asignación de diferentes estructuras de programas a


bloques de color. Los bloques también contienen ranuras y espacios que permiten que los programadores
ingresen los valores requeridos por la estructura. Los programadores pueden unir las estructuras de
programación arrastrando y asociando los bloques adecuados. Las estructuras de programación, como
subordinadas, bucles y variables, están todas disponibles para utilizar.

Una variable es una entidad de programación utilizada para almacenar datos. Básicamente, una variable es
una parte de la memoria que puede recibir un nombre legible para el almacenamiento de datos y la
recuperación. También se puede cambiar el contenido de una variable mientras se ejecuta el programa.

Crear una nueva variable en Blockly es sencillo: se debe arrastrar el bloque variable al espacio de trabajo y
completar la ranura de valor. La figura muestra una variable de Blockly.

Blockly también admite funciones. Al igual que las variables, Blockly tiene bloques específicos para
representar funciones. Asimismo, los programadores simplemente seleccionan y arrastran los bloques de
funciones al área del espacio de trabajo y completan las ranuras requeridas.

Observe que el bloque de variables y la impresión en el bloque de la pantalla tienen una ficha biselada en la
parte inferior y una ranura en la parte superior. Esto significa que los dos bloques pueden conectarse para
crear una secuencia de programa. Blockly ejecutará primero el bloque en la parte superior y continuará con el
bloque en la parte inferior.

Otros bloques están disponibles, como el bloque IF - THEN, el bloque WHILE y el bloque FOR. También hay
bloques específicos para los sensores y los accionadores.

Por último, Blockly se puede utilizar para traducir el código basado en bloques en Python o JavaScript. Esto
es muy útil para los programadores principiantes.

Subordinada IF - THEN

La estructura subordinada IF - THEN se utiliza para permitir que el código tome decisiones. Al probar la
veracidad de una expresión, el programa pasará a la siguiente declaración si la expresión se evalúa como
falsa. Si la expresión es verdadera, la acción THEN se ejecuta antes de pasar a la siguiente declaración del
código.

El programa Blockly que se muestra en la Figura 1 representa un programa que determina quién es la
persona más grande de las dos. El programa solicita al usuario que introduzca la edad de la primera persona
y la almacena en una variable llamada PERSON1. Después el programa solicita la edad de la segunda
persona y la almacena en otra variable llamada PERSON2. Por último, el programa compara las dos edades y
publica cuál es la mayor de las dos personas.

La Figura 2 muestra el código equivalente de Python.

Bucle WHILE

El bucle WHILE se utiliza para ejecutar un bloque de códigos siempre que una condición sea verdadera. El
código en el bucle WHILE a menudo modifica las entidades y las variables para finalmente hacer que la
expresión sea falsa. Si la expresión comprobada por WHILE nunca se torna falsa, el bucle se ejecuta
continuamente y se denomina bucle infinito. Por lo general, no se recomiendan bucles infinitos en la
programación.

El programa Blockly que se muestra en la figura utiliza el bucle WHILE para crear un juego de adivinanzas. El
programa elije un número al azar entre 1 y 10 y solicita al usuario que intente adivinarlo. El programa seguirá
repitiendo la conjetura hasta que el usuario adivine el número correcto.

Uso de Blockly para conocer Python

Python es un lenguaje muy común diseñado para ser fácil de leer y escribir. La comunidad de desarrolladores
de Python agrega valor al lenguaje creando todo tipo de módulos y poniéndolos a disposición de otros
programadores.

La filosofía base del lenguaje se resume en el documento Zen de Python:

• Hermoso es mejor que feo.

• Explícito es mejor que implícito.

• Simple es mejor que complejo.

• Complejo es mejor que complicado.

• La legibilidad es importante

A pesar del hecho de que Python está diseñado para ser simple, aún hay una curva de aprendizaje. Para que
conocer Python sea aún más fácil, un principiante puede utilizar Blockly para mejorar la comprensión de
Python.

Si bien los distintos lenguajes de programación tienen diferente semántica y sintaxis, todos comparten la
misma lógica de programación. Los principiantes pueden utilizar Blockly para crear fácilmente un programa
independiente del lenguaje, exportarlo como código de Python y usar el código recientemente creado para
aprender la sintaxis, la estructura y la semántica de Python.

Las Figuras 1 y 2 muestran el programa del juego de adivinanzas en formatos de Blockly y Python.

Interpretador de Python

Python es un lenguaje interpretado; por lo tanto, requiere un intérprete para analizar y ejecutar el código de
Python. El interpretador de Python comprende y ejecuta el código de Python. El hecho de que el código de
Python pueda crearse en cualquier editor de texto y que los intérpretes de Python estén disponibles para
muchos sistemas operativos permite que los desarrolladores de Python creen e implementen los programas
de Python prácticamente en cualquier sistema operativo. Las herramientas de terceros,
como Py2exe y Pyinstaller, también pueden utilizarse para incluir el código fuente de Python en un archivo
ejecutable, lo que elimina la necesidad de intérpretes de Python al ejecutar el código de Python.

En las máquinas Linux, el intérprete de Python está instalado generalmente


en /usr/bin/python o /usr/bin/python3 (según las versiones de Python disponibles en el sistema). Con el
nuevo instalador Windows de Python, Python se instala de manera predeterminada en el directorio de inicio
del usuario. En equipos Windows más antiguos, Python se colocaba en C:\PythonXX (donde XX es la versión
de Python). Una vez instalado el intérprete de Python, funciona de manera similar al shell de Linux. Esto
significa que, cuando se llama sin argumentos, lee y ejecuta comandos de forma interactiva; cuando se llama
con un argumento de nombre de archivo o un archivo como entrada estándar, lee y ejecuta una secuencia de
dicho archivo.

Para iniciar el intérprete, simplemente escriba python o python3 en el indicador del shell.

Algunos sistemas heredados todavía se están ejecutando en una versión anterior de Python 2, pero muchos
sistemas nuevos están migrando a la nueva versión 3 de Phyton. La versión de Python está impresa en la
primera línea cuando se inicia el intérprete (Figura 1). Este curso se basa en código de Python 3 y aunque es
bastante compatible con la versión anterior Python 2, algunas funciones pueden tener diferente conducta.

Cuando se llama al intérprete de Python sin argumentos y los comandos se ingresan mediante el teclado, el
intérprete se dice que está en modo interactivo. En este modo, el intérprete espera los comandos. El indicador
principal está representado por tres signos mayor que (>>>). Las líneas de seguimiento están representadas
por tres puntos (...). La línea de seguimiento es el indicador secundario predeterminado.

El indicador >>> indica que el intérprete está listo y espera los comandos.

Las líneas de seguimientos son necesarias al introducir un código multilínea. La Figura 2 muestra el bloque IF
- THEN escrito en Python.

Otra forma de utilizar el intérprete es python -c command [arg] ... que ejecuta las declaraciones en el
comando. Como las declaraciones de Python suelen contener espacios u otros caracteres determinados del
shell, se recomienda incluir el comando completo entre comillas simples.

Variables y declaraciones básicas en Python

El intérprete recibe y ejecuta las declaraciones interactivamente.

El intérprete actúa como calculadora simple. Puede ingresar una expresión y escribirá el valor. La sintaxis de
la expresión es directa. Los operadores +, -, * y / funcionan al igual que en la mayoría de los otros lenguajes
(por ejemplo, Pascal o C). Los paréntesis (()) pueden utilizarse para agrupar, como se muestra en la Figura 1.

El modo interactivo de Python implementa la variable especial “_” para sostener el resultado de la última
expresión publicada, como se muestra en la Figura 2.

Las variables son áreas de memoria rotuladas que se utilizan para almacenar datos de programas de tiempo
de ejecución. Para asignar valores a las variables en Python, use el signo = (igual). No se muestra ningún
resultado antes del siguiente indicador interactivo, como se muestra en la Figura 3.

Los intentos de utilizar una variable no definida (sin ningún valor asignado) resultarán en un error, como se
muestra en la Figura 4.

Las secuencias, definidas como secuencias de caracteres, también pueden manejarse desde el modo
interactivo. Utilice el carácter de barra invertida (“\”) para sustraerse de los caracteres. Por ejemplo, una
cadena que utiliza comillas dobles, pero que también necesita utilizar una comilla doble dentro de la cadena.
Si la cadena se ingresa de la siguiente manera: "I really "need" this"., Python se confundirá y pensará que la
primera comilla doble dentro de la cadena finaliza realmente la cadena. Si coloca una barra invertida (\) antes
de las comillas dobles dentro de la cadena de la siguiente manera: "I really \"need\" this", la barra invertida
(\) hará que Python se sustraiga o ignore el carácter que sigue.

Las comillas simples o comillas dobles pueden utilizarse para envolver las cadenas, como se muestra en la
Figura 5.

La declaración de publicación publica el resultado de la expresión dada. Difiere de la escritura simple de la


expresión que se desea escribir (como hicimos anteriormente en los ejemplos de cálculo) en la manera en que
se administran las expresiones y cadenas múltiples. Las cadenas se publican sin comillas y se inserta un
espacio entre los elementos para formatear las cosas correctamente, como se muestra en la Figura 6.

Las funciones son una parte importante de muchos lenguajes de programación. Las funciones permiten que
un bloque de códigos reciba un nombre y se vuelva a utilizar según sea necesario. El siguiente ejemplo define
una función para agregar dos números y publicar el resultado, como se muestra en la Figura 7.

Funciones útiles y tipos de datos en Python

Python admite muchas funciones y tipos de datos útiles. Algunos de los más importantes son los siguientes:

Range(): la función range() genera una lista de números utilizados generalmente para iterar con los bucles
FOR. La Figura 1 muestra ejemplos de la función range().

range(stop): cantidad de números enteros a generar desde cero.

range([start], stop[, step]: a partir del número de secuencia, genera números hasta dicho número (sin
incluirlo), diferenciando entre cada número en la secuencia.

Tuplas

Una tupla es una secuencia de objetos incambiables de Python. Las tuplas son secuencias separadas por
paréntesis. La Figura 2 muestra ejemplos de tuplas.

Listas

Las listas son una secuencia de objetos cambiables de Python. Las listas pueden crearse configurando
distintos valores separados por comas entre corchetes. La Figura 3 muestra ejemplos de listas y cómo pueden
actualizarse.

Conjuntos

Los conjuntos son colecciones no ordenadas de elementos exclusivos. Las aplicaciones comunes incluyen
pruebas de membresía, cancelaciones de duplicados de una secuencia y cálculos de operaciones
matemáticas estándar en conjuntos, como intersecciones, uniones, diferencias y diferencias simétricas. La
Figura 4 muestra ejemplos de paquetes.

Diccionario

Un diccionario es una lista de elementos separados por comas. Cada elemento es una combinación de un
valor y una clave única. Cada tecla se separa de su valor por dos puntos. El diccionario completo se escribe
entre llaves. Se puede acceder a, actualizar o eliminar los elementos del diccionario. También hay muchas
funciones integradas en el diccionario, como la función que compara elementos dentro de diferentes
diccionarios y la que proporciona un conteo de la cantidad total de elementos de un diccionario. La Figura 5
muestra ejemplos de diccionarios.
IF - THEN en Python

Al igual que otros lenguajes, Python implementa la estructura IF - THEN. Los bloques IF - THEN se pueden
utilizar para permitir que el código tome decisiones según el resultado de una expresión, como se muestra en
la figura.

El código realiza algunas pruebas y publica un mensaje conforme a los resultados de la prueba. Observe que
Python también implementa dos subestructuras denominadas ELSE y ELIF. ELSE permite al programador
especificar instrucciones para ejecutar si la expresión es falsa. La forma abreviada de ELSE IF, ELIF, se usa
para realizar una segunda prueba en caso de que la primera expresión sea falsa y se requiera otra prueba.
Puede haber cero o más ELIF y la parte ELSE es opcional.

Bucle FOR en Python

El bucle FOR en Python itera los elementos de cualquier secuencia (una lista o una cadena) en el orden en
que aparecen en la secuencia, como se muestra en la figura.

Páncreas artificial hecho con Raspberry Pi

Su tamaño pequeño y bajos requisitos de recursos hacen que Raspberry Pi sea como una navaja suiza
multiuso para IoT. Este tema explora algunos proyectos interesantes que utiliza Raspberry Pi.

Dana Lewis ha vivido con diabetes tipo 1 desde los 14 años. El páncreas de las personas con diabetes tipo 1
no produce suficiente insulina para administrar el azúcar en la circulación sanguínea. Las personas como
Dana deben supervisar y corregir los niveles de insulina. Debido a que el monitor que utilizaba tenía muchos
defectos, Dana y su esposo decidieron utilizar Raspberry Pi para construir un páncreas artificial, como se
muestra en la figura.

Obtenga más información sobre el proyecto en: https://www.raspberrypi.org/blog/artificial-raspberry-pi-


pancreas/.

Control de Arduino a través de Pi

Si bien Raspberry Pi es una computadora eficaz y flexible, existen algunas tareas que no administra bien. Esto
se debe a que RaPi no cuenta con pines analógicos. Los sensores, como los termómetros, los sensores de
luz y los sensores de presión de aire, ofrecen señales analógicas. Debido a que RaPi no se envía con pines
analógicos, deben realizarse algunas soluciones alternativas.

Otro ejemplo se relaciona con el tamaño; si bien RaPi es muy pequeña y tiene pocos requisitos de energía,
algunos proyectos pueden requerir controladores incluso más pequeños. Para esas situaciones, puede ser
mejor trabajar con un microcontrolador de Arduino. Arduino también es pequeño y consume muy poca
energía, pero incluye pines analógicos. Esto hace que Arduino sea perfecto para trabajar con sensores y
dispositivos analógicos.

Puede conectar y controlar Arduino directamente desde su computadora. Debido a que RaPi es una
computadora completa, también es posible utilizarla para conectar y controlar Arduino. Si utiliza su PC o PI, es
necesario instalar algún software específico antes de que la computadora pueda interactuar con Arduino. Otro
punto importante es que Arduino a menudo ejecuta códigos escritos en C. Algunos dispositivos Arduino
admiten firmware alternativo que puede implementar otros lenguajes, como Python, pero esta no es la norma.
Cuando se instale el software adecuado, utilice un cable USB para conectar Arduino con RaPi. El software
facilitará la transferencia de datos entre RaPi y Arduino, lo que permite que un usuario alterne el código,
ejecute programas y reciba datos de Arduino.

En esta configuración, con Arduino conectado a RaPi mediante el USB, Arduino también puede actuar como
controlador secundario, administrando los datos recibidos de los sensores analógicos y retransmitiéndolos
para procesarlos en la más potente Raspberry Pi. Esto también permite la creación de un entorno de
configuración de Arduino, donde el código puede crearse en RaPi y alternarse con Arduino para su
evaluación. Cuando el usuario está satisfecho y listo para implementar Arduino por su cuenta, Arduino puede
desconectarse e instalarse en la ubicación planificada.

La figura muestra una imagen de RedBoard de Arduino conectado a Raspberry Pi 3 a través de un cable USB.

Introducción del modelo de automatización doméstica

Packet Tracer (PT) no solo es una herramienta útil para modelar, simular y probar entornos de red, sino que
puede hacer lo mismo con las soluciones de IoT. PT 7.0 brinda soporte para varios dispositivos y
funcionalidades de IoT que permiten diseñar y crear soluciones completas de IoT.

Entre los dispositivos de IoT admitidos por PT 7.0, es posible destacar los modelos programables de
sensores, accionadores, microcontroladores, computadoras de una sola placa y dispositivos de computación
en la niebla. Esto permite diseñar, configurar, programar y resolver los problemas de los modelos cada vez
más sofisticados de sistemas de IoT. La Figura 1 muestra una captura de pantalla de PT 7.0 y de muchos de
sus dispositivos admitidos.

Un buen ejemplo de lo que PT 7.0 puede hacer con las simulaciones de IoT se muestra en el hogar
inteligente. La Figura 2 muestra una captura de pantalla del hogar inteligente integrado en PT. El modelo
incluye puertas conectadas, puertas conectadas del garaje, rociadores de agua conectados, detectores de
humo conectados, ventiladores de techo conectados y más. Todo esto se puede controlar y supervisar a
través de una interfaz web desde cualquier dispositivo en el hogar, como una tablet, un smartphone o una
computadora portátil. PT 7.0 hace todo esto mientras representa la red subyacente con routers inalámbricos,
cables y switches.

Componentes del sistema

En el ejemplo del hogar inteligente, todos los dispositivos se conectan al gateway del hogar. El gateway del
hogar actúa como concentrador para todos los dispositivos, proporcionando conectividad cableada e
inalámbrica. También en el gateway doméstico se crea y aloja la interfaz web para permitir que los usuarios
controlen y monitoreen todos los dispositivos conectados.

La Figura 1 muestra una captura de pantalla de la ventana del gateway doméstico.

En el modelo, los sensores monitorean el entorno y garantizan que los valores permanezcan dentro de un
umbral predefinido. Si el valor monitoreado supera el umbral definido, se toman medidas. El detector de humo,
un sensor que monitorea los niveles de CO2 en el hogar, tiene un valor predefinido de 0,4. Si el nivel medido
supera 0,4, la alarma se desactiva. El detector de humo no tiene ninguna funcionalidad controlada por el
usuario, simplemente responde al entorno.

Las conexiones de red entre el gateway doméstico y otros dispositivos de red también están representadas.
Observe cómo el gateway doméstico se conecta a un cable módem que, a su vez, se conecta a un divisor. El
divisor divide la señal proveniente del ISP y envía señales de televisión por cable al televisor y datos al cable
módem. El par de cable módem y divisor es lo que proporciona conectividad de Internet al gateway doméstico
y al hogar entero.
Nota: si bien PT 7.0 es potente y flexible, varios sensores y accionadores pueden tener diferentes conexiones.
PT 7.0 implementa Ethernet por cable e inalámbrica, pero no implementa otras conexiones posibles.

Capítulo 3: el software es todo

Los programas (a los que también se les llama código) se utilizan en IoT para proporcionarles lógica e
inteligencia a los dispositivos. Agrupando adecuadamente estructuras de lógica especiales, un programador
puede crear un código para permitir que un dispositivo de IoT ejecute tareas tales como monitoreo,
comunicación con otros, procesamiento de datos y más.

Raspberry Pi, una computadora de una sola placa, está diseñada para ser pequeña y consumir muy poca
energía. La PL-App de Cisco permite el acceso a la Raspberry Pi directamente desde la red sin necesidad de
un monitor, un teclado o un mouse para conectarse. Raspberry Pi ejecuta Raspbian, una versión modificada
del código abierto y el sistema operativo Linux de amplia difusión. Raspberry Pi admite distintos lenguajes de
programación, incluido Blockly, un lenguaje de programación visual diseñado para ayudar a los principiantes a
aprender a programar. Este curso se centra en Python, un lenguaje de programación popular, simple y
potente.

Con el soporte agregado para Python, Cisco Packet Tracer es una gran herramienta para modelar, probar y
hacer prototipos de los sistemas completos de IoT.

LAN y WAN

El propósito de las redes es permitir la transmisión de mensajes entre varios dispositivos conectados.
Históricamente, la caracterización principal de las redes se basaba en la amplitud geográfica y en el alcance
de la administración de las redes. Las redes se categorizaban como redes de área local (LAN) o redes de
área amplia (WAN). La diversidad y la cantidad adicional de dispositivos conectados y las diversas
necesidades de conectividad de los dispositivos IoT dieron lugar a nuevas variaciones en los tipos de redes.
Conectar los servidores en un centro de datos es un problema diferente que conectar los microcontroladores
inalámbricos en un automóvil o conectar los sensores de una plaza de estacionamiento a los controladores.
Aunque los requisitos de conexión son diferentes, los sistemas fundamentales de redes que admiten cada una
de las diferentes necesidades son básicamente iguales.

La ruta que toma un mensaje desde el origen hasta el destino puede ser tan sencilla como un solo cable que
conecta una PC con otra o tan compleja como una red que literalmente abarca el mundo. La infraestructura de
red contiene tres categorías de componentes de red:

• Dispositivos

• Medios

• Servicios

Las figuras 1 a 3 representan los componentes de red.

Los dispositivos y los medios son los elementos físicos o hardware de la red. Por lo general, el hardware
consta de los componentes visibles de la plataforma de red, como PC portátiles, PC, switches, routers, puntos
de acceso inalámbricos o el cableado que se utiliza para conectar esos dispositivos.

Los servicios incluyen una gran cantidad de aplicaciones de red comunes que utilizan las personas a diario,
como los servicios de alojamiento de correo electrónico y los servicios de alojamiento web. Los procesos
proporcionan la funcionalidad que direcciona y traslada mensajes a través de la red. Los procesos son menos
obvios para nosotros, pero son críticos para el funcionamiento de las redes.
Una LAN es una infraestructura de la red que abarca un área geográfica pequeña. Las características
específicas de las LAN incluyen lo siguiente:

• Las LAN interconectan terminales en un área limitada, como una casa, un lugar de estudios, un edificio
de oficinas o un campus.

• Por lo general, la administración de las LAN está a cargo de una única organización o persona. El
control administrativo que rige las políticas de seguridad y control de acceso está implementado en el
nivel de red.

• Las LAN proporcionan un ancho de banda de alta velocidad a los dispositivos finales internos y a los
dispositivos intermediarios.

Una red de área personal (PAN) es un tipo de LAN útil para IoT. Una PAN es una red que abarca algunos
metros alrededor de la persona, generalmente con tecnología inalámbrica. Una PAN está destinada a
interconectar dispositivos como equipos portátiles, teléfonos móviles, auriculares y cualquier otra tecnología
personal. A menudo utiliza tecnologías inalámbricas de rango corto como Bluetooth.

Una LAN utilizada para conectar máquinas en la planta es un ejemplo de un uso más nuevo de la definición
de LAN que ha llegado a admitir la IoT. En este caso, es común escuchar la expresión “planta de producción”
para indicar el área específica ocupada por las máquinas industriales. El término “Internet industrial” a menudo
especifica los dispositivos que pueden funcionar en el entorno industrial. Este entorno se caracteriza por un
alto nivel de polvo, ruido, variaciones de temperatura y vibración mecánica. En estas situaciones todavía se
utilizan las tecnologías basadas en Ethernet, pero están surgiendo cada vez más tecnologías inalámbricas
como el mejor enfoque para admitir los entornos de fábricas inteligentes y otros entornos “atípicos”.

Una WAN es una infraestructura de la red que abarca un área geográfica extensa. En general, las WAN
pertenecen a empresas o a proveedores de servicios de Internet. A menudo, la administración de las WAN
está a cargo de proveedores de servicios (SP) o proveedores de servicios de Internet (ISP). Una red
empresarial puede administrarse internamente pero utilizar servicios WAN de un ISP.

Las características específicas de las WAN incluyen lo siguiente:

• Las WAN interconectan LAN a través de áreas geográficas extensas, por ejemplo, ciudades, estados,
provincias, países o continentes.

• Las WAN pueden incluir los segmentos de red administrados por varios proveedores de servicios.

• Normalmente, las WAN proporcionan enlaces de velocidad más lenta entre redes LAN.

La Internet WAN tradicional utiliza principalmente tecnologías de conexión por cable y el sistema se conecta a
la red de energía eléctrica para alimentarse. A menudo, en el caso de las WAN de IoT, la interconexión podría
utilizar enlaces inalámbricos y sensores con batería. Debido a estas nuevas limitaciones, ha surgido una
nueva clase de tecnologías WAN denominada Low Power Wide Area Network (LPWAN) que permite
interconexiones inalámbricas de ancho de banda reducido de los dispositivos con batería que se extienden en
un área geográfica.

Dispositivos de red y medios de comunicación

Los dispositivos de red son dispositivos que se conectan entre sí a través de una red. Los dispositivos de red
tradicionales con los que la gente está más familiarizada se denominan terminales. Algunos ejemplos de
terminales se muestran en la figura 1. En el espacio de IoT, todo puede convertirse en un dispositivo en red.
La Figura 2 muestra ejemplos de terminales domésticos. Para ver un conjunto de dispositivos conectados a
productos electrónicos, haga clic aquí.
Un dispositivo final o terminal es el origen o el destino de un mensaje transmitido a través de la red, tal como
se muestra en la animación de la figura 3. Para distinguir un terminal de otro, cada terminal en la red se
identifica por una dirección. Cuando un terminal inicia una comunicación, utiliza la dirección del terminal de
destino para especificar adónde se debe enviar el mensaje.

Los dispositivos intermedios conectan los terminales individuales a la red y pueden conectar varias redes
individuales para formar una internetwork. Los dispositivos intermedios proporcionan conectividad y garantizan
el flujo de datos en toda la red.

Estos dispositivos utilizan la dirección del terminal de destino, conjuntamente con información sobre las
interconexiones de la red, para determinar la ruta que deben tomar los mensajes a través de la red. Algunos
ejemplos de los dispositivos intermediarios más comunes son gateways, routers, switches y routers
inalámbricos.

La comunicación a través de una red es transportada por un medio. El medio proporciona el canal físico por el
cual viaja el mensaje de origen a destino.

Como se muestra en la Figura 4, las redes modernas utilizan principalmente tres tipos de medios para
interconectar los dispositivos y proporcionar la ruta por la cual pueden transmitirse los datos.

• Hilos metálicos dentro de cables: los datos se codifican en impulsos eléctricos.

• Fibras de vidrio o plástico (cable de fibra óptica): los datos se codifican como pulsos de luz.

• Transmisión inalámbrica: los datos se codifican mediante ondas de radio

Los diferentes tipos de medios de red tienen diferentes características y beneficios. No todos los medios de
red tienen las mismas características ni son adecuados para todos los propósitos. Por ejemplo, las
tecnologías inalámbricas que conectan sensores pueden tener diferentes características en las siguientes
áreas:

• el rango de uso va desde algunos centímetros a muchos kilómetros

• la cantidad del ancho de banda va desde algunos kilobits por segundo hasta gigabits por segundos

• la cantidad de consumo de energía va de nanowatts a algunos watts

Elegir la tecnología adecuada es una importante decisión de diseño que depende de la aplicación específica
de IoT.

La figura 5 muestra los criterios por considerar al momento de elegir los medios de red.

Protocolos de red

Aunque se requieren los medios adecuados para la comunicación de dispositivos, no es suficiente. Los
dispositivos deben cumplir las reglas comunes de comunicación antes de que puedan comunicarse. Estas
reglas se llaman protocolos.

Al igual que los lenguajes humanos, los dispositivos de red aprovechan las reglas específicas de
comunicación para asegurar que se envíen y reciban los mensajes y que puedan comprenderse. Dos familias
de protocolos muy importantes son Ethernet y TCP/IP.

Ethernet es una familia de tecnologías y protocolos que rige la comunicación entre los dispositivos locales y
asegura que puedan comunicarse correctamente mientras comparten el mismo medio de comunicación. Sin
Ethernet, las señales transmitidas por los dispositivos de red en medios compartidos podrían interferir y
volverse ilegibles.

TCP/IP es la familia de protocolos que interconecta miles de millones de dispositivos de las redes en toda la
Internet. Observe que mientras Ethernet y TCP/IP son protocolos de comunicación, tienen funciones y roles
muy diferentes en la comunicación de dispositivos de red. Ethernet asegura el uso correcto de los medios
locales, mientras que TCP/IP facilita la comunicación remota y es independiente de los medios. Se dice que
un dispositivo de red admite un protocolo de red específico cuando se ha configurado o programado el
dispositivo de red para enviar y recibir mensajes que cumplen con las reglas definidas por el protocolo de red
admitido.

En el dominio de IoT, están surgiendo protocolos nuevos que enriquecen el conjunto TCP/IP y se ocupan de
los requisitos específicos de la IoT. Muchas aplicaciones emergentes de IoT como la automatización
industrial, la agricultura inteligente y las ciudades inteligentes, requieren redes que admiten la adquisición de
datos inalámbricos a gran escala y los bucles de retroalimentación en los accionadores que se basan en
dispositivos integrados de baja energía.

A menudo, estas redes tienen conexiones que normalmente son menos confiables que las redes de TI típicas
de oficina. Algunas de estas nuevas redes denominadas redes de bajo consumo y con pérdidas (LLN) suelen
tener velocidades de transmisión más bajas y un mayor índice de pérdida de paquetes debido a varios
factores como antenas pequeñas, CPU, memoria, energía y factores ambientales. Mientras que Ethernet y
TCP/IP aún se reconocen universalmente como los protocolos principales de Internet, los protocolos
necesarios para admitir la IoT todavía se encuentran en desarrollo.

Nota: las reglas y los mecanismos específicos implementados por los protocolos emergentes exceden el
alcance de este curso. Haga clic aquí para más información.

Routing básico

Internet consta de LAN interconectadas por enlaces WAN. Para pasar de una LAN a otra (origen a destino),
los paquetes deben atravesar una o más redes. En tal situación, LAN y WAN actúan como rutas de tránsito
para los paquetes.

El proceso de dirigir un paquete hacia su destino se denomina routing y es la función principal de un router.
Los routers son dispositivos de red intermediarios. Son responsables de dirigir los paquetes por las redes,
hacia su destino final. Ya sea routing local (paquetes de routing dentro de las LAN) o routing remoto (paquetes
de routing entre las LAN), los routers son dispositivos de red intermediarios esenciales. Dado que puede
haber varias rutas para que un paquete vaya de origen a destino, también es la responsabilidad de un router
elegir la mejor ruta.

La figura muestra las LAN y sus respectivos enlaces WAN.

Los terminales que funcionan en redes de bajo consumo o con pérdidas (LLN) están limitados por la potencia,
la memoria, bajas velocidades de transmisión de datos y problemas ambientales. Los routers utilizados en los
mismos entornos “no tradicionales” también tienen las mismas limitaciones. Están surgiendo nuevos
protocolos de routing para admitir routers en estas situaciones inestables.

Nota: los detalles de cómo los routers eligen la mejor ruta de origen a destino exceden el alcance de este
curso.

LAN, WAN e Internet

En una pequeña oficina u oficina en el hogar (SOHO, small office or home office), es común utilizar un único
router. Este router es responsable de proporcionar conectividad a todos los dispositivos locales (PC, tablets,
smartphones y dispositivos inteligentes), a través de una conexión inalámbrica o por cable. El router de una
pequeña oficina u oficina en el hogar (SOHO) también actúa como punto de conexión entre la red de dicha
oficina e Internet. En esta situación, la red SOHO es una LAN, conectada al resto de las LAN (Internet)
mediante un enlace WAN. El enlace WAN proviene de un proveedor de servicios de Internet (ISP). Este
enlace WAN de ISP se conecta al router SOHO mediante un puerto especial, específicamente diseñado para
una conexión WAN.

Para los dispositivos locales SOHO, el router SOHO es la única forma de alcanzar las redes remotas. Debido
a esto, el router SOHO actúa como el gateway predeterminado para todos los dispositivos locales SOHO.
Cuando se enviarán los paquetes a destinos remotos, todos los dispositivos locales SOHO saben que deben
enviar el paquete al gateway predeterminado.

Todos los dispositivos conectados a Internet deben contar con un identificador único. El protocolo de Internet
(IP) define e implementa este identificador único como una dirección IP. Debido a que el IP es el protocolo de
comunicación más popular utilizado en Internet en la actualidad, si un dispositivo desea conectarse y
comunicarse en Internet, debe cumplir con las reglas de IP.

Todos los dispositivos locales deben configurarse con direcciones IP únicas. Los dispositivos locales también
deben configurarse con la dirección IP del gateway predeterminado que deben utilizar para alcanzar las redes
remotas. Cuando se completa la configuración, los dispositivos locales pueden comunicarse entre sí
directamente, utilizando las direcciones IP únicas. Si un dispositivo local desea comunicarse con una red
remota, debe enviar el paquete al gateway predeterminado, ya que el éste es el punto de salida para la LAN.

Un dispositivo local configurado con una dirección IP única pero no configurado con la dirección de su
gateway predeterminado, aún puede comunicarse de manera local pero no podrá comunicarse con ninguna
red remota.

La figura muestra cómo las LAN y WAN conforman Internet.

Protocolos de IoT

Los dispositivos IoT suelen ser dispositivos integrados con poca memoria y una disponibilidad de alimentación
limitada. Debido a que los dispositivos IoT a menudo se implementan en condiciones deficientes como
exteriores, plantas de producción o en el cuerpo humano, es posible que algunos requisitos básicos como la
alimentación y la conectividad de red se vean limitados. Estos desafíos obligan a los diseñadores de IoT a
trabajar con un conjunto diferente de protocolos creados específicamente para la IoT y sus desafíos
particulares.

Mientras que gran parte del éxito de la web se basa en el uso de un enfoque cliente-servidor utilizando el
protocolo HTTP para intercambiar mensajes, en el caso de las redes de IoT están surgiendo diferentes
enfoques. CoAP y MQTT son dos protocolos de datos comunes en la IoT.

CoAP (protocolo de aplicación restringida) es un protocolo destinado a los dispositivos IoT con recursos
limitados que permite que los dispositivos IoT se comuniquen con Internet. CoAP se basa en HTTP y el
modelo de REST donde los recursos se recuperan de un servidor con URI/URL. Los clientes utilizan métodos
conocidos de GET, PUT, POST y DELETE para manipular estos recursos. CoAP puede utilizarse a través de
otros mecanismos, como SMS en redes de comunicación móvil.

CoAP está diseñado para proporcionar soporte multidifusión, baja sobrecarga y simplicidad. Está diseñado
para funcionar en microcontroladores con 10 KB de RAM y 100 KB de espacio de almacenamiento a la vez
que proporciona una seguridad sólida.

El protocolo de MQTT proporciona un enfoque diferente. MQTT (transporte de telemetría de cola de


mensajes) es un protocolo ligero. MQTT es más adecuado para sistemas que dependen de conexiones de
ancho de banda reducido y requieren un código con poca repercusión. Los protocolos de MQTT utilizan el
concepto de comunicaciones de publicación o suscripción entre nodos.
El esquema de publicación o suscripción requiere la presencia de un nodo intermedio denominado agente de
mensajes. Cada fuente de datos debe publicar el elemento de datos en el nodo de agente que indique a que
“tema” pertenecen los datos. Los nodos interesados en recibir los datos sobre un tema específico deben
suscribirse a ese tema en el agente. Luego, el agente distribuirá los mensajes a los clientes interesados según
el tema del mensaje.

Más información sobre MQTT en http://mqtt.org/

Protección de la red de IoT

Los dispositivos IoT son cada vez más comunes en nuestra vida cotidiana. A medida que la IoT se integra
cada vez más en las actividades diarias de las personas, los dispositivos manejan más datos confidenciales.
La información personal relacionada con la salud, la ubicación, los recursos, las preferencias personales y las
conductas pasan por los dispositivos de IoT en grandes volúmenes. Este aumento del volumen eleva la
importancia del incremento de la atención brindada a la privacidad y la protección de los datos.

Para abordar la privacidad de los datos, los diseñadores de sistema deben realizar preguntas como las
siguientes: ¿Qué datos pueden recopilarse? ¿Qué formulario de consentimiento se requiere? ¿A quién se le
debe permitir ver los datos?

Muchas aplicaciones de IoT generan firmas rastreables de la ubicación y el comportamiento de los usuarios.
Este proceso trabaja en contra de la privacidad de los datos. Para enfrentar esto, los dispositivos IoT deben
poder verificar la propiedad del dispositivo y la identidad del propietario mientras que desacopla el dispositivo
del propietario. Este proceso se denomina imitación. Una sombra digital permite que los objetos del usuario
actúen en representación de un usuario mediante una identidad virtual.

La seguridad de datos debe asegurarse de que los datos no se filtren hacia afuera de la aplicación diseñada o
de que los datos no se alteren o eliminen por un ataque a la seguridad. Un elemento fundamental en la
seguridad de la red es la identidad del dispositivo y los mecanismos para autenticarlo. Cuando sea posible, los
dispositivos deben utilizar un cifrado sólido y esquemas de autenticación. Los nuevos protocolos de
autenticación y autorización se encuentran en proceso de desarrollo. Por ejemplo, actualmente el Instituto
Nacional de Normas y Tecnología (NIST) de los Estados Unidos está trabajando en una nueva versión
compacta del algoritmo hash seguro SHA-3 que se utilizará para dispositivos inteligentes o integrados.

La figura muestra un ejemplo de un marco de IoT seguro. Define los siguientes componentes:

• Autenticación: los dispositivos IoT que se conectan a la red crean una identidad válida basada en la
relación de confianza a través de mecanismos como: contraseñas, tokens, biometría, RFID, certificado
digital X.509, secreto compartido o dirección MAC de terminales.

• Autorización: se establece una relación de confianza en función de la autenticación y la autorización de


un dispositivo que determine a qué información puede accederse y compartirse.

• Política de red aplicada: controla todos los elementos que enrutan y transportan de manera segura el
tráfico de terminales en la red a través de protocolos de seguridad establecidos.

• Análisis seguro: visibilidad y control: proporciona reconocimiento, detección de amenazas y mitigación


de amenazas para todos los elementos que agreguen y correlacionen información.

WiFi

Los dispositivos inalámbricos constituyen una de las mayores áreas de crecimiento para la IoT. Se han
desarrollado muchas tecnologías inalámbricas nuevas y protocolo para incluir la variedad de dispositivos
nuevos y sus diferentes requisitos para la conectividad. ZigBee, Bluetooth, 4G/4G y LoRaWAN son algunos
ejemplos de estas tecnologías inalámbricas.

Algunos de los protocolos inalámbricos están diseñados para redes de rango corto, algunas para rango medio
y otras para rango largo. La Figura 1 muestra un gráfico que clasifica los diferentes protocolos según el rango
que admiten.

Las redes de baja potencia y área amplia (LPWAN) son una red de comunicaciones inalámbricas diseñada
para admitir las comunicaciones de largo alcance para los dispositivos con baja velocidad de bits como
sensores, accionadores y controladores. Las LPWAN proporcionan una excelente cobertura en áreas
urbanas, rurales y remotas. El área de la señal varía de 5 a 40 km según la abertura de la ubicación
geográfica. Las estaciones base tienen una vida útil de la batería de 10 años y admiten miles de dispositivos.
Algunos ejemplos de protocolos de LPWAN son LoRaWAN, Weightless-N y RPMA.

Los diseñadores de sistema seleccionarán la tecnología inalámbrica en función del rango de cobertura, los
requisitos de ancho de banda, el consumo de energía y la ubicación de la implementación. La Figura 2
compara topologías inalámbricas en función de estos criterios.

ZigBee

ZigBee es una especificación de protocolos inalámbricos de baja energía, de baja potencia y de baja
velocidad de transmisión de datos utilizada para crear redes de área personal. Algunas áreas de utilización
incluyen la domótica, la recopilación de datos de dispositivos médicos y otras necesidades de ancho de banda
reducido y baja potencia. Construido en función de la especificación de estándares basados en IEEE
802.15.4, ZigBee está diseñada para ser más simple y económica que otras redes de área personal
inalámbricas, como Bluetooth o wifi. Las aplicaciones basadas en ZigBee incluyen switches inalámbricos de
luz, medidores eléctricos con pantallas domésticas, sistemas de administración de tráfico y otros equipos
industriales y de consumo que requieren una transferencia de datos inalámbrica de rango corto y bajo índice.

Las redes inalámbricas de bajo consumo y bajo costo de ZigBee normalmente se utilizan con dispositivos que
cuentan con una prolongada vida útil de la batería que se utilizan en aplicaciones inalámbricas de monitoreo y
control. La especificación de ZigBee define una velocidad de transferencia de 250 kbps y es más adecuada
para las transmisiones de datos intermitentes.

Al funcionar en la banda de frecuencias de radio industriales, científicas y médicas (ISM), ZigBee se ha vuelto
muy popular para utilizarse en dispositivos IoT. Para incluir las capacidades de ZigBee en sus dispositivos, los
diseñadores de IoT suelen utilizar chips de ZigBee, integrados con radios y con microcontroladores.

La especificación de ZigBee depende de un dispositivo principal denominado coordinador de ZigBee.


Encargado de administrar todos los dispositivos de clientes de ZigBee, el coordinador de ZigBee es
responsable de la creación y el mantenimiento de la red de ZigBee. El coordinador puede hablar hasta con
ocho terminales o routers en cualquier combinación. Si un terminal se encuentra demasiado lejos del
controlador, puede utilizarse un router de ZigBee para conectar los datos entre el coordinador y el terminal.

La Figura 1 muestra un dispositivo ZigBee. La Figura 2 muestra algunas topologías de ZigBee y los roles de
los dispositivos.

Cada solicitud de datos que se envía o recibe de ZigBee utiliza un número de identificación del perfil de la
aplicación. Los números de ID del perfil de la aplicación son números de 16 bits relacionados con perfiles
públicos, los perfiles de fabricación o perfiles privadas.

Por ejemplo, la domótica es un perfil público de aplicación. Este perfil define los dispositivos en red de ZigBee
destinados al uso doméstico, como interruptores, termostatos, calentadores, aires acondicionados y sistemas
de entrada sin llave. Este perfil asegura que los dispositivos de un fabricante interactúen con los dispositivos
de otro.
Los perfiles privados se usan para aplicaciones en las que los dispositivos de proveedores diferentes no
necesitan interactuar.

La Figura 3 muestra un cuadro con algunos ID de perfil público de ZigBee.

4G/5G

Las redes de datos basadas en telefonía móvil también constituyen una opción para IoT. Esta tecnología
avanzada permite que los dispositivos IoT aprovechen las comunicaciones en áreas geográficas extensas.

En los últimos 30 años el sector móvil ha evolucionado exponencialmente; desde la primera generación (1G)
en la década de 1980, la segunda generación (2G) en la década de 1990, la tercera generación (3G) en el
2000, la cuarta generación (4G) en 2010 y ahora la quinta generación emergente (5G) que se espera para
2020.

La cuarta generación (4G) es la actual tecnología basada en telefonía móvil para la transferencia de datos. El
estándar de telecomunicaciones móviles internacionales avanzadas (IMT-Avanzadas, International Mobile
Telecommunications Advanced) define el ancho de banda de cualquier sistema 4G en 100 Mbps para la
comunicación de alta movilidad, como trenes y automóviles, y en 1 Gbps para la comunicación de baja
movilidad, como peatones y usuarios fijos. El ancho de banda alto admitido por los sistemas 4G permite que
se admitan una gran cantidad de aplicaciones en las plataformas móviles. Proporciona soporte para voz,
telefonía IP, acceso a Internet móvil, videollamadas, servicios de videojuegos, computación en la nube,
televisión móvil de alta definición y televisión móvil 3D. Long Term Evolution (LTE) y WiMAX (IEEE 802.16e)
son dos sistemas 4G populares.

La última versión de tecnología 4G LTE es la versión 13e que incluye la estandarización de IoT de banda
estrecha (o NB-IoT, NarrowBand IoT), una tecnología de LPWAN.

Aunque las redes de datos de red celular son una excelente manera de conectar dispositivos IoT, la
tecnología aún es costosa. Los servicios celular insisten con los pagos mensuales vinculados al límite de
datos. Además, el hardware requerido para tener acceso a una red celular también es costoso, principalmente
debido a la propiedad intelectual y al uso de espectros de radiofrecuencia autorizados.

El término 5G, abreviatura de 5.ª generación, es el siguiente conjunto de estándares de telecomunicaciones


propuesto para reemplazar a los estándares actuales de 4G/IMT-Avanzadas. La investigación y el desarrollo
de 5G mejoran las comunicaciones de IoT, al reducir los costos, el consumo de batería y la latencia.

La alianza de redes móviles de última generación define los siguientes requisitos que debe cumplir un
estándar 5G:

• Velocidades de transmisión de datos de decenas de megabits por segundo para decenas de miles de
usuarios

• Velocidades de transmisión de datos de 100 megabits por segundo para áreas metropolitanas

• 1 Gb por segundo simultáneamente para muchos trabajadores en el mismo piso de oficinas

• Varias cientos de miles de conexiones simultáneas para redes masivas de sensores inalámbricos

• Eficiencia espectral significativamente mejorada en comparación con 4G

• Mejor cobertura

• Mayor eficacia de la señal


Protección de la red inalámbrica

Debido a su naturaleza, las redes inalámbricas no tienen límites claros. Proteger las comunicaciones
inalámbricas requiere un cifrado sólido, autenticación y protocolos seguros.

Acceso protegido por wifi (WPA, wifi Protected Access) y Acceso protegido por wifi II (WPA2) son dos
protocolos de seguridad y programas de certificación de seguridad desarrollados por la wifi Alliance para
proteger las redes de computadoras inalámbricas. Las redes inalámbricas que utilizan WEP o WPA/TKIP no
son muy seguras y son vulnerables ante ataques de hacking.

WPA2 implementa AES, un algoritmo de cifrado sólido, y es más seguro que WPA. WPA2, una
implementación interoperable de 802.11i, actualmente es la opción más comúnmente implementada de
seguridad inalámbrica. Las redes inalámbricas que utilizan WPA2/AES deben tener una contraseña de 21
caracteres como mínimo. Si se encuentra disponible una VPN IPsec, debe utilizarse en cualquier red LAN
inalámbrica pública. WPA2 también tiene una característica adicional denominada tramas de administración
protegidas (protected management frames). Esta característica protege las tramas de administración de
unidifusión y multidifusión contra intercepciones y falsificaciones.

La autenticación ahora constituye un componente fundamental de la política inalámbrica de la empresa. La


arquitectura 802.11i especifica 802.1x para su autenticación, que conlleva el uso de EAP y un servidor de
autenticación.

Haga clic aquí para ver un video que resalta la vulnerabilidad de utilizar una zona de cobertura inalámbrica
insegura en una cafetería.

Cuando se diseña un dispositivo IoT basado en wifi o una red inalámbrica, también deben tenerse en cuenta
varias consideraciones de seguridad como: la selección de un protocolo seguro, la protección de tramas de
administración, la identificación de interferencias de frecuencias, la detección de puntos de acceso dudosos y
el uso de seguridad en la capas de aplicación.

Una de las amenazas de seguridad inalámbrica más comunes es la presencia de puntos de acceso dudoso.
Un punto de acceso dudoso no se aprueba por su administración pero, de todos modos, trabaja en la red
segura. Los empleados que buscan acceso inalámbrico gratuito o los intrusos con intenciones más maliciosas
pueden configurar estos puntos dudosos. Los administradores de seguridad deben publicar y aplicar reglas
estrictas referentes a los puntos de acceso dudoso, emplear análisis de puntos de acceso activos para
detectar puntos dudosos y utilizar la autenticación entre los dispositivos en la red.

Seleccione un protocolo inalámbrico con seguridad sólida y comprobada. Muchos protocolos como LoRoWAN
y Bluetooth proporcionan un cifrado excelente. Aunque ZigBee es uno de los estándares internacionales de
comunicación y es muy fácil de implementar, todavía no es perfecto. Al momento de la escritura, la versión 1.2
de ZigBee tiene varias vulnerabilidades de seguridad graves y susceptibles a ataques. La mayoría de estas
fallas del diseño de protocolos se relacionan con los intentos de hacer más fácil que el usuario final agregue
un dispositivo de ZigBee a la red de ZigBee. Debido a estas vulnerabilidades, la versión 1.2 de ZigBee no
debe utilizarse en aplicaciones críticas.

Si bien la mayoría de los protocolos tienen métodos de seguridad integrales, todavía es posible que se lancen
ataques contra las redes celulares. Debido a que la confidencialidad de los datos del usuario es
responsabilidad del proveedor del servicio celular, estos ataques aumentarían el riesgo de violaciones de
datos cuando éstos se transmiten por redes celulares. Por este motivo se recomienda que la seguridad en
forma de autenticación y cifrado de datos esté implementada como parte de las aplicaciones que utilizan
tecnologías como VPN y TLS/SSL.

Modelo de computación en la nube


La computación en la nube es un servicio que ofrece acceso bajo demanda a un grupo compartido de
recursos informáticos configurables. Estos recursos, a menudo implementados fuera de las instalaciones,
pueden estar disponibles rápidamente con un mínimo de esfuerzo de la administración.

Los proveedores de servicios en la nube utilizan centros de datos para sus servicios en la nube y sus recursos
basados en la nube. Para garantizar la disponibilidad de los servicios de datos y los recursos, los proveedores
mantienen a menudo espacio en varios centros de datos remotos.

La computación en la nube admite una variedad de problemas de administración de datos:

• Permite el acceso a los datos de organización en cualquier momento y lugar.

• Optimiza las operaciones de TI de una organización suscribiéndose únicamente a los servicios


necesarios.

• Elimina o reduce la necesidad de equipos, mantenimiento y administración de TI en las instalaciones.

• Reduce el costo de equipos y energía, los requisitos físicos de la planta y las necesidades de
capacitación del personal.

• Permite respuestas rápidas a los crecientes requisitos de volumen de datos.

Con su modelo de “pago según el consumo”, la computación en la nube permite que las organizaciones
consideren los gastos de computación y almacenamiento más como un servicio que como infraestructura. En
términos comerciales, esto significa que los costos iniciales requeridos para configurar una infraestructura de
TI (gastos de capital) ahora se transformaron en gastos operativos.

Actualmente, hay más de 3000 centros de datos en todo el mundo que ofrecen servicios de alojamiento
general a personas y organizaciones. Existen muchos más centros de datos que pertenecen a empresas del
sector privado y que son operados por estas para su propio uso.

La computación en la nube ofrece servicios en las siguientes áreas:

• Infraestructura como servicio (IaaS): un proveedor proporciona el hardware que incluye servidores y
otros componentes de infraestructura que se ajustan bajo demanda. El proveedor se encarga del
mantenimiento del sistema, las copias de seguridad y la planificación de continuidad.

• Plataforma como servicio (PaaS): un proveedor proporciona la plataforma, los servidores, el


almacenamiento y los sistemas operativos para que los usuarios desarrollen e inicien las aplicaciones.

• PaaS móvil (mPaaS): los proveedores proporcionan las capacidades de desarrollo para los diseñadores
y desarrolladores de aplicaciones móviles.

• Software como servicio (SaaS): el software, como la mensajería, el procesamiento de datos de IoT, el
procesamiento de nóminas, los videojuegos y la declaración de impuestos, se autoriza en mediante una
suscripción y se aloja en servidores de nube.

Modelo de computación en la niebla

El modelo de computación en la niebla identifica una infraestructura de computación distribuida más cercana
al perímetro de la red. Habilita los dispositivos perimetrales para que ejecuten aplicaciones y tomen decisiones
inmediatas. Esto reduce la carga de datos en redes ya que los datos sin procesar no necesitan enviarse a las
conexiones de red. Aumenta la resistencia al permitir que los dispositivos IoT funcionen cuando se pierde la
conexión a Internet. También aumenta la seguridad al evitar que los datos sensibles se transporten más allá
del perímetro donde se necesitan.

La computación en la niebla amplía la conectividad de la nube más cerca del perímetro. Permite a los
terminales, como los medidores inteligentes, los sensores industriales, las máquinas robóticas, etc.,
conectarse a un sistema local de cómputo, redes y almacenamiento integrados.

La computación en la niebla incluye una combinación de soluciones de hardware y software. Algunas


plataformas de computación en la niebla admiten un sistema operativo especial denominado Cisco IOx. Este
sistema operativo básicamente combina CISCO IOS y Linux de código abierto. Esto permite que un router de
IoT ejecute el IOS y una aplicación en la niebla basada en Linux sin tener que interactuar con la nube.

Todas las aplicaciones en la niebla monitorean o analizan datos en tiempo real desde elementos conectados
en red y luego tomar medidas como bloquear una puerta, cambiar la configuración de un equipo, activar los
frenos de un tren, acercar con una videocámara, abrir una válvula en respuesta a una lectura de presión, crear
gráfico de barras o enviar una alerta a un técnico para realizar una reparación preventiva. La acción puede
incluir comunicaciones de máquina a máquina (M2M) e interacciones de máquina a persona (M2P).

Considere un semáforo inteligente. El semáforo interactúa de manera local con varios sensores que puedan
detectar la presencia de peatones y ciclistas, y mide la distancia y la velocidad de los vehículos que se
aproximan. El semáforo también interactúa con las luces vecinas que proporcionan un esfuerzo coordinado.
De acuerdo con esta información, el semáforo inteligente envía señales de advertencia a los vehículos que se
aproximan y modifica su propio ciclo para prevenir accidentes. Los datos que obtuvo el sistema de semáforos
inteligentes se procesan de manera local para realizar análisis en tiempo real. La resincronización con los
sistemas de semáforos inteligentes cercanos en la niebla permite cualquier modificación del ciclo. Por
ejemplo, puede cambiar la temporización de los ciclos en respuesta a las condiciones del camino o a los
patrones de tráfico. Los datos de los clústeres de los sistemas de semáforos inteligentes se envían a la nube
para analizar los patrones de tráfico a largo plazo.

Cisco prevé que el 40% de datos con IoT creados se procesarán en la niebla para 2018.

Crecimiento de los datos

La proliferación de dispositivos de IoT es uno de los principales motivos de crecimiento exponencial de la


generación de datos. Mientras que la cantidad de sensores y otros terminales crece exponencialmente, se
utilizan cada vez más los routers móviles para administrar mejor el tráfico de Internet para los sistemas que
están literalmente en movimiento. Los routers móviles se implementan en aviones, vehículos comerciales e
incluso en automóviles personales. No solo IoT está creciendo, sino que en realidad se están moviendo sus
límites. Así como la llegada del roaming inalámbrico mejoró acceso a Internet, la implementación de redes
móviles está cambiando la psicología y el comportamiento de consumidores y empresas al aumentar las
exigencias para el acceso a pedido en cualquier momento y lugar.

Imagine un sensor en un semáforo inteligente que recopile datos sobre la cantidad de automóviles que por allí
por minuto. Los datos recopilados serían pocos, lo que requiere un espacio de almacenamiento reducido.
Ahora imagine los semáforos inteligentes en toda una ciudad metropolitana, como la Ciudad de México D.F. o
Londres. Ahora habría miles o millones de sensores recopilando datos similares sobre el tráfico. En términos
de los requisitos de almacenamiento y análisis, ¿qué requeriría dicho aumento exponencial en la recopilación
de datos?

Todo tiene que ver con los datos

Los datos se han vuelto cada vez más importantes en los negocios y en la vida cotidiana. Este crecimiento
exponencial de los datos ha creado una nueva área de interés en tecnología y negocios denominada “datos
masivos” (big data). En general, los datos masivos son tan amplios y complejos que se vuelven difíciles de
almacenar, procesar y analizar con aplicaciones tradicionales de almacenamiento de datos y análisis.
Los datos masivos generalmente se caracterizan en tres dimensiones: volumen, velocidad y variedad.

El volumen describe la cantidad de datos que se transporta y se almacena, El desafío actual consiste en
descubrir formas de procesar con mayor eficacia las crecientes cantidades de datos, que se prevé que
aumenten unas 50 veces para 2020, hasta alcanzar los 35 zettabytes.

Velocidad describe el ritmo al que se generan estos datos. Por ejemplo, los datos generados por miles de
millones de acciones vendidas en la bolsa de valores de Nueva York no pueden simplemente almacenarse
para un análisis posterior. La infraestructura de red debe poder responder de inmediato a las demandas de las
aplicaciones que tienen acceso y transmiten los datos.

Variedad describe el tipo de datos, que rara vez se encuentran en un estado que esté perfectamente listo para
procesar y analizar. Los datos no estructurados (archivos de registro aplicaciones, imágenes, videos, etc.)
constituyen un gran colaborador para los datos masivos y se calcula que en cualquier parte representan entre
el 70 y el 90% de los datos del mundo.

Los datos que son altos en uno o más de las 3 V crean una situación de datos masivos.

Las características de los datos masivos requieren cambios radicales en la forma que se admiten. Las
plataformas de computación deben poder procesarlos; la red debe poder transportarlos; los sistemas de
almacenamiento deben poder almacenarlos y recuperarlos; y deben tomarse medidas de seguridad para
protegerlos.

Los datos son muy valiosos; por este motivo, constituyen el motor principal que impulsa los avances en
tecnología. Los datos masivos han impulsado la creación de muchos enfoques nuevos hacia el
almacenamiento y la computación. Apache Hadoop, Spark, Cassandra y Kafka son algunos ejemplos de
proyectos de código abierto que se encargan de diferentes aspectos del almacenamiento, la computación y la
transmisión de conjuntos de datos masivos.

Packet Tracer: explore el hogar inteligente

En esta actividad, explorará el ejemplo de hogar inteligente. Según la aplicación, algunos datos se procesan
mejor cerca de la fuente. El ejemplo de hogar inteligente aprovecha la computación en la niebla para
monitorear y responder a los niveles de humo detectados en el hogar.

Almacenamiento de datos

Según la aplicación de IoT, es posible que se requiera que los dispositivos IoT almacenen datos durante un
período de tiempo antes de enviarlos para su procesamiento. Esta situación es común con dispositivos que no
mantienen conexiones constantes a sus gateways o controladores. Un buen ejemplo de esta situación son los
rastreadores de vehículos instalados en los camiones de transporte. Es posible que el sistema esté creado
para soportar períodos en los que los rastreadores se encuentran fuera del alcance y no pueden comunicarse
para transmitir la ubicación de camión. Si esto ocurre, los rastreadores almacenarán los datos en el mismo
dispositivo. A modo de ejemplo, considere un automóvil conectado. Si presenta un daño irreparable, la
compañía de seguros podría optar por subastarlo, junto con los datos del propietario aún almacenados en los
dispositivos de almacenamiento del automóvil. En ambos ejemplos los datos deben mantenerse cifrados para
evitar la alteración o el robo de los mismos.

Desde hace un tiempo, los dispositivos de almacenamiento portátiles y de escritorio (discos duros y SSD) han
incluido el soporte para el cifrado incorporado. Conocidos como unidades de cifrado automático, estos
dispositivos de almacenamiento se destacan porque la capacidad de cifrado está incorporada en el
controlador de la unidad y permiten que la misma unidad realice el cifrado y el descifrado, independientemente
del sistema operativo.
Si bien no están incluidos en todos los dispositivo IoT, los fabricantes están comenzando a lanzar nuevos
dispositivos con memoria flash de cifrado automático. Ya sea en formato de dispositivo de memoria o tarjeta
SD, el concepto de dispositivos de almacenamiento con cifrado automático es muy importante para IoT.

A menudo, los servicios en la nube confían en los servidores para proporcionar servicio. Deben cifrarse los
datos almacenados en estos servidores para evitar el robo o la alteración de datos. También es obligatorio
realizar copias de seguridad regulares para minimizar las pérdidas en caso de un desastre.

Cisco reconoce la necesidad de seguridad y privacidad de datos. Haga clic aquí para leer una descripción
general de la seguridad y privacidad dentro de la plataforma de nube y mensajería de Cisco Spark.

Transmisión de datos

Los dispositivos IoT a menudo son dispositivos pequeños y económicos, con poca o ninguna seguridad.
Aunque estos dispositivos son PC, dependen de recursos informáticos y de memoria limitados y es posible
que no admitan algoritmos de seguridad complejos y en desarrollo. Los algoritmos de encriptación moderna
pueden requerir mayor poder de procesamiento del que está disponible en IoT. Además de la seguridad física,
el dispositivo IoT debe poder proteger su propio firmware y los datos que transmite. Si los datos no se
protegen correctamente mediante la encriptación, pueden ser interceptados, capturados o manipulados
mientras están en tránsito. Cualquiera de estas acciones pueden poner en peligro la confianza del sistema y
hacer que los datos no sean confiables.

Para mitigar este problema, asegúrese de que los dispositivos IoT ejecuten la última versión del firmware y los
protocolos. También asegúrese de que todas las comunicaciones se realicen mediante el uso de protocolos
que proporcionen un cifrado seguro de manera predeterminada. El algoritmo de cifrado debe ser sólido, y los
algoritmos más antiguos suelen presentar debilidades susceptibles a ataques. Independientemente del
método de cifrado elegido, asegúrese de todos los terminales acepten los parámetros más seguros
disponibles. Un ataque común es engañar a los dispositivos para que acepten parámetros de seguridad
deficientes por los cuales pueden producirse ataques a la conexión. También es importante utilizar y verificar
los certificados digitales. A menudo esto es un reto con los pequeños dispositivos IoT debido a su memoria y
capacidad de CPU limitadas.

También deben protegerse los servidores y terminales de la nube y utilizar algoritmos de cifrado sólido antes
de comunicarse con los dispositivos IoT. Si el dispositivo IoT depende de un dispositivo intermediario como un
gateway o un controlador, este dispositivo intermediario también debe utilizar cifrado sólido. Naturalmente, los
dispositivos intermediarios también deben mantenerse actualizados con el software más reciente para evitar
que el dispositivo se convierta en el eslabón débil que rompe la cadena.

Capítulo 4: redes, computación en la niebla y en la nube

La información personal relacionada con la salud, la ubicación, los recursos, las preferencias personales y las
conductas pasan por los dispositivos de IoT en grandes volúmenes. Este aumento del volumen eleva la
importancia del incremento de la atención brindada a la privacidad de los datos y la protección de los datos.

Los nuevos protocolos y tecnologías inalámbricas, como ZigBee, Bluetooth, 4G/4G y LoRaWAN, se han
desarrollado para alojar diversos dispositivos de IoT. La tecnología inalámbrica se selecciona en función del
rango de cobertura, los requisitos de ancho de banda, el consumo de energía y la ubicación de la
implementación.

Las consideraciones de seguridad inalámbrica incluyen: selección de un protocolo seguro, protección de


tramas de administración, identificación de interferencias de frecuencias, detección de puntos de acceso no
autorizados y uso de seguridad en la capas de aplicación.
La computación en la nube es un servicio que ofrece acceso bajo demanda fuera de las instalaciones a un
grupo compartido de recursos informáticos configurables. La computación en la nube ofrece servicios tales
como IaaS, PaaS, mPaaS y SaaS.

El modelo de computación en la niebla identifica una infraestructura de computación distribuida más cercana
al perímetro de la red. Habilita los dispositivos perimetrales para que ejecuten aplicaciones y tomen decisiones
inmediatas.

La proliferación de dispositivos de IoT es uno de los principales motivos de crecimiento exponencial de la


generación de datos. Los datos pueden considerarse como móviles o inmóviles. Los datos masivos
generalmente se caracterizan en tres dimensiones: volumen, velocidad y variedad.

Los datos almacenados en los servidores deben cifrarse para evitar el robo o la alteración de datos. Es
obligatorio realizar copias de seguridad regulares para minimizar las pérdidas en caso de un desastre.

Los dispositivos de IoT deben ejecutar la última versión del firmware y los protocolos; cualquier comunicación
entre los dispositivos debe realizarse a través de protocolos que brinden encriptación de seguridad
predeterminada.

Conectar las cosas

Internet de las cosas (IoT) se trata de conectar lo que no está conectado. Permite acceder por Internet a
objetos a los que, históricamente, no se podía acceder. Con 26 300 millones de dispositivos conectados para
el año 2020 (de acuerdo con la proyección actual del Índice Cisco VNI), el mundo propiamente dicho
“desarrollará un sistema nervioso” y tendrá la capacidad de detectar las crecientes cantidades de datos y de
responder a ellas.

Considerar como ejemplo una red doméstica típica, como la que se muestra en la figura. 1. Se trata de una
LAN pequeña con dispositivos conectados al router del hogar. Algunos dispositivos pueden conectarse al
router mediante una conexión Ethernet cableada. Sin embargo, la mayoría de los dispositivos se conectan al
router mediante la LAN inalámbrica (WLAN). El router doméstico se conecta a Internet a través de un
proveedor de servicios de Internet (ISP) local. El ISP local se conecta a otros ISP, lo que permite el acceso a
sitios web y contenidos de todo el mundo.

Muchas redes domésticas ahora permiten que los dispositivos de IoT se conecten a Internet. Por ejemplo, la
figura 2 muestra una red doméstica que utiliza conexiones de máquina a máquina (M2M) para conectar una
serie de alarmas de incendio y sensores de seguridad en el hogar. Estos sensores se comunican entre sí y
envían datos a través del router de gateway (router doméstico) a un entorno de servidores en la nube donde
se acumulan y analizan los datos.

Las aplicaciones industriales en IoT requieren de un mayor grado de confiabilidad y autonomía en relación con
el requerido para el entorno del cliente. Algunas aplicaciones industriales requieren operaciones y cálculos
que se producen con demasiada rapidez como para depender de la intervención humana. En la figura 3, por
ejemplo, si un smartphone no puede recordarnos una cita, representa un inconveniente. Sin embargo, si el
sistema de frenos de un camión de minería de gran porte falla, las consecuencias pueden ser nefastas para el
conductor y la mina.

Conexión y digitalización de la industria

IoT conecta objetos y máquinas a Internet. Conecta dispositivos informáticos tradicionales con dispositivos no
tradicionales. En IoT, el M2M permite la comunicación entre máquinas sin necesidad de intervención humana.
Por ejemplo, el M2M se produce en automóviles con sensores de temperatura y del aceite que se comunican
con una computadora integrada.
Haga clic en Reproducir en la figura para ver cómo Cisco desarrolla soluciones de digitalización para todos
los tipos de sectores.

Desafíos relacionados con la conexión de las cosas

Nos hemos embarcado en una nueva ola de digitalización para conectar lo que no está conectado. Para
aprovechar este movimiento de la digitalización, las empresas y ciudades implementan cada vez más
soluciones de IoT. Sin embargo, este rápido aumento en el crecimiento también presenta nuevos desafíos, a
saber:

• Cómo integrar millones de cosas representadas por dispositivos de diversos proveedores que utilizan
aplicaciones personalizadas

• Cómo integrar cosas nuevas a la infraestructura de red existente

• Cómo proteger los dispositivos nuevos, cada uno configurado con diversos niveles de seguridad

Para ayudar a abordar estos desafíos, Cisco presentó un enfoque a IoT denominado Sistema de IoT de Cisco.
Haga clic en Reproducir en la figura para obtener más información sobre el Sistema de IoT de Cisco.

Los seis pilares del Sistema de IoT de Cisco

Cisco introdujo el sistema IoT de Cisco para ayudar a las organizaciones y a los sectores a adoptar soluciones
de IoT. Específicamente, el sistema IoT de Cisco reduce las complejidades de digitalización para la
manufactura, las utilidades, petróleo y gas, transporte, búsqueda, y las organizaciones del sector público.

El sistema de IoT proporciona una infraestructura diseñada para administrar sistemas de gran escala de
terminales y plataformas muy diferentes, y la gran cantidad de datos que crean. El Sistema de IoT de Cisco
utiliza un conjunto de productos nuevos y existentes para contribuir a reducir la complejidad de la
digitalización.

El Sistema de IoT de Cisco utiliza los seis pilares descritos en la figura para identificar elementos
fundamentales.

Soporte de IoT en la industria

Existen diferentes tipos de redes: redes domésticas, redes de Wi-Fi públicas, redes de empresas en
crecimiento, redes empresariales, redes de proveedores de servicios, redes del centro de datos, redes en la
nube, y redes de IoT. Sin importar el tipo de red, todos requieren de dispositivos que ofrezcan conectividad de
red. Sin embargo, el equipo de conectividad de red varía según el tipo de red. Por ejemplo, las redes
domésticas suelen estar compuestas por un único router inalámbrico de banda ancha, mientras que las redes
empresariales tienen varios switches, puntos de acceso (AP), firewalls, routers y más.

El principio básico de la conectividad de red IoT de Cisco identifica los dispositivos que pueden utilizarse para
proporcionar conectividad de IoT a muchas industrias.

Haga clic en Reproducir en la figura para ver un video sobre cómo la tecnología Digital Ceiling de Cisco
transforma la experiencia de trabajo al interior.

Cada sector posee cosas comunes y particulares que necesita conectar. Esto significa que hay diferentes
tipos de equipos en distintas ubicaciones y condiciones. Por estos motivos, los dispositivos de IoT industriales
tienden a fabricarse con estándares más elevados y resistentes que los de la mayoría del resto de los
dispositivos de red.

Dispositivos de IoT industriales

El principio básico de la conectividad de red IoT de Cisco identifica los siguientes dispositivos de diseño
específico. Los dispositivos Cisco que se muestran en las figuras 1 a 4 cuentan con la certificación
correspondiente para cumplir con elevados estándares ambientales. Entre otros, se incluyen:

• Routers industriales (figura 1)

• Switches industriales (figura 2)

• Tecnología inalámbrica industrial (figura 3)

• Redes integradas (figura 4)

Estos dispositivos pueden admitir una variedad de interfaces de comunicación, entre ellas Ethernet, serial,
celulares, WiMAX, malla de radiofrecuencia (RF), LoRaWAN y otros protocolos de IoT. Estos dispositivos
pueden proporcionar datos seguros, voz y comunicaciones de video.

Haga clic aquí para obtener más información sobre los productos de conectividad de red de IoT de Cisco.

Administración de dispositivos

Los dispositivos de red envían y reciben diferentes flujos de tráfico. Estos flujos de tráfico se pueden agrupar
en tres categorías diferentes: tráfico de datos, tráfico de control y tráfico de administración. Estos flujos tienen
diferentes funciones y, en consecuencia, el dispositivo en sí suele describirse como compuesto por tres
planos: el plano de datos, el plano de control y el plano de administración.

• Plano de datos: también llamado plano de reenvío, es una abstracción lógica de todas las actividades
realizadas por los dispositivos para recibir datos de otros dispositivos y reenviarlos al siguiente
dispositivo en su trayecto hacia el destino.

• Plano de control: aquí es donde debería tomarse la decisión sobre qué ruta deben seguir los datos. El
plano de control de dispositivos adyacentes permite intercambiar información para encontrar la mejor
estrategia para reenviar los datos. Esto es lo que sucede en el enfoque estándar de routing.

• Plano de administración: el tráfico en este plano se utilizará para acceder al dispositivo en sí. Aquí es
donde, en el caso de una red estándar de TI, el administrador de red se conecta para modificar la
configuración o actualizar el software que se ejecuta en el dispositivo.

La administración de los nodos de IoT a menudo se realiza con un enfoque estándar de conexiones remotas
con Telnet, SSH o interfaces web. Sin embargo, este enfoque no es escalable debido a la gran cantidad de
dispositivos de IoT. Para administrar correctamente estas grandes cantidades de dispositivos, se requiere de
una forma de administración más automatizada.

Hasta hace poco tiempo, algunos fabricantes de dispositivos no prestaban atención al hecho de asegurar la
gestión del canal de comunicación a los terminales. El uso de contraseñas predeterminadas y protocolos de
conexión remota no seguros derivó en la transformación de cientos de miles de cámaras IP a un vector de
ataque para el mayor ataque de Denegación de servicio distribuida ocurrido hasta la fecha.
Haga clic aquí para obtener más información sobre la botnet de IoT Mirai.

El plano de administración contribuye a administrar el dispositivo, mientras que el plano de datos reenvía la
información. Sin embargo, la seguridad provista por los dispositivos de IoT debe examinarse en detalle.
Asegurar el plano de administración del dispositivo resulta fundamental para evitar su uso inadecuado. ¿Es
seguro el firmware que se ejecuta en el dispositivo? ¿Podemos confiar en el productor del dispositivo para
incorporarlo a nuestra red doméstica?

Recuerde que es en nuestro hogar donde nos sentimos seguros para usar los servicios bancarios en línea,
presentar nuestros impuestos de manera electrónica o consultar nuestros registros médicos.

¿Está seguro de que el hermoso timbre que utiliza su red de Wi-Fi no permite la fuga de información a algún
tipo de servidor de dudosa procedencia?

Asegurar los planos de datos y administración en IoT

Existen diversos métodos para garantizar el plano de control, incluido el uso de contraseñas seguras y cifrado
de datos. Por ejemplo, tomemos el ejemplo de una cafetera inteligente con un microcontrolador incorporado y
conectividad Wi-Fi. El fabricante de la cafetera se puede conectar a la red y controlarla con una aplicación
desde un dispositivo inteligente. Los mensajes intercambiados entre la cafetera inteligente y el dispositivo
inteligente se cifran para proteger el plano de control.

El plano de administración suele estar protegido por medio de la actualización del sistema operativo (OS) (o
firmware) en el dispositivo de IoT. Sin embargo, esto a veces se pasa por alto. Por ejemplo, ¿se actualiza con
regularidad la cafetera inteligente? ¿Qué sucedería si un atacante descubre una vulnerabilidad en el modelo
de la cafetera? ¿Puede verse comprometida y utilizarse como plataforma de lanzamiento para infringir
ataques más dañinos?

Estas son algunas cosas que se pueden hacer para minimizar el problema que surge cuando la integridad de
su red se ve comprometida por la incorporación de un dispositivo de IdC:

• Asegúrese de que el nuevo dispositivo de IoT pueda actualizarse fácilmente.

• Compre de fabricantes de confianza.

• Conecte los dispositivos de IoT a un segmento diferente de la red o conéctelos a otra LAN virtual
(VLAN).

• Busque e implemente actualizaciones del sistema de manera regular.

• Asegúrese de que los nombres de usuario/las contraseñas predeterminados se hayan cambiado.

• Asegúrese de que el acceso administrativo al dispositivo sea posible únicamente desde redes
confiables.

• Desactive todos los servicios innecesarios.

Protección de las cosas con el Sistema de IoT de Cisco

IoT puede introducir nuevos vectores de ataque que no suelen encontrarse en las redes empresariales
habituales.
El pilar de la seguridad del Sistema de IoT de Cisco ofrece soluciones escalables de ciberseguridad, lo que
permite que la organización pueda detectar, contener y solucionar los ataques de manera rápida y efectiva
para minimizar el daño.

Estas soluciones de ciberseguridad incluyen:

• Seguridad de tecnología operacional (OT): OT es el hardware y software que permiten que las
plantas de la fábrica funcionen y que se ocupan de administrar las líneas de proceso de la fábrica.

• Seguridad de la red de IoT: incluye los dispositivos de seguridad de redes y perimetrales, como
switches, routers y dispositivos de firewall de ASA.

• Seguridad física de IoT: incluye la videovigilancia que puede implementarse en una amplia variedad de
entornos.

Haga clic en Reproducir en la figura para ver un video sobre las soluciones de Seguridad de IoT de Cisco.

Mercados horizontales

El mercado horizontal satisface las necesidades comunes o similares de una amplia variedad de sectores,
como servicios de salud, manufactura, energía y servicios públicos. Como se muestra en la figura, las
empresas de seguridad, las empresas de tecnología de la información y las empresas financieras son
ejemplos de sectores que operan en mercados horizontales. Por ejemplo, una empresa de seguridad
informática proporciona soluciones para proteger el hardware, el software y la información para una amplia
variedad de sectores.

Los productos para mercados horizontales se comercializan a distintas empresas. Tienden a ser menos
especializados que un producto diseñado para un cierto tipo de industria con necesidades específicas. Por
ejemplo, una empresa que se especializa en sistemas de iluminación inteligentes de IoT puede comercializar
a cualquier cantidad de distintos tipos de clientes, entre los que pueden mencionarse ciudades, fabricantes,
prestadores de servicios de salud y consumo hogareño.

Mercados verticales

Un mercado vertical está compuesto por empresas que ofrecen productos y servicios a un conjunto de
clientes con necesidades especiales. Por ejemplo, el equipo de manufactura que se utiliza en la fabricación de
semiconductores o el software de registro de visitantes utilizado por la industria hotelera son productos
específicos del sector respectivo. Entre los mercados verticales comunes, pueden mencionarse el automotriz,
la actividad bancaria, la educación, los servicios de salud, el comercio minorista y los sectores tecnológicos.

La figura muestra un ejemplo de servicios de IoT que pueden ofrecerse en mercados verticales.

Soluciones integradas

Independientemente del sector, IoT crea nuevas oportunidades para la interacción y la relación entre una
variedad de dispositivos conectados. La integración de los dispositivos de IoT crea un sistema interconectado
que aporta valor. Estos dispositivos, componentes y servicios seguirán conectándose de las maneras
tradicionales. Sin embargo, la integración habilitada por IoT genera nuevas oportunidades empresariales y
experiencias del cliente.
Por ejemplo, un estadio deportivo conectado puede reunir todas las formas de comunicación y entretenimiento
en una sola red. Los lugares, equipos y seguidores están conectados de nuevas maneras, y se crean nuevos
niveles de valor para todos, como se muestra en la figura.

IoT no se trata exclusivamente de la conexión de dispositivos individuales. También se trata de la integración


de dichos dispositivos como un sistema integral, con un enfoque holístico. El resultado es un valor más
elevado y beneficios en general, que, exponencialmente, son superiores de lo que puede ofrecer cada
dispositivo individual.

Internet industrial

Internet industrial es un término que hace referencia a la integración de la maquinaria física compleja con los
sensores conectados y el software. Debido a la creciente incorporación de IoT, los datos están cada vez más
disponibles, los sensores son cada vez más sofisticados y el procesamiento informático se está volviendo
menos costoso. Estos hechos contribuyen a la recopilación y el análisis de datos de diversos sectores con el
objetivo de colaborar con el proceso de toma de decisiones.

Por ejemplo, los automóviles autónomos utilizan datos ambientales, datos visuales en tiempo real y
localizadores de GPS para permitir que el automóvil se traslade de manera segura a su destino evitando los
obstáculos.

Internet industrial aun se encuentra en su primera etapa de desarrollo. En este momento, la aplicación más
común es el mantenimiento predictivo. Los equipos, como trenes, aviones, MRI y escáneres de CT registran
ciertos factores, como horas de funcionamiento, niveles de resultados de las partes principales e información
ambiental que afecta al equipo. Según los datos recopilados y analizados, el dispositivo puede predecir
cuándo requiere mantenimiento. Esto ahorrará tiempo de inactividad inesperado y accidentes potenciales
producto de maquinarias defectuosas.

Los expertos predicen que Internet industrial aportará billones de dólares a la economía global en los
próximos años.

Desafíos en los servicios de salud

El sector de servicios de salud se centra en las propuestas de valor que aportan un mejor estado de salud
para las poblaciones, mejor atención para los individuos y reducción de los costos.

Sin embargo, el sector de servicios de salud experimenta importantes desafíos:

• Población cada vez con más años

• Servicios de alta demanda

• Falta de especialidades médicas clave

• Crecientes costos médicos

Cisco trabajó con el sector de servicios de salud para ayudarlo a brindar mejor atención y salud. Cisco utiliza
IoT para ayudar a los proveedores de servicios de salud a reducir los costos, mejorar la productividad y
brindar una mejor atención a las personas en las comunidades rurales y en los centros urbanos.

Soluciones (Cisco) Clinical Workflow


Cisco trabajó con el sector de servicios de salud para ayudarlo a brindar mejor atención en las instalaciones
de los proveedores de servicios de salud. Cisco aporta las siguientes soluciones para el flujo de trabajo en
clínicas:

• Cisco Virtual Patient Observation: monitorea a los pacientes de manera remota desde una ubicación
centralizada.

• Conectar a pacientes de Cisco: ofrece información médica personalizada, transmisión de medios y


servicios de voz y video a cualquier dispositivo ubicado en la habitación del paciente.

• Cisco Healthcare Intelligent Contact Center: equipa a los agentes del centro de llamadas para ayudar
a los pacientes de manera proactiva.

• Servicios de salud de Cisco, sensibles al contexto (y a la ubicación): integra la ubicación y la


información del sensor para responder con mayor rapidez a los pacientes.

• Digital Media Suite para servicios de salud: administra la educación y la capacitación en materia de
servicios de salud a nivel central.

Haga clic en Reproducir en la figura para ver un video sobre cómo Conectar al paciente de Cisco ayuda a los
proveedores de servicios de salud a comprometerse con pacientes, visitantes y personal del hospital en todos
los puntos en el recorrido de los servicios de salud.

Cisco Healthcare Intelligent Contact Center

Cisco también proporciona las siguientes soluciones de administración para proveedores de servicios de
salud:

• Servicios de Cisco para la salud conectada: recurre a los expertos en servicios de salud para
planificar, desarrollar y administrar una red que satisfaga las necesidades clínicas, empresariales y de
cumplimiento.

• Red de grado médico de Cisco: crea una base de red que admite el crecimiento y las necesidades
específicas de los servicios de salud.

Haga clic aquí para descargar el cartel de red de grado médico que ofrece información detallada sobre la Red
de grado médico de Cisco.

Haga clic aquí para ver más información sobre cómo Cisco ayuda a ofrecer soluciones de servicios de salud.

Desafíos afrontados por las ciudades modernas

Se ha previsto que, en los próximos 10 años, el 70 por ciento de la población mundial vivirá en ciudades. A
medida que las poblaciones se desplazan a las zonas urbanas, se presiona a los líderes de las comunidades
para que den respuesta a los siguientes problemas:

• Sobrepoblación

• Incremento en la contaminación

• Mayor congestión de tráfico


• Estacionamiento inadecuado

• Infraestructuras inadecuadas que derivan en el uso ineficiente del alumbrado público, el agua, y la
gestión de residuos

• Necesidad de crecimiento continuo

• Presión de brindar ciudades más seguras

• Limitaciones de recursos y presupuestos

La digitalización es una herramienta poderosa para que las ciudades se mantengan un paso adelante del
aluvión de urbanización. IoT puede crear soluciones comunitarias para comenzar a resolver estos problemas,
como se describe en la figura.

Ciudad inteligente: Hamburgo, Alemania

Haga clic en Reproducir en la figura para ver cómo la ciudad de Hamburgo, Alemania, se ha transformado en
una ciudad inteligente.

En las próximas páginas, se destacarán algunas de las soluciones Smart+Connected. Haga clic aquí para leer
más sobre las soluciones Smart+Connected Communities.

Haga clic aquí para leer sobre las ciudades que implementaron parte de la solución Smart+Connected
Community para convertirse en una ciudad inteligente.

Wi-Fi Cisco Smart+Connected

La infraestructura de red Wi-Fi Cisco Smart+Connected conecta a las personas, los datos, los dispositivos, los
procesos y los servicios de la ciudad. Las ciudades ahora pueden solucionar los problemas críticos de
estacionamiento, administración de tráfico, iluminación, agua y gestión de residuos, entre otros, en una
infraestructura compartida de red inteligente.

Las propuestas de valor proporcionadas por Smart+Connected Wi-Fi a otros segmentos de clientes incluyen:

• Servicios a los ciudadanos: el Wi-Fi público permite que los ciudadanos accedan a Internet.

• Servicios de la ciudad: servicios basados en la ubicación que contribuyen a que los planificadores de
la ciudad adquieran datos prácticamente en tiempo real.

• Servicios empresariales: las aplicaciones de turistas virtuales brindan a los visitantes acceso a datos
históricos e ideas para visitar puntos de referencia.

• Comercio de la ciudad: los comerciantes publican ofertas y negocios orientados a los ciudadanos en
función de su ubicación.

• Servicios de administración de la infraestructura: las aplicaciones de estacionamiento proporcionan


a los ciudadanos información sobre disponibilidad de estacionamiento en tiempo real. Las aplicaciones
de tráfico proporcionan a los operadores de tráfico una vista en tiempo real de las condiciones y los
accidentes de tránsito, que permiten reducir el tiempo de respuesta.
Estacionamiento y tráfico Cisco Smart+Connected

El treinta por ciento de la congestión de tráfico hacia el centro de la ciudad se debe a conductores que buscan
un lugar para estacionar. El veinticinco por ciento de la congestión de tráfico en las autopistas de EE. UU se
debe a accidentes automovilísticos. Las ciudades inteligentes pueden abordar estas dos propuestas de valor
al simplificar el estacionamiento y mejorar el flujo de tráfico.

La solución de estacionamiento Cisco Smart+Connected proporciona a los ciudadanos información en tiempo


real sobre el estacionamiento disponible y les permite reservar espacios disponibles por adelantado por medio
del uso de aplicaciones móviles. Los resultados son una menor congestión de tráfico y una asociación más
eficaz entre ciudades, ciudadanos, empresas locales y organismos de cumplimiento con las leyes de
estacionamiento.

La solución de tráfico Cisco Smart+Connected aporta una perspectiva de patrones de tráfico urbanos de modo
que las autoridades de tráfico puedan ofrecer una mejor planificación de respuesta inmediata ante incidentes
y, también, respuestas a largo plazo ante incidentes.

Haga clic aquí para ver un video de Santander, España. La infraestructura de ciudad inteligente de Santander
redujo la congestión vial en el centro de la ciudad en un 80%.

Centro de operaciones Cisco Smart+Connected

A medida que las ciudades se esfuerzan por ofrecer una mayor capacidad de respuesta a las necesidades de
los ciudadanos, recurren a la flexibilidad de las redes de voz, video y datos convergentes. Los centros de
comandos de operaciones suelen recopilar datos y videos de distintas fuentes. Las ciudades buscan cada vez
más una visión de los datos personalizada, integrada y de una sola interfaz.

La solución del centro de operaciones Cisco Smart+Connected muestra un sensor, un mapa y datos de video
mediante un único diseño. Permite que los operadores controlen las actividades dinámicas que implican el
procesamiento de imágenes, la transmisión de video, la integración de datos y las alertas.

Desafíos en la energía

La población creciente, el desarrollo urbano y la creciente dependencia en los dispositivos eléctricos implican
una exigencia para los proveedores de energía en muchos países. Los proveedores de energía también
sufren una presión cada vez mayor para utilizar fuentes de energía con emisiones reducidas de carbono en
lugar de combustibles fósiles.

¿Podemos tener un mundo sustentable y moderno? Estamos en una encrucijada. Si el mundo debe ser
sustentable, entonces se necesitan distintas maneras de pensar en la energía y en la forma en que se la
consume.

Soluciones de IoT para la matriz eléctrica

Impulsados por las obligaciones regulatorias para suministrar electricidad con bajo nivel de emisiones de
carbono, aumentar la satisfacción del cliente y lograr una mayor confiabilidad en el servicio, los servicios
públicos necesitan contar con una matriz eléctrica más ágil y moderna.

Una solución de las soluciones parciales propuestas es la llamada red de distribución eléctrica inteligente. El
paradigma clave de la energía en la época eléctrica radica en la producción centralizada de electricidad que
fluye en un sentido, desde el productor hasta el consumidor. La red de distribución eléctrica inteligente es un
nuevo paradigma de interconexiones mucho más complejas entre productores, instalaciones de
almacenamiento y consumidores de electricidad.

Como se muestra conceptualmente en la figura, la red de distribución eléctrica inteligente interactúa con los
hogares inteligentes, las fuentes de energía renovable, los clientes, las operaciones, la distribución y los
vehículos eléctricos. Una red de distribución eléctrica inteligente aporta la noción de muchos hogares
individuales, edificios, y redes más pequeñas que generan energía no solo para ellos mismos, sino que
devuelven la energía a la red para que otros hagan uso de ella.

Haga clic aquí para ver un video que proporcione una explicación simple de las redes de distribución eléctrica
inteligente.

Soluciones de redes de distribución eléctrica inteligente de Cisco

Cisco proporciona y admite muchas soluciones de red de distribución eléctrica inteligente, a saber:

• Arquitectura de GridBlocks: brinda una vista moderna sobre cómo integrar la matriz eléctrica a una
red de comunicaciones digitales

• Servicios de matriz conectada: funcionan de manera conjunta con los servicios públicos con el
objetivo de planificar y diseñar arquitecturas de red confiables y con un alto nivel de seguridad

• Red de área de campo: ofrece mayor valor a partir de una plataforma multiservicio

• Transmisión y subestación: incluye routers y switches industriales para hacer frente a los entornos
más exigentes de la subestación

• Seguridad de la matriz: incluye tecnología de seguridad física y cibernética, y servicios para abordar el
cumplimiento reglamentario y la mitigación de amenazas

• Operaciones de la red: colabora para que las operaciones de los servicios públicos puedan administrar
redes de comunicaciones de red de distribución eléctrica inteligente convergentes

Haga clic aquí para obtener más información sobre estas soluciones.

Haga clic en Reproducir en la figura para ver de qué manera BC Hydro contribuyó a aumentar la eficiencia y
la satisfacción del cliente con la ayuda de las tecnologías de Cisco.

Desafíos de fabricación

La manufactura debe enfrentarse al desafío permanente de incorporar nueva tecnología innovadora a la


infraestructura existente de la planta. Esto puede causar problemas de integración entre la red de tecnología
operacional (OT) y la red de TI. Muchas plantas de fabricación deben administrar varias redes de OT en silos.
Estas redes en silos suelen estar a cargo de la operación y del mantenimiento realizados por distintos equipos
con diferentes requisitos. Esta diversidad en las redes incrementa los costos y la complejidad.

También puede haber problemas con la visibilidad. Por ejemplo, considere el resultado que aparece en la
estación de la consola de la planta en la figura. Existiría un problema de visibilidad de red si el ingeniero de
red conectado a la red de TI no pudiese ver la pantalla de la consola de la planta ya que pertenece a una red
de OT.

La falta de integración y visibilidad conducen a una amplia variedad de problemas, a saber:


• Operaciones poco eficientes

• Tiempos de respuesta lentos en la fábrica y el mercado

• Calidad de control deficiente

• Altos gastos adicionales

• Seguridad comprometida

Actualmente, los cambios importantes en la fabricación de equipos y maquinarias se encuentran impulsados


por la necesidad de optimizar las operaciones y desarrollar servicios que distingan la experiencia del cliente.

Soluciones de IoT para la fabricación

Para superar estos desafíos, las soluciones de IoT mejoran el negocio de manufactura al conectar a las
personas adecuadas con la información correcta. Para las personas implicadas en todos los aspectos del
proceso de manufactura, los sensores conectados proporcionan un nivel único de visibilidad de las
operaciones de fábrica y del flujo de la cadena de abastecimiento. A medida que se recopilan datos, pueden
contribuir a identificar las tendencias y las relaciones que revelan oportunidades para mejorar los procesos de
fabricación.

Por ejemplo, las empresas automotrices ahora usan datos de sensores para decidir si las condiciones para
pintar un automóvil son favorables. Si el sistema determina que las condiciones son desfavorables (p. ej.,
demasiado húmedo), el automóvil se enruta a otra área del proceso de fabricación. Esto reduce la necesidad
de volver a pintar y maximiza el tiempo de funcionamiento de la planta.

Haga clic en Reproducir en la figura para ver un video de cómo se utilizan la digitalización y la IoT en la
fabricación.

Soluciones de fabricación de Cisco

Cisco brinda las siguientes proposiciones de valor de fabricación de IdC:

• Fábrica conectada de Cisco: ofrece mejora en la seguridad, eficiencia operativa y productividad


operativa a partir del uso de una red segura, unificada para toda la fábrica

• Máquinas conectadas de Cisco: aporta mejoras para el negocio, como eficacia general del equipo
(OEE), monitoreo de equipos, optimización de máquinas y procesos, y mantenimiento predictivo

• Operaciones seguras de Cisco: ofrece protección contra riesgos, mejora la eficiencia y reduce el
tiempo de inactividad del sitio

• Cadena de abastecimiento conectado de Cisco: aporta mayor flexibilidad y agilidad a la cadena de


abastecimiento

• Herramientas de comunicaciones y colaboración de Cisco: mejora la comunicación y reduce el


tiempo de inactividad

Haga clic en Reproducir en la figura para ver de qué manera Cisco ayudó a Camiones Daimler a ofrecerles a
los clientes vehículos personalizados con mayor rapidez y nivel de efectividad, controlar los costos al impulsar
la eficiencia y el tiempo de actividad de los procesos de fabricación, y mejorar la agilidad y la escalabilidad
para admitir futuras necesidades de producción.

Haga clic aquí para obtener más información sobre las soluciones de IoT para la fabricación de Cisco.

Capítulo 5 : Digitalización de la empresa | Aplicaciones de IoT en la


empresa

El sistema de IoT de Cisco depende de seis pilares: conectividad de red, computación en la niebla, seguridad,
análisis de datos, administración y automatización y plataforma de habilitación de aplicaciones. La seguridad
es muy importante para IoT, ya que asegura que los planos de datos y control sean seguros.

IoT se extiende por los mercados vertical y horizontal. Los servicios de salud conectados, las ciudades
inteligentes, las redes de distribución eléctrica inteligentes y la manufactura conectada son algunos ejemplos
de sistemas de IoT en el mundo real. Los servicios de salud conectados usan IoT para ayudar a los
proveedores de servicios de salud a reducir los costos, aumentar la productividad y brindar una mejor atención
a las personas en las comunidades rurales y en los centros urbanos. Las proposiciones de valor de las
ciudades inteligentes abarcan la iluminación, los centros de operaciones, el estacionamiento, la protección y la
seguridad, el tráfico y Wi-Fi. La red de distribución eléctrica inteligente presenta el concepto de consumidores
que generan energía para ellos mismos y la red. La manufactura conectada depende de sensores para
aportar visibilidad respecto de las operaciones de la fábrica y del flujo de la cadena de abastecimiento.

También podría gustarte