Está en la página 1de 70

FASE 2

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.

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.

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.

Capitulo 2

¿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
oesquema 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

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, Cargarun


programa a la placa de Arduino, crear un Nuevo programa, Abrir un programa existente, Guardar un programa y abrir unMonitor 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 enArchivo > 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.

CAPITULO 3

¿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 software

En muchos casos, los programas deben comunicarse con otros programas, sitios web o dispositivos. Una interfaz de programa de aplicación
(API) es un conjunto de rutinas y herramientas de software que facilita la comunicación entre programas. Gracias a las API, las aplicaciones que
se ejecutan a través de las redes pueden comunicarse entre sí, compartir datos y solicitar servicios específicos de otras aplicaciones, por ejemplo,
preguntar a una API externa si la persona de la imagen es hombre o mujer.

Hay diferentes tipos de API disponibles, como API de sistema operativo, API de aplicación y API de sitio web. Al crear una aplicación de
administrador de archivos, un desarrollador de software aprovechará la API de sistema operativo para copiar, mover o eliminar un archivo. Si la
aplicación del desarrollador no tiene el código necesario para realizar estas funciones, simplemente puede solicitar al sistema operativo que las
realice a través de su API de sistema operativo expuesta.

Las aplicaciones de IoT pueden comunicarse entre sí mediante las API, pero también pueden utilizarlas para comunicarse con otros servicios
basados en la nube. Independientemente del tipo de API, el objetivo sigue siendo el mismo: permitir que otros programas interactúen entre sí.
Los detalles sobre cómo utilizar una API específica y qué tareas se exponen se incluyen en la documentación de la API.

La figura muestra un ejemplo de documentación de una API. Observe las tareas expuestas por la API. Todas las tareas enumeradas pueden se
utilizadas por otros programas.

Los dispositivos de IoT pueden depender de un tercer sistema para procesar los datos o ampliar su conectividad. Los servicios alojados en la
nube son una opción común para diseñar un sistema de IoT.

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.

Práctica de laboratorio: configure PL-App con Raspberry Pi

En esta práctica de laboratorio, configurará una placa Raspberry Pi como dispositivo PL-App y usará el Iniciador de PL-App para aprovisionar y
detectar dispositivos PL-App.

Imagen de PL-App

Iniciador de PL-App para Windows

Iniciador de PL-App para Mac

Última versión del bloc de notas de Jupyter para estudiantes

Práctica de laboratorio: configure PL-App con Raspberry Pi


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 yCLI 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 psque 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.

Práctica de laboratorio: comandos básicos de Linux

Use el Iniciador de PL-App para conectarse a Raspberry Pi.

Seleccione el enlace a los Materiales del curso y el enlace a Connecting Things.

Seleccione la práctica de laboratorio: 3.2.3.8 – Comandos básicos de Linux

Para ver la vista previa de esta práctica de laboratorio, haga clic aquí.

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 FOR

El bucle FOR se utiliza para repetir la ejecución de un bloque específico de un código una cantidad específica de veces. Es común utilizar el
bucle FOR cuando la cantidad de repeticiones se conoce de antemano.

El programa Blockly que se muestra en la figura utiliza el bucle FOR para determinar todos los números primos entre 1 y 100. Los números
primos son los números divisibles solo por 1 o por el número en sí y se publican en la pantalla, mientras que los números que no son primos se
ignoran.

El programa utiliza dos bucles FOR para calcular el resto de la división entre el número que se evalúa y los números entre 2 y el número mismo.
Si el resto de la división es cero, el número no es un número primo. Si ninguna división produce un resto equivalente a cero, entonces es un
número primo. El programa publica el número primo en la pantalla y continúa con la evaluación del siguiente número; solo se detiene cuando
llega a 100.

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.

Práctica de laboratorio: escribir secuencias de Python con Blockly

Use el Iniciador de PL-App para conectarse a Raspberry Pi.

Seleccione el enlace a los Materiales del curso y el enlace a Connecting Things.

Seleccione la práctica de laboratorio: 3.2.4.5 – Escriba secuencias de Python con Blockly.

Para ver la vista previa de esta práctica de laboratorio, haga clic aquí.

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.

Importación de módulos en el código

Salir del intérprete de Python y volver a ingresar elimina todas las definiciones efectuadas previamente; las funciones y las variables se perderán
en el proceso. Debido a esto, utilice un editor de texto cuando cree un programa más largo o más complejo. Cuando el programa esté listo,
aliméntelo simplemente en el intérprete para ejecutarse. Con un editor de texto utilizado de esta manera se crea un tipo de programa llamado
secuencia. A medida que los programas son más largos y más complejos, puede ser necesario dividirlos en programas más pequeños para un
mantenimiento más fácil. Con este enfoque, un programador creará un programa principal que importe todos los programas más pequeños
necesarios. Estos programas más pequeños se denominan módulos.

Incluso si un programa no es largo o complejo, el programador aún puede beneficiarse con la importación de un módulo existente en su
programa. Un programador puede elegir reutilizar una buena función ya escrita. Otra opción común es que los programadores importen los
módulos escritos por otra persona para agregar funcionalidad a su código o mejorar su programa. Python tiene una comunidad grande y muy
activa de desarrolladores que han escrito y compartido módulos para muchas tareas.

La Figura 1 muestra un fragmento del código que crea un módulo de Python para calcular y publicar la serie Fibonacci hasta el número N.

El código anterior se creó en un editor de texto y guardó como fibo.py. Ahora que el módulo se ha creado y guardado en el disco, se puede
importar a cualquier otro programa de Python y alimentar al intérprete a través de la palabra clave import, como se muestra en la Figura 2.

Observe que el intérprete no ejecuta el contenido de fibo.py, sino que sabe dónde encontrar las funciones fib() y fib2(). Para usar el módulo y
sus funciones, simplemente llámelos por su nombre, como se muestra en la Figura 3.

Los módulos comunes que verá en IoT y en este curso incluyen los módulos de procesamiento de datos (funciones matemáticas), los módulos de
autoevaluación (nivel de batería y prueba de memoria), los módulos de seguridad (hashes, cifrado/descifrado) y los módulos de servidor de red y
cliente (Web, FTP, NTP, etc.).

La Figura 4 muestra diferentes maneras de utilizar la función de importación.

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.

Bucle WHILE en Python

El bucle WHILE ejecuta un bloque de códigos si la expresión es verdadera. El programa a continuación utiliza un bucle WHILE para calcular y
publicar una subsecuencia inicial de la serie Fibonacci, como se muestra en la figura.

La tercera línea contiene un operador de asignación múltiple. Las variables a y b obtienen los nuevos valores de 0 y 1 en una única declaración.

El bucle WHILE calcula el término siguiente en la serie Fibonacci siempre que la condición b < 10 sea verdadera. Como en C, Python asume
cualquier valor del número entero que no sea cero como verdadero y cero como falso. La prueba que se utiliza en la figura es una comparación
simple.

Observe que el cuerpo del bucle está indentado. La indentación es la forma en que Python agrupa las declaraciones. En el indicador interactivo,
debe escribir una ficha o espacio para cada línea indentada. Las entradas más complejas de Python deben realizarse con un editor de texto.
Cuando una declaración compuesta se ingresa interactivamente, debe ir secundada por una línea en blanco para indicar la finalización (porque el
analizador no puede adivinar qué línea será la última). Observe que cada línea dentro de un bloque básico se debe indentar por la misma
cantidad.

Práctica de laboratorio: escriba secuencias simples de Python

Use el Iniciador de PL-App para conectarse a Raspberry Pi.

Seleccione el enlace a los Materiales del curso y el enlace a Connecting Things.

Seleccione la práctica de laboratorio: 3.2.5.9 – Escriba secuencias simples de Python.

Para ver la vista previa de esta práctica de laboratorio, haga clic aquí.

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/.

Robot Pi 4Borg

La figura muestra un equipo robótico asequible de los expertos en robótica de PiBorg. Es educativo y divertido.

Obtenga más información sobre el proyecto en: https://www.raspberrypi.org/magpi/4borg-robot-review/

Otro excelente ejemplo de automatización con Raspberry Pi se produjo en una granja de pepinos en Japón. Se utilizó una cámara como sensor
para procesar imágenes y clasificarlas. Luego se usaron accionadores para seleccionar qué pepinos eran aceptables y cuáles no. Este proceso
ahorra al granjero entre ocho y nueve horas de trabajo manual por día.

Obtenga más información sobre este proyecto en: https://www.raspberrypi.org/blog/now-added-cucumbers/.

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.

