Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Digitalización Industrial
CERTIFICADO DE ESPECIALIDAD II
Digitalización Industrial
ELABORACIÓN
VALIDACIÓN PEDAGÓGICA
DISEÑO DOCUMENTO
Ideas clave
Se estima que para 2020 habrá más de 25.000 millones de dispositivos, de “cosas”, conectadas.
Pero las “cosas” (una tostadora, el calentador del agua, el aire acondicionado) de por sí no están
conectadas. Necesitas introducir en ellas pequeñas computadoras que hagan el trabajo,
microsistemas embebidos que convierten aparatos inertes en dispositivos conectados. Hasta hace
poco estos sistemas eran caros y complejos, pero desde un tiempo a esta parte han aflorado
microcomputadores baratos y accesibles para el gran público, produciéndose un gran boom. Elegir
entre uno de estos microcomputadores debe ser nuestro primer paso para adentrarnos en el
mundo del desarrollo para el IoT.
1
Cisco Networking Academy. (s. f.). Cisco Networking Academy - IoT. https://www.netacad.com/
Los sensores a menudo funcionan junto con un dispositivo denominado actuador. Los actuadores
toman la entrada eléctrica y transforman la entrada en acción física. Por ejemplo, si un sensor
detecta calor excesivo en una sala, el sensor envía la lectura de temperatura al microcontrolador.
El microcontrolador puede enviar los datos a un actuador, que a su vez encendería el aire
acondicionado. La mayoría de los nuevos dispositivos, tales como equipos portátiles para
entrenamiento físico, marcapasos implantados, medidores de aire en una mina y medidores de
agua en el campo de un establecimiento agrícola, requieren conectividad inalámbrica. Debido a
que muchos sensores están "en el campo" y son impulsados por baterías o paneles solares, se debe
tener en cuenta el consumo de energía. Se deben utilizar opciones de conexión de baja potencia
para optimizar y ampliar la disponibilidad del sensor.
Para esto, debemos encontrar los sensores disponibles y los dispositivos inteligentes. En el
programa, seleccione Dispositivos finales en el cuadro de Selección de dispositivos en la parte
inferior izquierda de la pantalla. A continuación, seleccione la subcategoría Hogar. En esta
subcategoría, verá muchos dispositivos de IoT, incluido un acondicionador de aire, un ventilador
de techo, una cafetera y un detector de monóxido de carbono. Estos dispositivos se pueden
conectar a su red de forma inalámbrica o con un cable físico.
Para conectar los dispositivos a su red, necesita un Home Gateway (Gateway residencial) o un
servidor de registro. Para encontrar un Home Gateway (Gateway residencial), seleccione
Dispositivos de red de la casilla de Selección de dispositivos y luego seleccione Wireless Devices
(Dispositivos inalámbricos) a partir de las subcategorías que se despliegan.
• Especificaciones: describe las funciones, el uso, el control remoto y local del dispositivo
• Físico: módulos y conexiones de alimentación disponibles
• Config.: muestra el nombre para mostrar, el número de serie, la configuración de la red y
el servidor de IoT
• Atributos: muestra los atributos del dispositivo como MTBF, consumo de energía y costo
Para configurar el Home Gateway (Gateway residencial), haga clic en el dispositivo. En el dispositivo,
se muestran varias pestañas:
• Seguridad fuera del perímetro: puede incluir agentes de seguridad, cercas, puertas,
videovigilancia continua y alarmas de violación a la seguridad en las instalaciones.
• Seguridad del perímetro para interiores: esto puede incluir videovigilancia continua,
detectores de movimiento electrónicos, trampas de seguridad y sensores de acceso de
biometría y de salida.
Una vez que un dispositivo de Home Gateway (Gateway residencial) se ha agregado al espacio de
trabajo lógico, haga clic en el dispositivo. Verá lo siguiente:
• Ficha Físico: el dispositivo tiene un puerto de Internet, cuatro puertos LAN y varias antenas.
• Ficha Configuración: muestra las interfaces y la configuración de red que se pueden configurar.
• Ficha GUI: muestra el servidor de registro dentro del dispositivo que permite la interacción con
los dispositivos de IoT. Está activado de manera predeterminada, pero puede desactivarse.
• Ficha atributos: está en blanco de manera predeterminada, pero puede mostrar características y
valores como MTBF, costo, fuente de energía y voltaje.
Después de conectar el Home Gateway (Gateway residencial) a una red existente, seleccione la
pestaña Config (Configuración). Las interfaces Internet e inalámbricas deben obtener información
sobre la asignación de direcciones IP de la red.
Para conectarse de forma inalámbrica un dispositivo de IoT, como un ventilador, haga clic en el
ventilador y seleccione la pestaña Config (Configuración). Seleccione el botón Opciones avanzadas
en la esquina inferior derecha para ver más opciones.
Paso 1: Seleccione I/O Config (Configuración de E/S) y, luego, seleccione el adaptador inalámbrico
en la lista del menú desplegable de adaptadores de red.
Paso 2: Seleccione Config (Configuración). para verificar que el ventilador haya establecido una
conexión inalámbrica con el SSID correcto. Esto también puede hacerse visualmente mirando el
ventilador en el espacio de trabajo.
Paso 1: Agregue una tableta, PC o Smartphone al espacio de trabajo y conéctelo al Home Gateway
(Gateway residencial). Haga clic en el dispositivo remoto y seleccione Escritorio/Configuración. IP
para verificar la conectividad.
Paso 2: Vuelva al escritorio y seleccione el navegador web. Utilice la dirección del Gateway
predeterminado del dispositivo remoto como URL. Esta es la dirección del Home Gateway (Gateway
residencial). Después de que esté en el Home Gateway (Gateway residencial), debería ver el
ventilador registrado y poder modificar su configuración.
Como se mencionó anteriormente, todos los dispositivos digitales funcionan según los programas
informáticos y los datos suministrados. La inteligencia artificial implica que estos dispositivos son
capaces de pensar por sí mismos. Si se programan de manera correcta, los dispositivos inteligentes
pueden evaluar los datos que reciben, y modificar los procesos o la configuración de inmediato. Si
se les proporcionan los datos suficientes, pueden “aprender” y modificar sus propios códigos según
los nuevos parámetros.
Sabemos que se puede escribir software para permitir que los datos modifiquen parámetros dentro
del código a fin de cambiar la configuración de la temperatura de su hogar o la velocidad con la
que su hijo adolescente puede conducir el automóvil familiar. ¿Por qué no ofreceríamos software
con reglas, pautas o intenciones, de modo que los datos pudieran modificar la red, las funciones
de la infraestructura o las funciones de seguridad dentro de una red? Esto es, en realidad, ya
posible. Se denomina Redes basadas en la intención (IBN).
2
Cisco Networking Academy. (s. f.). Cisco Networking Academy - IoT. https://www.netacad.com/
Los diagramas de flujo ilustran cómo debe funcionar un proceso. No requieren terminología ni
símbolos complejos y específicos de la industria. Un diagrama de flujo debe ser fácil de entender
sin tener que ser un experto en el campo elegido.
Los diagramas de flujo deben mostrar los estados de entrada, las decisiones tomadas y los
resultados de dichas decisiones. Es importante mostrar los pasos que se deben seguir cuando el
resultado de una decisión es sí o no. Es común que los programadores creen el primer borrador
de un programa sin ningún lenguaje de programación 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. En la imagen 4, se muestra
un ejemplo de diagrama de flujo.
Los programas para software de aplicaciones se crean con el fin de realizar una tarea determinada
o un conjunto de tareas. Por ejemplo, Cisco Packet Tracer es un programa de simulación de red
que permite que los usuarios modelen redes complejas y formulen preguntas hipotéticas sobre el
comportamiento de la red.
El software del sistema funciona entre el hardware del computador y el programa de aplicaciones.
Es el software del sistema que controla el hardware de la computadora y permite que los
programas de las aplicaciones funcionen. Entre los ejemplos comunes de software del sistema se
incluyen Linux, Apple OSX, y Microsoft Windows.
IMAGEN 5. CÓDIGO PARA VERIFICAR LOS AÑOS BISIESTOS EN PYTHON. ( S. F.). C ISCO NETWORKING
ACADEMY. HTTPS:// WWW.NETACAD.COM/
Por ejemplo "x + y = z" es un ejemplo de una expresión de programación. En esta expresión, "x",
"y" y "z" son las variables que pueden representar caracteres, cadenas de caracteres, valores
numéricos o direcciones de memorias.
Una variable puede referirse a un valor. Por ejemplo, la expresión "a = 10" asocia el valor de 10 con
la variable a.
Una variable también puede representar una ubicación de memoria. La expresión "a = 10"
representa que el valor de 10 se almacena en algún lugar de la memoria de la computadora, que
se denomina "a".
• Variables locales: estas son variables que se encuentran dentro del alcance de un
programa/función/procedimiento.
• Variables globales: estas son variables que se encuentran dentro del alcance en el tiempo
de ejecución del programa. Cualquier parte del programa puede recuperarlas.
Las variables permiten que los programadores creen rápidamente una amplia variedad de
programas simples o complejos que le indiquen a la computadora que se comporte de manera
predefinida.
• 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 se
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. (imagen 6).
• Bucles FOR: se utilizan 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 el
conjunto de instrucciones se ejecuta varias veces. Si bien la sintaxis del bucle FOR varía de
un lenguaje al otro, el concepto sigue siendo igual. Una variable actúa como un contador
dentro de un rango de valores que se identifica con un valor mínimo y un 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 la ejecución avanza a la siguiente
instrucción. (imagen 7).
IMAGEN 7. CÓDIGO 2. ( S. F.). C ISCO NETWORKING ACADEMY. HTTPS ://WWW. NETACAD .COM/
IMAGEN 8. CÓDIGO 3. ( S. F.). C ISCO NETWORKING ACADEMY. HTTPS ://WWW. NETACAD .COM/
Crear una nueva variable en Blockly es sencillo: se debe llevar el bloque variable hasta el espacio
de trabajo y completar el valor de la casilla. También se puede cambiar el contenido de una variable
mientras se ejecuta el programa.
IMAGEN 10. CONFIGURACIÓN DE UNA VARIABLE EN BLOCKLY. ( S. F.). CISCO NETWORKING ACADEMY.
HTTPS :// WWW. NETACAD . COM /
Se encuentran disponibles otros bloques, como el bloque IF-THEN, el bloque WHILE y el bloque
FOR. También hay bloques específicos para los sensores y los actuadores.
Blockly se puede utilizar para traducir el código basado en bloques a Python o JavaScript. Esto es
muy útil para los programadores principiantes.
Para obtener más información sobre los Juegos de Blockly o probarlos usted mismo, puede acceder
desde el siguiente link: https://blockly.games/
Para poder comenzar, hay varios niveles que debe completar. Blockly puede parecer un juego,
pero es una excelente herramienta que le permite aumentar sus capacidades de pensamiento
lógico, los cuales son uno de los componentes básicos de la programación informática.
La filosofía base del lenguaje se resume en el documento Zen de Python disponible en el material
complementario:
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.
IMAGEN 12. P ROGRAMA BLOCKLY DE JUEGO DE ADIVINANZAS . ( S. F.). C ISCO NETWORKING ACADEMY.
HTTPS :// WWW. NETACAD . COM /
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 Python. La versión de Python está
impresa en la primera línea cuando se inicia el intérprete (imagen 14). Este módulo se basa en el
código de Python 3.
Cuando se llama al intérprete de Python sin argumentos y los comandos se ingresan mediante el
teclado, se dice que el intérprete 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
continuación 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 imagen 15 muestra
el bloque IF - THEN escrito en Python.
IMAGEN 15. BLOQUE IF-THEN. ( S. F.). C ISCO NETWORKING ACADEMY. HTTPS ://WWW.NETACAD.COM/
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.
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 imagen 16.
El modo interactivo de Python implementa la variable especial “_” para sostener el resultado de la
última expresión publicada, como se muestra en la imagen 17.
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 a (=). No
se muestra ningún resultado antes del siguiente indicador interactivo, como se muestra en la
imagen 18.
Los intentos de utilizar una variable no definida (sin ningún valor asignado) resultarán en un error,
como se muestra en la imagen 19.
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 imagen 20.
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.
La imagen 22 define una función para agregar dos números y mostrar el resultado.
Range(): La función de range() genera una lista de números utilizados generalmente para iterar
con bucles FOR.
Tuplas: una tupla es una secuencia de objetos incambiables de Python. Las tuplas son secuencias
separadas por paréntesis.
Listas: las listas son una secuencia de objetos cambiables de Python. Las listas pueden crearse
configurando distintos valores separados por comas entre corchetes.
Conjuntos: son colecciones no ordenadas de elementos únicos. Las aplicaciones comunes incluyen
verificación de pertenencia, la eliminación de duplicados de una secuencia y cálculos de
operaciones matemáticas estándar en conjuntos, como la intersección, unión, diferencia y
diferencia simétrica.
Diccionario: es una lista de elementos separados por comas. Cada elemento es una combinación
de un valor y una clave única. Cada clave 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.
IMAGEN 22. IF-THEN, ELSE, ELIF. ( S. F.). CISCO NETWORKING ACADEMY. HTTPS ://WWW. NETACAD. COM/
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.
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 imagen 23.
IMAGEN 23. BUCLE FOR. ( S. F.). C ISCO NETWORKING ACADEMY. HTTPS ://WWW. NETACAD.COM/
La tercera línea contiene un operador de asignación múltiple. Las variables a y b reciben 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 tabulación 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.
Los sensores ahora están en todas partes, y recopilan y transmiten cantidades enormes de datos.
Los datos generados pueden almacenarse y analizarse en una fecha posterior, o se pueden analizar
y utilizar inmediatamente. Puede haber sensores en el hogar, en los semáforos, en los campos
agrícolas y en nuestros organismos. Los datos analizados son usados por gobiernos, ciudades,
empresas y personas para generar cambios, como el monitoreo del medioambiente, el pronóstico
del crecimiento de la población, el control de residuos o la protección de una vivienda.
Las redes componen la base del mundo digitalizado. Existen muchos tipos de redes que se
caracterizan por su tamaño geográfico, por la cantidad de dispositivos o redes que conectan y por
si admiten dispositivos móviles o no. Las redes también se pueden caracterizar por su función y el
propósito.
• PAN: Bluetooth
• LAN
Por lo general, un sensor se conecta a un controlador mediante una conexión inalámbrica. Los
controladores recopilan los datos de los sensores, y envían los datos para su almacenamiento o
análisis. Los controladores pueden tener la capacidad para tomar decisiones inmediatas o pueden
funcionar junto con un dispositivo denominado actuador. Los actuadores toman la entrada
eléctrica y transforman la entrada en acción física.
En la actualidad, las redes conectan miles de millones de sensores y tienen la capacidad para
realizar cambios en entornos físicos sin intervención humana. El futuro de las redes girará en torno
a la inteligencia artificial (AI) y las redes basadas en la intención (IBN). Si se programan de manera
correcta, los dispositivos inteligentes pueden evaluar los datos que reciben, y modificar los procesos
o la configuración. Si se les proporcionan los datos suficientes, pueden “aprender” y modificar sus
propios códigos según los nuevos parámetros.3
3
Cisco Networking Academy. (s. f.). Cisco Networking Academy - IoT. https://www.netacad.com/
• Internet de las cosas, privacidad y seguridad. (2018, 22 octubre). Foro Económico Mundial.
https://es.weforum.org/agenda/2018/10/internet-de-las-cosas-privacidad-y-seguridad