Código de la SBC en Packet Tracer

PT 7.0 además presenta una computadora de una sola placa (SBC) y una unidad de microcontrolador (MCU).
La computadora de una sola placa es una computadora diseñada para adaptarse a todos sus componentes, como almacenamiento, memoria y E/S
dentro de una sola placa. Un buen ejemplo de SBC es Raspberry Pi. Las SBC son comunes en las soluciones de IoT porque se utilizan para
ejecutar un código y agregar inteligencia a los dispositivos diarios. Una SBC de PT es un dispositivo de PT creado para simular una SBC
mediante la proporción de capacidades de ejecución de códigos y ciertas conexiones. Específicamente, una SBC de PT proporciona 2 puertos
USB y 10 puertos de E/S digital que se pueden utilizar para conectar sensores y dispositivos de IoT. Una SBC de PT tiene un intérprete de
Python incorporado que le permite al código nativo de Python escribirse y ejecutarse directamente en el dispositivo. Puede accederse al
intérprete de Python mediante la ficha de programación de la SBC de PT.

La Figura 1 muestra una captura de pantalla de la ventana de la SBC de PT y la ficha Configuración.

Una unidad de microcontrolador (MCU) es una pequeña computadora incorporada a un sistema en un chip (SoC). Es similar a una SBC, pero
contiene menos potencia de procesamiento y funcionalidad. Contiene un núcleo de procesador, una memoria y unidades periféricas
programables de entrada/salida. Los microcontroladores están diseñados para las aplicaciones incorporadas o las aplicaciones que requieren
pocos recursos de computadora. Algunos ejemplos de aplicaciones que dependen de microcontroladores son sistemas de control de motores
automotrices, dispositivos médicos implantables, controles remotos, máquinas de oficinas y electrodomésticos. Los microcontroladores de
señales combinadas también son comunes e integran componentes analógicos necesarios para controlar los sistemas electrónicos no digitales. PT
7.0 brinda soporte al emulador de MCU. Un usuario puede programar la MCU de PT para que realice tareas similares a las MCU del mundo real.
Para simplificar el proceso, la MCU de PT además puede programarse con Python. La MCU de PT tiene un puerto USB, seis puertos de E/S
digital y cuatro puertos de E/S analógica. Los puertos de E/S digital en la MCU de PT permiten que un usuario conecte accionadores y sensores
digitales. Los puertos de E/S analógica permiten que un usuario conecte accionadores y sensores analógicos.

La Figura 2 muestra una captura de pantalla de la ventana de la MCU de PT.

Desde una perspectiva de simulación, la SBC de PT y la MCU de PT difieren muy poco entre sí. Específicamente, la SBC de PT puede alojar
archivos y tiene una ficha Escritorio con varias aplicaciones, como navegador web y cliente de correo electrónico. La MCU del PT no aloja
archivos ni tiene una ficha Escritorio.

Nota: si bien no es común encontrar Python en las MCU en la vida real, PT 7.0 implementa el soporte de Python para comodidad de los
usuarios.

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.

CAPITULO 4
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.

Bluetooth

Bluetooth es un protocolo inalámbrico que se utiliza para la comunicación en distancias cortas. Ahora la mayoría de los dispositivos móviles y
accesorios admiten Bluetooth y constituye el estándar por defecto para el audio entre los dispositivos móviles. La comunicación entre los
dispositivos Bluetooth ocurre a través de una red inalámbrica de rango corto denominada red de área personal (PAN).

Descrito originalmente en IEEE 802.15.1, es ahora supervisado por el Grupo con especial interés en Bluetooth (SIG, Special Interest Group)
encargado de supervisar el desarrollo de la especificación, administra el programa de calificación y protege las marcas comerciales. Los
fabricantes que deseen comercializar productos como dispositivos Bluetooth deben cumplir con los estándares del SIG en Bluetooth.

Bluetooth funciona en la banda de radiofrecuencias industriales, científicas y médicas (ISM) de rango corto de 2,4 GHz Fue creado por Ericsson
en 1994 y se define como un protocolo basado en paquetes. Funciona basado en una estructura maestro/esclavo. La especificación Bluetooth es
antigua y ha atravesado varias iteraciones de la versión.

Bluetooth de baja energía (BLE, Bluetooth Low Energy), también conocido como Bluetooth Smart, es muy relevante para IoT. BLE ha vuelto
muy popular debido al respaldo del sector de smartphones y de las nuevas aplicaciones en servicios de salud, bienestar y beacons. Bluetooth de
baja energía funciona en la banda ISM de 2,4 GHz Tiene una velocidad de conexión muy rápida (milisegundos) y una velocidad de transmisión
de datos muy alta (1 Mbps). Luego, el dispositivo de BLE se pone en “modo de suspensión” hasta que se restablezca la conexión. Esta acción
puede prolongar la vida útil de la batería por varios años.

Los beacons utilizan tecnología de BLE que se encuentra incorporada en la mayoría de los smartphones. Los beacons son nodos pequeños (más
pequeños que el ratón de una PC) que pueden colocarse prácticamente en cualquier lugar. Pueden ubicarse en edificios, en cafeterías y en postes
de luz. Su objetivo principal es proporcionar servicios de ubicación. Por ejemplo, si una persona con un smartphone habilitado para BLE camina
cerca de un beacon, éste enviará su localización al smartphone. Luego depende de la aplicación del smartphone decidir qué hacer con la
información de la ubicación. Esta es una forma de comunicación unidireccional. Los beacons unidireccionales no requieren una conexión
emparejada.

Existe un rápido crecimiento de los teléfonos habilitados para BLE. Debido a esto, el sector de smartphones está interesado en la extensión del
uso de los beacons como una forma de realizar servicios basados en la ubicación.

En junio de 2016, SIG en Bluetooth anunció Bluetooth 5. La versión 5 tiene cuatro veces más de rango y es dos veces más rápida que las
versiones anteriores. Cuando funciona en modo de la baja energía, Bluetooth 5 alcanza un aumento por ocho en la capacidad de transmisión de
datos sobre Bluetooth 4.x. Esto es muy importante para los dispositivos IoT que dependen de las fuentes de alimentación limitadas. El ancho de
banda de Bluetooth 5 se define en 2 Mbps pero permite que se ajuste el ancho de banda según la aplicación.

Los dispositivos de Bluetooth 5 se esperan para principios de 2017.

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

LoRaWAN

LoRaWAN es un protocolo de red previsto para elementos inalámbricos que funcionan con batería en redes regionales, nacionales o globales.

LoRaWAN es una tecnología inalámbrica diseñada para proporcionar conexiones WAN inalámbricas para dispositivos limitados en potencia.
Categorizada como una red de área amplia de bajo consumo (LPWAN), LoRaWAN apunta a los requisitos clave de la Internet de las cosas como
servicios bidireccionales seguros de comunicación, movilidad y localización.
La arquitectura de LoRaWAN a menudo se presenta en una topología en estrella extendida (estrella de estrellas) en la que los gateways
transmiten mensajes entre los terminales y un servidor de red central se encuentra ubicado en el back-end. Al actuar como puentes transparentes,
los gateways se conectan a los servidores de red de LoRaWAN mediante conexiones IP estándar. Los terminales de LoRaWAN utilizan
comunicaciones inalámbricas al gateway para lograr una conectividad completa a Internet.

La velocidad de transmisión de datos de LoRaWAN va desde 0,3 kbps a 50 kbps. Los servidores de red de LoRaWAN administran la tasa de
intercambio de datos en cada dispositivo, mediante una tecnología denominada velocidad de datos adaptativa (ADR, Adaptive Data Rate), para
maximizar la vida útil de la batería de los terminales y la capacidad general de la red. La seguridad se incorpora en el estándar LoRaWAN, vía la
implementación del esquema de cifrado de varias capas. Se usan claves únicas en las capas Aplicación, Red y Dispositivo.

El video a continuación brinda una descripción general de LoRaWAN:

https://www.youtube.com/watch?v=2Y0bMX3TVi0

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.

Servicios en la nube

Los servicios en la nube son servicios que ofrecen los proveedores de la nube, que se alojan fuera de las instalaciones y están disponibles bajo
demanda. Los clientes en la nube tienen acceso a un grupo compartido de recursos informáticos configurables que puede abastecerse y lanzarse
rápidamente con un mínimo esfuerzo de administración.

Debido a la alta disponibilidad y a las grandes propiedades de escalamiento de recursos de los servicios en la nube, estos servicios son una
excelente manera de ampliar la funcionalidad de un sistema de IoT. El procesamiento y el almacenamiento de datos puede realizarse en la nube
en lugar de los dispositivos IoT. Dado que todos los servicios se encuentran alojados en la nube, los datos y los recursos siempre están
disponibles para cualquier dispositivo del sistema siempre que el dispositivo tenga conectividad a Internet. Los proveedores de servicios en la
nube también se toman muy en serio la seguridad, verificando que los datos del cliente se mantengan seguros.

Los sistemas de IoT que requieren comunicaciones de servidores como análisis de datos de la nube podrían beneficiarse enormemente de un
servicio de computación en nube. Los siguientes son ejemplos de servicios en la nube:

Amazon AWS: La computación en la nube es un servicio en la nube que proporciona computación como servicio bajo demanda. Con la
computación en la nube, un usuario puede implementar y comenzar a usar las PC en cuestión de minutos. Debido a que el servicio está diseñado
para ser bajo demanda, los usuarios pueden comenzar con recursos de hardware escasos (memoria y CPU) y expandirse según sea necesario.
Amazon proporciona un excelente servicio de computación en la nube denominado AWS.

IFTTT: Abreviatura de “si sucede esto, entonces”, IFTTT permite que se creen URL de recursos especiales y que se asignen a acciones
específicas de IFTTT. Imagine que desea recibir un mensaje SMS en su teléfono móvil cada vez que alguien camine frente a su casa. Puede
instalar fácilmente un dispositivo IoT con sensor de movimiento para seguir el movimiento pero el intercambio entre ese dispositivo y el sistema
de mensajería del teléfono móvil requerirá algo de trabajo. IFTTT oculta dicha complejidad al permitir que su dispositivo de seguimiento de
movimientos envíe mensajes SMS simplemente mediante el acceso a una URL web cada vez que el sensor detecte movimiento. Actualmente
IFTTT admite muchas acciones, lo que lo convierte en un servicio en la nube útil para IoT.

Zapier: Similar a IFTTT, Zapier también permite la automatización basada en la nube. La diferencia principal entre los dos servicios es que
Zapier está más orientado a los negocios y admite más aplicaciones y acciones. Otra diferencia importante es que Zapier solo es gratuito si tiene
configuradas hasta cinco acciones (o zaps, como lo llama Zapier). Si se requieren más zaps, debe crearse una cuenta de pago.

Built.io: Es un servicio en la nube que ayuda a los desarrolladores a crear aplicaciones como aplicaciones móviles con un mínimo esfuerzo.
Built.io es muy similar a IFTTT y Zapier pero ofrece una funcionalidad avanzada.

Cisco Spark : Servicio basado en la nube y centrado en la aplicación que proporciona un paquete de colaboración completo para que los equipos
creen, se reúnan, envíen mensajes, realicen llamadas, escriban en la pizarra y compartan, independientemente de estar juntos o separados, en una
serie de tareas continuas antes, durante y después de las reuniones. Está diseñado para ayudar a los equipos a trabajar sin inconvenientes. Es
simple, seguro, completo y abierto, y proporciona un espacio para que las personas trabajen mejor. Las capacidades principales de Cisco Spark
son las reuniones, la mensajería y las llamadas. Puede ser extendida mediante el uso de API de RESTful abiertas e integradas en otras
aplicaciones o sistemas de IoT.

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.

Datos en movimiento y datos almacenados

En pocas palabras, datos en movimiento es un término utilizado para referirse al proceso de extraer valor de datos mientras se está generando.
Es posible que los datos finalmente se almacenen o que esto no suceda. Es posible pensar en los datos en movimiento como contar una historia a
medida que sucede. Por otra parte, datos almacenados o en reposo son los datos que se han almacenado.

Una variedad de industrias que dependen de la extracción de valor de los datos antes de su almacenamiento utilizan los datos en movimiento.
Esto incluye los mercados de comercios minoristas, servicios de salud, fabricación, producción energética, sector público y proveedores de
servicios. Si se cuenta con la infraestructura adecuada, usar datos en movimiento resulta más rápido y más económico que usar datos
almacenados ya que los datos en movimiento son más fáciles de encontrar y no deben almacenarse.

Por la gran cantidad de datos producidos por día, ya no es posible duplicar y almacenar todos esos datos en un depósito de datos centralizado.
Las implementaciones emergentes de dispositivos incluyen una gran cantidad de sensores que capturan y procesan los datos. Las decisiones y
acciones deben producirse en el perímetro, dónde y cuándo se crean los datos. Con los nodos del perímetro que obtienen más potencia de
procesamiento y se vuelven más sensibles al contexto, ahora es posible acercar los algoritmos de inteligencia y análisis a la fuente de los datos.
En este caso, los datos en movimiento permanece donde se crean y presentan perspectivas en tiempo real, lo que impulsa mejores decisiones y
más rápidas.

Haga clic en Reproducir en la figura para ver la visión de Cisco de los datos en movimiento.

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.

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.

CAPITULO 5
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.

La red convergente y los objetos

Cisco estima que el 99% de las cosas que existen en el mundo físico se encuentran desconectadas. Por lo tanto, IoT experimentará un enorme
crecimiento mientras conectamos más de lo desconectado.

Como se muestra en la ilustración, en la actualidad hay muchos objetos conectados mediante un conjunto disperso de redes independientes y de
uso específico. En consecuencia, no se pueden aprovechar en IoT. Por ejemplo, los automóviles actuales tienen varias redes exclusivas para
controlar el funcionamiento del motor, las características de seguridad y los sistemas de comunicación. Lograr que estos sistemas converjan en
una red común podría ahorrar recursos y simplificar el cableado en un automóvil moderno. Otros ejemplos son los edificios comerciales y
residenciales, que tienen distintos sistemas de control y redes para calefacción, ventilación y aire acondicionado (HVAC), servicio telefónico,
seguridad e iluminación. Por último, en las fábricas y en los grandes sistemas de producción, se utilizan distintos protocolos y tecnologías para
monitorear y automatizar el proceso de producción. Estas tecnologías recientes también se denominan Tecnologías Operacionales (OT).

Estas redes diferentes convergirán para compartir la misma infraestructura. Esta infraestructura incluye capacidades de seguridad, análisis, y
administración. A medida que los componentes se conectan a una red convergente mediante las tecnologías de IoT, se tornan aún más poderosos.

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 de atención a distancia de Cisco

Para permitir exámenes y consultas a pacientes remotos, simplificar flujos de trabajo y mejorar la colaboración, Cisco ofrece las siguientes
propuestas de valor en lo que respecta a la atención a la distancia:

 Atención extendida de Cisco: facilita la atención del paciente remoto y la interacción con el equipo de atención.

 Cisco TelePresence para los servicios de salud: vincula personas a nivel global para la capacitación, la consulta y la colaboración,
especializada.

 Cisco WebEx para los servicios de salud: facilita la colaboración, la capacitación, y la educación remotas del paciente.

Haga clic en Reproducir en la figura para ver cómo Cisco ofrece una propuesta de valor de servicios de salud para niños en regiones remotas de
Brasil.
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 informa 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.

ción sobre cómo Cisco ayuda a ofrecer soluciones de servicios de salud.


Soluciones Cisco Smart+Connected

Los segmentos de clientes de una ciudad incluyen a ciudadanos, visitantes, partners del sector, negocios y operaciones municipales. Las ciudades
inteligentes deben abordar las necesidades de estos segmentos y brindar propuestas de valor a los ciudadanos. En la figura, se describen las seis
propuestas de valor.

Cisco ha desarrollado Cisco Smart+Connected Communities para aportar un enfoque holístico con nuevos modelos comerciales, soluciones y
servicios para comunidades de todo el mundo. La red es la base de la ciudad administrada y los servicios comerciales.

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.

Iluminación Cisco Smart+Connected

La solución de iluminación Smart+Connected es un sistema basado en normas para obtener una amplia variedad de datos del entorno. Los datos
que se recopilan incluyen niveles de humedad, CO2 y O2, luz UVA y UVB, materia particulada, movimiento y actividad sísmica, videos,
sonidos y más.

Las ciudades que utilizan esta solución pueden hacer lo siguiente:

 Reducir drásticamente el consumo de energía, los costos y el mantenimiento de la ciudad

 Mejorar el cumplimiento de los vehículos de los ciudadanos y aumentar la detección de infracciones y los ingresos de la ciudad

 Mejorar el conocimiento de la situación, la colaboración en tiempo real y la toma de decisiones entre las agencias de la ciudad

 Agregar innovaciones inteligentes, basadas en sensores de IoT al transporte, los servicios públicos, la seguridad pública y el monitoreo
del entorno sin agregar una infraestructura física significativa

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.

CAPITULO 6
Las organizaciones hacen el bien a nivel mundial

En el capítulo anterior vimos cómo las tecnologías de IoT que conectan lo desconectado pueden utilizarse para transformar casi todos los
sectores. Esta transformación hace que el sector sea más eficiente y crea un mayor valor comercial. Estas mismas tecnologías también se pueden
aplicar para hacer del mundo un mejor lugar mediante la resolución de problemas sociales y ambientales globales.

Existen muchos problemas que nos afectan globalmente y éstos incluyen la quema de combustibles fósiles, la contaminación del aire, los
océanos que se vuelven más ácidos, el cambio climático, entre otros. Otros problemas incluyen la pobreza, el hambre, las enfermedades, la
desigualdad de género y el acceso al agua y saneamiento.

Algunas empresas y organizaciones proporcionan fondos para ayudar a abordar estos problemas globales. Por ejemplo, la Fundación Bill y
Melinda Gates ha donado miles de millones de dólares en proyectos globales de salud e iniciativas de desarrollo de la agricultura.

Otra organización, la Fundación Musk, creada por Elon Musk, proporciona becas en apoyo a la investigación de energías renovables, la
investigación de la exploración humana del espacio, la investigación pediátrica y la educación en ciencia e ingeniería. Cabe destacar a la
Fundación X-Prize que apoya las competencias en energía y medioambiente, la exploración, el desarrollo global, las ciencias de la vida y el
aprendizaje.

Objetivos de desarrollo del milenio

Muchos países y gobiernos también buscan crear un mundo mejor. En el año 2000, los líderes de 189 países hicieron una lista de 8 objetivos a
lograr en 15 años. En la figura se muestran estos objetivos. En conjunto, los ocho objetivos se denominaron Objetivos de desarrollo del milenio
(MDG, Millennium Development Goals).

Una de las principales organizaciones que trabaja para cumplir con estos objetivos es el Programa de las Naciones Unidas para el Desarrollo
(PNUD). El PNUD ha financiado proyectos para ayudar a lograr los objetivos. Se ha realizado un enorme progreso en los MDG:

 La cantidad de personas que viven por menos de USD 1,25 por día se redujo a más de la mitad.

 La cantidad de estudiantes de primaria que no van a la escuela disminuyó a casi la mitad.

 La cantidad de personas que reciben tratamiento para el VIH aumentó unas 15 veces.

 La tasa de mortalidad infantil disminuyó a casi la mitad.


Objetivos de desarrollo sustentable

En 2015, 189 líderes mundiales en la Cumbre de Desarrollo Sustentable de las Naciones Unidas adoptaron unánimemente la Agenda de
desarrollo sustentable para 2030. El resultado fue un conjunto de 17 objetivos de desarrollo sustentable (SDG). Estos nuevos SDG y la agenda
más amplia de sostenibilidad, van mucho más allá de los MDG. Estos abordan las causas raíces de la pobreza y la necesidad universal de
desarrollo que funciona para todas las personas.

Haga clic aquí para ver un breve video que destaca los 17 SDG.

Haga clic aquí para obtener información más detallada sobre los SDG que incluyen la pobreza, el hambre, la salud, la educación, la equidad de
género, entre otros.

Laboratorio Nacional Lawrence Berkeley

El Laboratorio Nacional Lawrence Berkeley (LBNL, Lawrence Berkeley National Lab) que se muestra en la figura está ubicado en la
Universidad de California en Berkeley. La infraestructura del LBNL cuenta con 3500 científicos e ingenieros, un presupuesto anual de USD 800
millones, cientos de patentes y docenas de instalaciones para la experimentación, la simulación, la prueba y la fabricación.

El Instituto de Tecnología Transformadora Global (LIGTT) forma parte de LBNL y se creó en 2012. El objetivo de LIGTT es aprovechar los
recursos del LBNL para desarrollar e implementar las tecnologías avanzadas para el desarrollo global sostenible. Específicamente, el enfoque de
LIGTT es identificar los avances innovadores esenciales que parecen estar atrasados por muchos años y, entonces, tener acceso a los recursos del
LBNL para acelerar el plazo de comercialización de dichos avances.

Instituto de tecnologías transformadoras

Una de las primeras tareas del equipo del Instituto de tecnologías transformadoras (ITT, Institute of Transformative Technologies) fue responder
“¿En qué tecnologías deberían focalizarse?”

Después de dos años de investigación, el ITT lanzó un estudio de los “50 avances principales” en 2014. En este estudio, identificaron algunas de
las tecnologías avanzadas más importantes que se requieren para el desarrollo global sostenible. El ITT apunta a desarrollar muchos de estos
avances, trabajando con los científicos del Laboratorio Nacional Lawrence Berkeley (LBNL) y otras instituciones de investigación en todo el
mundo.

Los 50 avances solucionarían problemas en las 9 áreas generales que se muestran en la Figura 1. El logro de estos avances tendrá un
considerable impacto en la pobreza.

En la tabla de la Figura 2 se enumeran ejemplos de algunas de estas tecnologías avanzadas.

Observe cómo el avance n.º 42 está directamente relacionado con el uso de IoT para habilitar nuevos servicios. Algunos ejemplos de dispositivos
IoT incluyen diagnósticos en el centro de salud habilitados por Internet o el riego automatizado basado en la detección del suelo y monitores
distribuidos para la detección de toxinas ambientales.

Haga clic aquí para obtener más información sobre el ITT y aquí para ver la lista completa de 50 avances.

Proceso de diseño de ingeniería

¿Cómo podemos ayudar a resolver los desafíos globales? Podemos ser parte de la solución y ayudar a diseñar nuevos productos.

Al diseñar nuevas soluciones y productos, es mejor utilizar un método comprobado. Los equipos de ingeniería a menudo utilizan el proceso de
diseño de ingeniería que se muestra en la figura.

El proceso de diseño de ingeniería consta de una serie de pasos utilizados por los ingenieros cuando trabajan en la solución de un problema. A
menudo, la solución se relaciona con el diseño de un producto (un dispositivo o un código de programación) que cumple con los criterios
específicos o logra una tarea específica.

Los cinco pasos son cíclicos, lo que significa que pueden repetirse las veces que sea necesario para realizar mejoras en el proceso de diseño.

Diseño de seguridad

En lugar de agregar la seguridad a último momento, debe estar incorporada en todos los dispositivos IoT desde la fase de diseño. Al diseñar un
dispositivo IoT desde el principio, asegúrese de que incluya funciones para facilitar las actualizaciones de software. Debe eliminarse del código
cualquier puerta trasera o cuenta de depuración. Seguridad por oscuridad, la premisa de que los atacantes nunca encontrarán las puertas traseras
ocultas, es falsa y no se puede confiar en ella. También trabaje con la idea de que los atacantes encontrarán las puertas traseras o cuentas
codificadas de forma rígida y las utilizarán para poner el riesgo al sistema.
Debe tenerse todavía más cuidado al trabajar con dispositivos prefabricados o fabricados en serie. A continuación se encuentran algunos
elementos para verificar:

Contraseñas predeterminadas: deben deshabilitarse todas las cuentas predeterminadas. Si no es posible deshabilitar las cuentas
predeterminadas, asegúrese de que se cambien las contraseñas de dichas cuentas a una contraseña segura. Si la cuenta está codificada de forma
rígida (no puede cambiarse la cuenta ni la contraseña), se recomienda enfáticamente elegir otro dispositivo.

UPnP: Universal Plug and Play (UPnP) es un protocolo diseñado para ayudar a los dispositivos ubicados detrás de un router NAT a estar
disponibles automáticamente desde Internet. Mientras que algunos casos específicos legítimos justifican el uso de UPnP, permitir que un
dispositivo IoT esté automáticamente disponible para Internet abre una amplia gama de vectores de ataque. Asegúrese de que UPnP esté
deshabilitado en el dispositivo IoT y en el router de Internet. Si se desea utilizar UPnP, debe tener máxima precaución al habilitarlo en la red.

Administración remota: algunos dispositivos IoT ejecutan servicios de administración remota como Telnet o SSH. Si bien no todos los
servicios de administración son intrínsecamente defectuosos, todos permiten los sondeos. La regla general es deshabilitar los servicios de
administración remota para los dispositivos expuestos a Internet. Dentro de la LAN, puede utilizarse un servicio de administración cifrado como
SSH pero sólo si la cuenta y la contraseña no son las predeterminadas. Telnet es particularmente problemático porque no cifra el tráfico y debe
deshabilitarse en todas las situaciones.

Actualizaciones de software y parches: Los dispositivos IoT deben recibir actualizaciones periódicas de igual modo que las PC de escritorio,
las PC portátiles y los dispositivos móviles. Asegúrese de que el dispositivo IoT en uso siempre cuente con el último software y monitoree el
sitio del fabricante para ver las actualizaciones. Si no puede actualizarse el software del dispositivo, se recomienda enfáticamente no utilizar ese
dispositivo.

Comunicaciones cifradas y certificados: muchos dispositivos IoT fabricados en serie no admiten características de seguridad avanzada como
el cifrado o el uso de certificados. Si un dispositivo IoT admite tales características de seguridad avanzada, éstas deben habilitarse y utilizarse.

Seguridad física. También es importante tener en cuenta la seguridad física del dispositivo. Aunque poco puede hacerse para proteger
físicamente los dispositivos IoT fabricados en serie, se recomienda enfáticamente proteger la ubicación de implementación física siempre que
sea posible.

Descripción general del proyecto

En esta sección se analizan las fases principales de idear, diseñar y crear un dispositivo IoT.

Muchos productos de IoT nacen por necesidad; debe resolverse un problema y la solución puede lograrse gracias a un dispositivo IoT. El primer
paso para la creación de un producto de IoT es identificar un problema que pueda resolverse con un dispositivo IoT.

Considere la siguiente situación: quiere mostrar la hora del amanecer y atardecer en su hogar en su calendario de Google. Podría buscarlo en un
sitio web especializado pero no tiene gracia. Decide crear un dispositivo que realice el trabajo.

El problema: crear un dispositivo que pueda detectar la cantidad de luz exterior y decidir si se trata del amanecer o atardecer. Este dispositivo
adoptará una acción específica cuando detecte el amanecer o el atardecer.

La solución: el dispositivo debe incluir un sensor de luz para medir la cantidad de luz exterior. El dispositivo también funcionará con batería para
hacerlo más flexible. Dado que el dispositivo debe tomar medidas al detectar el amanecer o el atardecer, utilizaremos el servicio de Internet de
IFTTT (si sucede esto, entonces) que puede conectarse fácilmente al calendario de Google. Por lo tanto, el dispositivo debe poder comunicarse
con Internet.

También debe poder tomar una decisión en función de un evento (amanecer o atardecer). Deberá escribirse algún código debido a que se
requiere una decisión. Utilizaremos un Raspberry Pi como el cerebro del dispositivo y para ejecutar el código. También es necesario un Arduino
porque cuenta con pines analógicos, no presentes en el Raspberry Pi.

Se conectará una fotorresistencia al Arduino y se utilizará para detectar los cambios en la cantidad de luz. Una fotorresistencia funciona al
reducir la resistencia interna entre los ohmios de valores altos y bajos según la cantidad de luz que reciba. Si no se detecta luz, la resistencia es
alta y fluye muy poca corriente por la fotorresistencia. En este caso específico, más luz reduce la resistencia, que, a su vez, aumenta el flujo de
corriente por el circuito y la caída de voltaje resultante puede medirse con el Arduino.

El código que se ejecuta en el Raspberry Pi monitoreará el nivel de voltaje en el pin de entrada analógica del Arduino que está conectado a la
fotorresistencia y, según el nivel de voltaje, decidirá si se ha producido el amanecer o el atardecer. Luego, el código enviará un mensaje de
IFTTT que activará la acción de registrar el evento (amanecer o atardecer) y la hora en la que ocurrió.

Diseño del circuito

El diseño del circuito es el siguiente paso importante. Los componentes electrónicos tienen requisitos muy específicos como potencia, polaridad
y conexiones. Como se mencionó anteriormente, el rastreador de amanecer/atardecer utilizará una fotorresistencia. Como se muestra en la figura,
uno de los dos terminales de la fotorresistencia está conectado a un terminal de batería de 5 V y el otro resistor va al pin A0 (entrada analógica) y
a un resistor de 10 000 Ω. Luego, el resistor de 10 000 Ω se conecta a la puesta a tierra (GND).

Este mecanismo se denomina divisor de voltaje. También conocido como divisor potencial, este mecanismo produce un voltaje de salida que es
una parte del voltaje de entrada al distribuir el voltaje de entrada entre los componentes del divisor.
La figura muestra el Arduino y el divisor de voltaje.

La API de REST en un sistema de IoT

REST (transferencia de estado representacional) es el estilo arquitectónico de software de la Red informática mundial.

Los sistemas RESTful son sistemas que se ajustan a las restricciones de REST. A menudo se comunican con el protocolo de transferencia de
hipertexto (HTTP) mediante los mismos métodos HTTP (GET, POST, PUT y DELETE). Los navegadores web también utilizan los métodos
HTTP para recuperar páginas web o para enviar datos a los servidores web. La figura 1 muestra algunos de los métodos REST.

Los sistemas RESTful usan identificadores uniformes de recursos (URI, Uniform Resource Identifiers) para representar sus servicios para los
sistemas externos. Por ejemplo, un sistema puede proporcionar un URI para consultar perfiles de usuarios representados por /persona/NOMBRE.
Los sistemas externos pueden solicitar dicho servicio utilizando métodos HTTP estándar como OBTENER/personas/michael para recibir el
conjunto de datos del perfil de usuario de Michael o PUBLICAR/personas/michael para actualizar el perfil de Michael con datos nuevos.

REST es importante para IoT dado que proporciona una arquitectura simple y familiar para el intercambio de datos entre sistemas utilizando los
métodos HTTP estandarizados, como OBTENER, PUBLICAR y ELIMINAR. Gracias al verbo HTTP en esta alineación, los dispositivos IoT
sólo necesitan un cliente web capaz de intercambiar datos con un servidor web.

La Figura 2 muestra un ejemplo de una transacción REST simple.

Con el proyecto del rastreador de amanecer/atardecer, el dispositivo utilizará el servicio web IFTTT para ayudar a rastrear eventos. Debido a
que, con su servicio de creación, IFTTT proporciona una interfaz RESTful, el código puede comunicarse fácilmente con él a través de los
métodos HTTP y los URI. IFTTT permite que se creen URI de recursos especiales y que se asignen a acciones específicas de IFTTT. Pueden
crearse URI especiales de IFTTT para administrar todos los eventos de amanecer y atardecer. Un URI especial de IFTTT se vería de la siguiente
manera https://maker.ifttt.com/trigger/SunRise/with/key/,donde:

 https:// es el protocolo utilizado; en este caso, HTTPS.

 maker.ifttt.com es la URL del servidor. Es necesaria para identificar el servidor IFTTT en Internet.

 trigger/SunRise/with/key es el URI especial de IFTTT creado y asignado para administrar los eventos del amanecer.

 VALOR CLAVE Es la clave secreta proporcionada por IFTTT para asegurar que sólo las aplicaciones y los dispositivos autorizados
puedan utilizar el URI especial. Esta clave variará de una cuenta de IFTTT a otra.

Cada vez que el código convoca ese URI, IFTTT automáticamente ejecuta la acción asociada. En este caso, la acción sería registrar un evento
del amanecer en el calendario de Google.

Observe que es necesaria una cuenta de IFTTT y sus credenciales deben proporcionarse para el código que se ejecuta en el dispositivo.

El calendario de Google es otro servicio que se utilizará en el proyecto de rastreador de amanecer/atardecer. Antes de que pueda utilizarse el
calendario de Google, el usuario debe crear una cuenta de Google.

Nota: las cuentas de IFTTT y Google pueden crearse sin costo alguno.

Flujogramas y esquemas electrónicos

Es muy importante documentar correctamente los proyectos. Ya sea para las solicitudes de patentes, para las colaboraciones o simplemente para
mantener un registro, un proyecto bien documentado es fácil de mantener o mejorar.

Existen diferentes tipos de diagramas que son muy útiles para documentar los proyectos de IoT. Dos de ellos son los flujogramas y los esquemas
electrónicos.

Diagramas de flujo

Los diagramas de flujo son diagramas utilizados para representar procesos o flujos de trabajo. Con los beneficios de las diferentes formas, los
cuadros y las flechas de conexión, el flujograma representa el flujo de la solución a un problema determinado. Los flujogramas se usan
comúnmente para representar programas, algoritmos o cualquier proceso pedido en varios campos. La Figura 1 muestra un ejemplo del diagrama
de flujo.

Existen diferentes tipos de flujogramas. Cada tipo de flujograma tiene su propio conjunto de cuadros y convenciones. Los siguientes son los dos
cuadros más comunes de un flujograma:

 Una fase de procesamiento (generalmente denominada actividad) que está representada por un rectángulo
 Una decisión que normalmente está representada por un diamante

Esquemas electrónicos

Un esquema electrónico (también conocido como un diagrama de circuito, diagrama eléctrico o diagrama básico) es una representación gráfica
de un circuito electrónico. Un esquema representa los componentes y sus conexiones utilizando símbolos estandarizados. Los esquemas
electrónicos se utilizan ampliamente en IoT para el diseño y la construcción de circuitos (como diseño de la placa de circuito impreso) y para el
mantenimiento de equipos eléctricos y del electrónicos.

A lo largo de los años, han cambiado los símbolos utilizados para representar los componentes pero ahora se encuentran estandarizados a nivel
internacional.

La Figura 2 muestra algunos símbolos para componentes electrónicos comunes.

La Figura 3 muestra un esquema electrónico.

Diagramas de secuencia

Un diagrama de secuencia, también llamado diagrama de eventos o escenario de eventos, se utiliza para representar las interacciones entre las
entidades en una línea de tiempo. Los diagramas de secuencia son una forma eficiente de representar la secuencia de mensajes intercambiados
entre las entidades necesarias para llevar a cabo la funcionalidad de escenario. Son una opción común al representar diversos tipos de
comunicación entre los dispositivos.

La Figura 1 muestra una solicitud web simplificada representada con un diagrama de secuencia.

Aunque los diagramas de secuencia pueden realizarse manualmente, una herramienta útil para crear estos diagramas puede encontrarse
en https://www.websequencediagrams.com/ .

La herramienta implementa un lenguaje simple para crear y editar diagramas de secuencia. Los nombres de entidades, las etiquetas de mensaje y
las direcciones de la flecha de mensaje pueden crearse fácilmente con el lenguaje sencillo de la herramienta.

La Figura 2 muestra el código de websequencediagram.com utilizado para crear un diagrama web para la solicitud web simplificada.

Código

El programa que se ejecuta en el Raspberry Pi es lo que le otorga inteligencia al dispositivo. Es el código lo que permitirá que el dispositivo
analice los datos recibidos en el pin analógico de A0 del Arduino y decida si es un amanecer o un atardecer.

Debido a que el Raspberry Pi no tiene ningún pin analógico, también se utiliza el Arduino. Los pines de entrada analógica incluidos en el
Arduino son un requisito para medir el nivel real de la caída de voltaje en el circuito de divisores de voltaje causado por el cambio de resistencia
en la fotorresistencia. Para que el Arduino transmita los datos de sus pines al Raspberry Pi mediante USB, debe instalarse un firmware especial
en el Arduino. Firmata constituye una opción común del firmware de Arduino para transmitir la información del Arduino a través de su puerto
USB.

Firmata es un protocolo genérico para comunicarse con los microcontroladores del software en un ordenador host. Está diseñado para trabajar
con cualquier paquete de software de ordenadores host. En este ejemplo, Firmata se utiliza para permitir que el Arduino se comunique con el
Raspberry Pi, mediante el intercambio de la información recibida en sus pines GPIO.

Tutorial del código

Como se muestra en la figura, el programa está escrito en Python:

 De la línea 1 a la 4 se importan diferentes módulos requeridos.

 La línea 6 almacena la clave de IFTTT en la variable iFTTTMakerSecretKey para un uso posterior.

 Las líneas 7 y 8 almacenan las URL que se utilizarán para alcanzar los URI especiales de IFTTT en las
variables iFTTTsunRiseURLe iFTTTsunSetURL. Los URI constan de la dirección del servidor, los URI especiales (según lo definido
en IFTTT) y la clave.

 Las líneas 10 y 11 definen algunos de los valores del umbral de luz y los almacena en las
variables lightSensorValue y lightSensorValueThreshold.

 La línea 13 establece el enlace en serie que se utilizará entre el PI y el Arduino. Muchas distribuciones Linux detectan el primer puerto
serial como el dispositivo /dev/ttyUSB0.
 La línea 14 define el hilo de iterador. Esto resulta práctico debido al control del flujo de datos en el puerto serial. La lectura continua
desde los puertos analógicos sin iniciar un hilo de iterador provocará que la placa del Arduino siga enviando datos por la serie hasta que
desborde.

 La línea 15 inicia el hilo de iterador que se define en la línea 14.

 La línea 16 utiliza el método arduinoBoard.get_pin () para recibir y almacenar los datos capturados por el pin del Arduino. El
valor a:0:i especifica el pin 0 como pin de entrada analógica. (a=analógica, 0=número de pin, i=entrada).

 La línea 18 obliga a la ejecución del código a pausar durante 1 segundo. Esto permite la comunicación de firmata del RaPi al Arduino
para que se inicie antes de que se ejecute el resto del código.

 La línea 20 establece la variable previousStateOfLight variable en None.

 De la línea 21 a la 36 se define el bucle While que monitorea los valores recibidos desde el pin analógico de A0 del Arduino.

 La línea 22 redondea el valor recibido del Arduino, lo escala para que sea más fácil trabajar con él y lo almacena en la
variable lightSensorValue.

 La línea 23 simplemente imprime el valor actual recibido del sensor de luz en la pantalla.

 La línea 24 prueba el valor de luz almacenado en la variablelightSensorValue; si es más grande que el umbral definido anteriormente
(almacenado en la variable lightSensorValueThreshold), la ejecución se mueve a la línea 25.

 En la línea 25, si la variable previousStateOfLight es False, el código supone que se ha producido el amanecer y se mueve a la línea
26. La línea 26 imprime “Sunrise is here!” en la pantalla. Aplica el URI especial de amanecer de IFTTT en la línea 27 e imprime la
respuesta que obtiene de IFTTT en la pantalla. Observe que la solicitud también se coloca en el objeto r creado recientemente; el objeto
rtiene propiedades que se pueden utilizar para verificar si la solicitud HTTP se realizó correctamente y para recuperar una posible
respuesta. Observe que las líneas 26, 27 y 28 sólo se ejecutan si previousStateOfLight es False; esto es importante para asegurarse de
que el amanecer no se registre dos veces.

 La línea 29 establece la variable previousStateOfLight en True.

 Si el valor de luz es menor que el umbral cuando se realiza la prueba en la línea 24, la ejecución salta a la línea 30. Observe que solo se
ejecuta de la línea 31 a la 35 si el valor de luz es menor que el umbral en la línea 24. La línea 31 prueba el contenido de la
variablepreviousStateOfLight y si está definida en True, el código supone que se ha producido un atardecer y la ejecución se mueve a la
línea 32.

 La línea 32 imprime “Sunset is here!” en la pantalla. La línea 33 aplica el URI especial de atardecer de IFTTT. La línea 34 imprime la
respuesta que obtiene de IFTTT en la pantalla. Observe que la solicitud también se coloca en el objeto r y que las líneas 32, 33 y 34 sólo
se ejecutan si previousStateOfLight es True.

 Por último, la línea 36 pausa la ejecución durante 1 segundo antes de reiniciar el bucle While.

Nota: las líneas 5, 12, 17 y 19 se dejaron intencionalmente en blanco para que el código sea más legible.

Descripción general del problema

La creación de un nuevo sistema de IoT comienza con un problema. Imagine que tiene un amigo que suele no estar seguro de si la puerta de
garaje está cerrada. Sería muy útil si hubiera una manera de verificar el estado del garaje de forma remota desde la oficina o durante las
vacaciones. En este punto, se ha identificado el problema.

Si bien no todos los problemas se resuelven inmediatamente gracias a un sistema de IoT, sí sucede con el problema que hemos identificado aquí.
Los aspectos básicos del sistema son los siguientes:

 Un switch simple que puede detectar el estado de la puerta del garaje (abierta o cerrada). Cuando el switch de la puerta del garaje está
cerrado, la puerta del garaje está cerrada. Cuando el switch está abierto, la puerta del garaje está abierta. Piense en los switches de luz del
hogar, que encienden la bombilla cuando están cerrados y la apagan cuando están abiertos.

 El switch puede conectarse a un controlador (Arduino o Raspberry) que registrará el estado del switch.

 Para permitir que el acceso remoto verifique el estado de la puerta, el controlador puede conectarse a Internet y, por lo tanto, ser
accesible desde cualquier lugar.
Para demostrar mejor su idea, debe crear un sistema de prototipo. Un prototipo que funcione puede ayudarlo a obtener inversores, a consolidar
las solicitudes de patentes o simplemente como prueba de concepto.

Nota: este sistema puede extenderse a varios dispositivos además de puertas de garaje como ventanas, puertas, planchas domésticas, tostadoras,
televisores y más. La clave es encontrar una manera de detectar cambios de estado en el dispositivo mencionado. Esta sección se concentra en la
puerta del garaje por un tema de simplicidad.

Creación de un prototipo y prueba de la solución

Muchas plataformas pueden utilizarse para crear prototipos. Una placa de prueba es una opción común ya que permite la construcción de un
prototipo físico sin necesidad de soldar. Packet Tracer (PT), un potente simulador de red con soporte de IoT, también es una excelente manera de
crear prototipos ya que admite dispositivos, sensores y controladores. Packet Tracer también incluye varios dispositivos de red totalmente
configurables, a la vez que permite la creación de prototipos de comunicación de red. Este tema se focaliza en Packet Tracer como una
plataforma de prototipo.

Como parte del proceso de creación de prototipos, se debe tomar una decisión con respecto al funcionamiento del sistema de IoT. El esquema
electrónico, el diagrama de secuencia y el flujograma son buenas herramientas para representar y formalizar el diseño y el funcionamiento de su
prototipo.

El esquema electrónico proporciona una representación de un circuito electrónico.

El diagrama de secuencia se utiliza para representar las interacciones entre entidades en una línea de tiempo.

El flujograma se utiliza para representar procesos o flujos de trabajo.

Packet Tracer también puede ser una excelente herramienta de prototipos, que permite la creación de un diseño simple. Puede agregarse un
sensor de garaje, que se encuentra en Terminales > Hogar y conectarse a un controlador. Para el controlador, podemos utilizar un PT-MCU
(microcontrolador de PT) o un PT-SBC (computadora de una placa de PT). Tanto PT-MCU como PT-SBC admiten un interpretador de Python y
varios puertos, incluidos un puerto de red. El controlador puede estar conectado a un switch de red, que a su vez se conecta a un router de red,
ambos admitidos en Packet Tracer. Internet puede simularse mediante otro router y puede agregarse un smartphone de PT para simular el
usuario.

Gracias al soporte Python de PT-MCU y de PT-SBC, el código para cargar al dispositivo se pueden implementar y probar rápidamente en Packet
Tracer.

Nota: para obtener soporte de IoT, debe utilizarse Cisco Packet Tracer 7.x o superior.

Formalización de la documentación del prototipo

Cuando esté listo el sistema de prototipo, es importante documentar cualquier cambio en los detalles de la creación. Revise la documentación
(esquemas eléctricos, diagramas de secuencia y flujogramas) para asegurarse de que se ajuste al prototipo terminado.

También es conveniente incluir imágenes del dispositivo finalizado ya que brindan ayuda para representar el dispositivo.

También se recomienda un texto breve que describa el funcionamiento del dispositivo. La documentación es importante no solo para una
referencia futura, sino también para aquellas situaciones en las que se creará material de comercialización o solicitudes de patentes.

En resumen, la documentación debe incluir:

 La definición del problema

 Descripción general de la solución

 Los tipos de sensores y accionadores que se están utilizando

 El tipo de código que se utiliza

 El tipo de conexiones de red utilizadas para la comunicación

 La descripción de servicios en la nube utilizados y cómo se utilizan

 Si es un modelo de empresa sostenible

 Un diagrama lógico de un extremo a otro


 Un diagrama de secuencia

 Un flujograma

 Un diagrama de circuito eléctrico

Descripción general del Business Model Canvas (lienzo de modelo de negocios)

En 2010, Alex Osterwalder e Yves Pigneur presentaron el Business Model Canvas para ayudar a las organizaciones y empresarios a asignar,
analizar, diseñar e inventar nuevos modelos comerciales en función de una propuesta de valor, la interfaz de cliente, la administración de la
infraestructura y las finanzas.

Específicamente, el modelo comercial de una organización puede describirse mediante nueve bloques de creación. El Business Model Canvas
(lienzo de modelo de negocios) asigna los nueve bloques de creación en el lienzo previamente estructurado que se muestra en la figura:

 Segmentos de clientes: identifica los usuarios y clientes de la organización.

 Propuesta de valor: identifica el producto o servicio que proporcionará la organización al segmento de clientes.

 Canales: identifica el modo en el que una organización le ofrecerá valor a los segmentos de clientes.

 Relación con los clientes: describe el tipo de relación que se entablará con el cliente.

 Flujo de ingresos: identifica el modo en el que la organización obtiene valor y a través de qué mecanismo de asignación de precios.

 Recursos clave: identifica la infraestructura requerida para crear valor y muestra qué recursos son indispensables en el modelo de la
organización.

 Actividades clave: identifica qué actividades debe realizar bien la organización.

 Asociaciones clave: identifica quién puede ayudar a que la organización aproveche el modelo comercial.

 Estructura de costos: identifica el costo de la operación.

A menudo, el modelo se crea en una gran superficie con notas rápidas utilizadas para expresar los puntos principales del modelo comercial en
una imagen.

Haga clic aquí para ver un video de dos minutos que proporciona una descripción general excelente del Business Model Canvas.

En las páginas siguientes, se describen con más detalle algunos de estos bloques de creación.

Interfaz de cliente

Los cuatro bloques resaltados que se muestran en la figura resaltan la interfaz de cliente del Business Model Canvas. Identifica la propuesta de
valor, el segmento de clientes, el canal de distribución y el tipo de relación del cliente que se establecerá.

Propuesta de valor

Una propuesta de valor identifica el valor para el cliente. Por ejemplo, considere un fabricante de PC que le permite a una persona personalizar y
solicitar una PC desde el sitio web de la empresa. En conjunto, la PC y el servicio que facilita la personalización de la PC representan una
propuesta de valor.

Segmento del cliente

Identifica la persona específica que se sentirá más atraída por la propuesta de valor. Estos clientes objetivo representan un conjunto de clientes
denominados segmento. Un segmento de clientes es una parte del mercado total posible para una propuesta de valor.

Canales

El bloque de canales describe cómo se distribuye una propuesta de valor en un segmento de clientes. Por ejemplo, un canal es un sitio web que le
permite a una persona personalizar y comprar una PC. Los canales pueden incluir esfuerzos directos, como un sitio web, o métodos indirectos,
como asociaciones con otros distribuidores o minoristas. Los canales también pueden agregar valor. Por ejemplo, el sitio web utilizado para
personalizar y solicitar una PC también puede proporcionar la documentación del producto y actualizaciones de software.
Relaciones con los clientes

Las relaciones con el cliente son importantes para adquirir nuevos clientes y retener a los existentes. Sin embargo, cultivar las relaciones con el
cliente tiene un costo y cada interacción afecta la relación. Como resultado, es importante determinar cuidadosamente el tipo de relación para
tener con un segmento de mercado.

Considere la industria de servicios de telefonía móvil. La adquisición de nuevos clientes puede ser costosa porque a menudo los proveedores de
servicios incurren en gastos importantes para subsidiar los últimos teléfonos en un esfuerzo por atraer a nuevos clientes. Sin embargo, retener a
estos clientes tiene un costo considerablemente menor y presenta una oportunidad para mejorar la oferta de servicios nuevos y variados (p. ej.,
datos, mensajes de texto, agrupación, etc.).

Administración de la infraestructura

Identificar la propuesta de valor define qué crear. El siguiente paso es determinar cómo armarla. Los tres bloques resaltados en la Figura 1
resaltan la administración de infraestructura en el Business Model Canvas.

Actividades clave

Ya sea que produzca un producto o proporcione un servicio, existen una serie de actividades clave requeridas para crear una propuesta de valor.
La cadena de valor que se muestra en la Figura 2 describe las cinco áreas principales de actividad. Estas áreas se asocian comúnmente a la
producción y la fabricación:

 Logística entrante: recibir entradas para ofertas

 Operaciones: transformar las entradas en ofertas

 Logística saliente: distribuir las ofertas entre los clientes

 Marketing y ventas: facilitar un intercambio de valor para las ofertas

 Servicio: proporcionar servicios para admitir o mejorar las ofertas

Recursos clave

El bloque de Recursos clave especifica las cosas necesarias para crear y ofrecer una propuesta de valor. Normalmente consta de una
combinación de recursos tangibles, intangibles o humanos. Los recursos tangibles son cosas físicas y pueden incluir propiedades o equipos. Los
recursos intangibles son cosas no físicas y pueden incluir información o patentes. Las personas constituyen los recursos humanos que crearán la
propuesta de valor utilizando recursos tangibles e intangibles.

Asociaciones clave

El bloque de Asociaciones clave resalta los acuerdos cooperativos, creados de manera voluntaria entre dos o más personas u organizaciones, para
crear valor para el segmento de clientes.

Considere el ejemplo anterior del fabricante de computadoras personalizadas. Es posible que la empresa no cuente con la infraestructura
necesaria para admitir una presencia en línea siempre disponible y con capacidad de respuesta. Sin embargo, la empresa podría tercerizar su
necesidad de una presencia en línea mediante la creación de una asociación con un proveedor de servicios.

Finanzas comerciales

Las finanzas comerciales incluyen la estructura de costos y los flujos de ingresos creados por la propuesta de valor, como se resalta en la figura.

Estructura de costos

El bloque de Estructura de costos describe los gastos que se contraen para crear la propuesta de valor. Entre los costos, se encuentran los
siguientes:

 Costos fijos: estos costos no cambian en función de la cantidad de lo que se produce. Algunos ejemplos son edificios, alquileres y
equipos.

 Costos variables: estos costos cambian en función de la cantidad de lo que se produce. Algunos ejemplos son salarios por hora,
utilidades y materiales de producción.

ingresos recurrentes
El bloque de Flujos de ingresos describe cómo se genera dinero a partir de la propuesta de valor. Describe los métodos de intercambio y
asignación de precios. El método de intercambio puede ser la venta, el alquiler o la concesión de un producto o servicio. El precio puede ser fijo
o dinámico. Un precio fijo se determina antes del intercambio. Un precio dinámico puede cambiar al ingresar en un intercambio.

Ejemplo de Business Model Canvas

Con el Business Model Canvas, es posible desarrollar rápidamente un diagrama abstracto que represente un modelo comercial. El modelo
comercial describe con eficacia una propuesta de valor, cómo ofrecer y crear la propuesta de valor y cómo facilitar el intercambio de la
propuesta de valor con los clientes.

Considere el ejemplo anterior del fabricante de computadoras personalizadas. La Figura 1 hace que sea más sencillo ver un panorama general y
evaluar las oportunidades de viabilidad y potencial. Por ejemplo, es posible que se de cuenta que las ventas de PC personalizadas basadas en
Web constituyen un espacio muy competitivo.

Sin embargo, quizás detecte un interés local y un deseo de sentido comunitario que no están abordando las soluciones basadas en la web. La
Figura 2 es un ejemplo de cómo es posible iterar este diagrama sobre esa idea.

Haga clic aquí para ver una serie divertida y animada creada por Strategyzer y la Fundación Ewing Marion Kauffman. Muestra el Business
Model Canvas en acción. Luego de verlo, puede contemplar una idea que tenga y comenzar a crear su propio modelo comercial.

Habilidades para el siglo XXI

Históricamente el campo de TI ha tenido profesionales altamente calificados en un dominio específico y generalistas en un amplio sector sin
conocimientos profundos en ninguna especialidad. Sin embargo, las habilidades requeridas en el nuevo mercado laboral están cambiando
rápidamente. Tal como se describe en este curso, los nuevos puestos dentro del mercado laboral requieren un conjunto de habilidades
multidisciplinarias que proporcione una combinación de funciones laborales anteriores. El mercado laboral del siglo XXI ahora busca empleados
que puedan ejercer una o más funciones laborales como: diseñar un proyecto, realizar el prototipo de un dispositivo, crear y conservar
documentación y crear un plan comercial.

Los cambios rápidos en el mundo requieren de personas que puedan ser flexibles, tomar la iniciativa, liderar cuando sea necesario y producir
algo nuevo y útil. Para prepararse para el ritmo de cambio continuo y creciente, estas personas deben contar con el conjunto de habilidades
descrito en la figura.
Las habilidades de aprendizaje e innovación son las que separan a aquellas personas preparadas para la vida cada vez más compleja y al entorno
laboral actual de aquellas que no lo están. Las siguientes son algunas habilidades de aprendizaje e innovación:

 Creatividad e innovación

 Datos críticos y resolución de problemas

 Comunicación

 Colaboración

Para ayudar a las personas a despertar sus habilidades creativas y pensar en soluciones nuevas, Cisco Networking Academy ha creado los
fundamentos de IdC: curso de Hackathon Playbook. El proyecto aprovecha la metodología de aprendizaje basada en proyectos para desarrollar
habilidades técnicas de IoT así como habilidades complementarias conocidas como habilidades para el siglo XXI.

Bajo el rótulo de habilidades para el siglo XXI se encuentra un conjunto de capacidades igualmente importantes, especialmente hoy, para tener
éxito en la era informática.

Otro recurso excelente para el aprendizaje de habilidades creativas es d.school de la Universidad de Stanford. Creado como un concentrador para
los innovadores de Stanford, los estudiantes y docentes de las distintas áreas se reúnen para encargarse de los problemas complicados del mundo
en su conjunto. En el camino, los estudiantes desarrollan un proceso para producir soluciones creativas incluso para los desafíos más complejos a
los que se enfrentan. Para obtener más información sobre la facultad de la Universidad de Stanford, haga clic aquí.

Recursos de aprendizaje continuo

IoT evoluciona rápidamente y genera demanda para una amplia gama de trabajos. IoT también genera demanda de un nuevo tipo de especialista
de TI, personas con conjuntos de habilidades para crear nuevos productos y procesar los datos que obtienen. Se necesita una fuerza laboral que
se especialice en ciencias de la información e ingeniería de software o informática.

Además, en IoT convergen las tecnologías operativas y de la información. Con esta convergencia, las personas deben colaborar y aprender unas
de otras para comprender los objetos, las redes y las metodologías para aprovechar el potencial ilimitado de las innovaciones de IoT.

Estas oportunidades pueden ser específicas de la computación en la niebla, el desarrollo de nuevos procesos o una especialización en una
disciplina que aún no se haya realizado. Estos empleos reflejan habilidades que abarcan múltiples disciplinas.

Independientemente de la disciplina, es fundamental que las personas adopten un aprendizaje permanente.

Existen muchos recursos disponibles para continuar con el aprendizaje sobre IoT, entre los que se encuentran:

 Cisco Networking Academy

 Cisco Learning Network

 DevNet de Cisco

 IEEE Computer Society (IEEE-CS) y Asociación de Equipos Informáticos (ACM)

 Muchos otros recursos en línea, incluidos foros, wikis, blogs y más

También existen comunidades de IoT integradas por otras personas similares que desean compartir ideas con otros.

Capítulo 6: cree una solución de IoT

Hay muchos problemas ambientales y sociales a nivel mundial que pueden resolverse con IoT. El Instituto de Tecnología Transformadora
Global (LIGTT) ha compilado una lista de 50 tecnologías avanzadas que mejorarán drásticamente el trabajo en los problemas globales. El
proceso de diseño de ingeniería es un método comprobado para desarrollar un producto.

El primer paso de diseño de una solución de IoT es identificar un problema que pueda resolverse con un dispositivo de IoT. Según el sistema de
IoT, es posible que sea necesario probar la solución mediante la creación de un prototipo. Un prototipo puede crearse simplemente mediante un
Raspberry Pi con un Arduino asociado o puede realizarse mediante una herramienta de simulación como Packet Tracer. Para proporcionar
ejemplos, se creó un rastreador de amanecer/atardecer, se explicaron los pasos relacionados y se diseñó un sistema en Packet Tracer para
verificar de forma remota si estaba abierta la puerta del garaje.
La documentación es un componente muy importante de cualquier proyecto. Los flujogramas, los esquemas electrónicos y los diagramas de
secuencia a menudo se usan para proporcionar documentación.

El último paso en la creación de una solución de IoT es llevar el producto o la solución al mercado. Se analizó el Business Model Canvas
(lienzo de modelo de negocios) para ayudar a las organizaciones y empresarios a asignar, analizar, diseñar e inventar nuevos modelos
comerciales en función de una propuesta de valor, la interfaz de cliente, la administración de la infraestructura y las finanzas.

Históricamente el campo de TI ha tenido profesionales altamente calificados en un dominio específico y generalistas en un amplio sector sin
conocimientos profundos en ninguna especialidad. En el nuevo mercado laboral, ahora los puestos requieren un conjunto de habilidades
multidisciplinarias. Para prepararse para el ritmo de cambio continuo y creciente, los profesionales de IoT deben ser personas que defiendan el
aprendizaje permanente. Deben ser flexibles, tomar la iniciativa, liderar cuando sea necesario y poder producir algo nuevo y útil.

También podría gustarte