0% encontró este documento útil (0 votos)
137 vistas33 páginas

IOT Programacion PDF

Cargado por

Jhonny Camatón
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
137 vistas33 páginas

IOT Programacion PDF

Cargado por

Jhonny Camatón
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 33

Carrera de Ing.

en Tecnología de la Información
Msia. Daniel Quirumbay – [email protected]

Julio 2020

© 2013 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1
1 Conceptos Básicos IOT

2 Sistemas y Arquitecturas
Agenda
3 Lenguajes de programación

5 Práctica

© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Capítulo 2: Secciones y objetivos
 2.1 Aplicación de la programación básica para el soporte de dispositivos de IoT
• Use Python para crear programas que acepten las entradas del usuario, y la lectura y escritura en
archivos externos.
• Describa las variables de programación básicas y aspectos esenciales.
• Aplique las variables de programación básicas y los aspectos esenciales en Blockly.
• Aplique las variables de programación básicas y los aspectos esenciales con Python

 2.2 Creación de un prototipo de su idea


• Explique la creación de prototipos y su propósito
• Describa la creación de prototipos.
• Describa las diversas herramientas y materiales que se usan para crear un prototipo.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 3
Programación básica para el
soporte de dispositivos IOT
4
Conceptos básicos de programación
Siga el diagrama de flujo

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 5
Conceptos básicos de programación
Diagramas de flujo
Diagramas de flujo:
 Son diagramas que se
utilizan para representar
estos procesos o flujos de
trabajo.
 Ilustran cómo debe
funcionar un proceso.
 Muestran los estados de
entrada, las decisiones
tomadas y los resultados
de estas.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 6
Conceptos básicos de programación
Sofware del sistema, software de aplicaciones y lenguajes
informáticos
 Dos tipos comunes de software de
computadora: software del sistema y el
software de aplicaciones.
• Los programas para software de
aplicaciones se crean con el fin de realizar
una tarea determinada o un conjunto de
tareas.
• El software del sistema funciona entre el
hardware de la computadora y el programa
de aplicaciones.
• El software del sistema y el software de
aplicaciones se crean con un lenguaje de
programación.
• Python es un ejemplo de un lenguaje de
programación interpretado o interpretativo.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 7
Conceptos de programación básica
Variables de programación

 Los lenguajes de programación utilizan variables para alojar


frases, números u otra información importante que pueda
utilizarse en la codificación.
• Las variables pueden contener el resultado de un cálculo, el
resultado de una consulta en una base de datos o algún otro valor.
• x+y=z
• Aquí, "x", "y" y "z" son las variables que pueden representar caracteres,
cadenas de caracteres, valores numéricos o direcciones de memorias
• a = 10
• asocia el valor de 10 a la variable "a"

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

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 8
Conceptos de programación básica
Estructuras básicas de programas
 Las estructuras lógicas más comunes son las siguientes:
• IF – THEN: permite que la computadora tome una decisión
según el resultado de una expresión.
• myVar > 0
• Es verdadera si el valor almacenado en la variable myVar es
mayor que cero.
• Si es falsa, la computadora continúa con la siguiente estructura.
• Si es verdadera, la computadora ejecuta la acción asociada antes
de pasar a la siguiente instrucción del programa.
• Los bucles FOR ejecutan un conjunto específico de
instrucciones una cantidad de veces específica según una
expresión.
• 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.
• Los bucles WHILE ejecutan un conjunto específico de
instrucciones mientras que una expresión sea verdadera.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 9
Programación básica con Blockly
Qué es el Blockly
Configuración de una variable

Espacio de trabajo

 Herramienta de programación visual creada para ayudar a los principiantes a comprender los conceptos de
programación. Permite que un usuario cree un programa sin introducir ninguna línea de código.

 Asigna distintas estructuras de programación a los bloques de color que contienen casillas y espacios para
permitir que los programadores ingresen valores. Los programadores pueden unir las estructuras
arrastrando y asociando los bloques adecuados.

 Los bloques específicos representan funciones. Seleccione y arrastre los bloques de funciones hasta el
espacio de trabajo y complete las casillas requeridas.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 10
Programación básica con Blockly
Juegos de Blockly

https://blockly-games.appspot.com/
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 11
Programación básica con Blockly
Actividad de laboratorio – Activación de un LED con Blockly

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 12
Programación con Python
¿Qué es Python?
Juego de
Juego de
adivinanzas
adivinanzas
con Python
con Blockly

 Python es un lenguaje muy común diseñado para ser fácil de leer y escribir.

 Filosofía del lenguaje:


• 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
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 13
Programación con Python
El Intérprete de Python

Mensaje de bienvenida del


intérprete de

 El intérprete de Python comprende y ejecuta el código de Python. El código de Python pueden crearse en
cualquier editor de texto y los intérpretes de Python están disponibles para muchos sistemas operativos.

 En las máquinas Linux, el intérprete de Python usualmente se instala en /usr/bin/python o /usr/bin/python3.

 Con el nuevo instalador Windows de Python, Python se instala de manera predeterminada en el directorio de
inicio del usuario. Una vez instalado el intérprete de Python, funciona de manera similar al shell de Linux.
Esto significa que, cuando se invoca sin argumentos, lee y ejecuta comandos interactivamente. Cuando se
invoca con un argumento de nombre de archivo o con un archivo como entrada estándar, lee y ejecuta un
script de ese archivo.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 14
Programación con Python
El Intérprete de Python (continuación)

Bloque IF-THEN

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

 En el modo interactivo, 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 (...).

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

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 15
Programación con Python
Variables y declaraciones básicas en Python
 El intérprete recibe y ejecuta las declaraciones interactivamente.

 La variable especial
 Actúa como una "_" contiene el
calculadora simple. resultado de la
última expresión
publicada.

 Para asignar valores a las


 Si intenta utilizar una variable no definida
variables, utilice el signo =.
obtendrá como resultado un error.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 16
Programación con Python
Variables y declaraciones básicas en Python (continuación)
 El intérprete recibe y ejecuta las declaraciones interactivamente.

 La declaración de publicación
imprime el resultado de la  Las funciones
expresión dada. permiten que un
bloque de códigos
 Utilice el carácter de barra invertida (\) para reciba un nombre y
sustraerse de los caracteres. Por ejemplo, una se vuelva a utilizar
cadena que utiliza comillas dobles, pero que según sea necesario.
también necesita utilizar una comilla doble dentro
de la cadena.
 Las comillas simples o comillas dobles pueden
utilizarse para envolver las cadenas.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 17
Programación con Python
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(): genera una lista de números utilizados generalmente para


iterar con bucles FOR.
• range(stop): cantidad de números enteros a generar desde cero
• range ([start], stop [, paso]): el número de Inicio de la secuencia, el
número de finalización en la secuencia y la diferencia entre cada
número en la secuencia.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 18
Programación con Python
Funciones útiles y tipos de datos en Python (cont.)

Tuplas: secuencias separadas por paréntesis.

Listas: secuencias de objetos de Python


que pueden cambiarse, y se crean
configurando distintos valores separados
por comas entre corchetes.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 19
Programación con Python
Funciones útiles y tipos de datos en Python (cont.)

 Los conjuntos son


colecciones no ordenadas
de elementos exclusivos.
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.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 20
Programación con Python
Funciones útiles y tipos de datos en Python (cont.)

 Un 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.
 Se puede acceder a,
actualizar o eliminar los
elementos del diccionario.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 21
Programación con Python
Estructuras de programación en Python

 Bucle FOR
 IF-THEN, ELSE, ELIF • Itera los elementos de  Bucle WHILE
• Toma decisiones según el cualquier secuencia (una
lista o una cadena), en el • Ejecuta un bloque de código
resultado de una expresión si la expresión es
orden en que aparecen en
• ELSE especifica instrucciones para la secuencia. verdadera.
ejecutar si la expresión es falsa.
• ELIF se utiliza para realizar una
segunda prueba.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 22
Programación con Python
Práctica de laboratorio: programación básica de Python

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 23
Creación de un prototipo de
su Idea.
24
¿Qué es la creación de un prototipo?
Definición de creación de un prototipo
 La creación de prototipos es el proceso de creación de un modelo de trabajo de un
producto o sistema.
 En IoT, esto ayuda a tener habilidades de diseño, habilidades eléctricas, habilidades
físicas/mecánicas, habilidades de programación y a comprender cómo funciona TCP/IP.
 Debido a que IoT aún está en desarrollo, todavía existen tareas desconocidas por descubrir.

 Este es un gran momento para inventar algo que forme parte de IoT.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 25
¿Qué es la creación de un prototipo?
Cómo crear un prototipo

 ¿Cómo se crea un prototipo? Un equipo de Google utilizó


el “método rápido de creación de un prototipo” para crear
Google Glass.
 Kickstarter, Indiegogo y Crowdfunder son solo tres de los
numerosos programas de financiación colectiva en línea.
 ¿Qué invención de IoT creará?

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 26
Recursos para la creación de prototipos
Materiales físicos

 Un buen lugar para comenzar es, por supuesto, Internet. Personas que nunca se encontraron
físicamente ahora puedan colaborar y trabajar juntas.

 Maker Media es una plataforma global para conectar a los creadores entre sí a fin de que
intercambien proyectos e ideas.
 Making Society tiene una buena sección sobre la creación de modelos de plástico y arcilla.

 LEGO Mindstorms tiene una gran comunidad de colaboradores y fanáticos.

 Meccano, o Erector Set, es un sistema de construcción de modelos que consiste en bandas de


metal, placas, vigas angulares, ruedas, ejes y engranajes, todos reutilizables, con tuercas y pernos
para conectar las piezas. Le permite armar prototipos funcionales y dispositivos mecánicos.

 La impresión en 3D es el proceso por el cual se crea un objeto sólido basado en un archivo


informático de un modelo en 3D.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 27
Recursos para la creación de prototipos
Kits de herramientas electrónicas
 Aunque es posible crear programas para casi cualquier computadora, algunas plataformas están
diseñadas para principiantes. A continuación, se indican algunas de las plataformas más populares:
• Arduino es una plataforma informática física de código abierto basada en una simple placa de
microcontroladores y un entorno de desarrollo para escribir el software de la placa. Se pueden
desarrollar objetos interactivos que recogen información de diversos switches o sensores para controlar
luces, motores y otros objetos físicos.
• Raspberry Pi es una computadora de bajo costo del tamaño de una tarjeta de crédito que se conecta a
un monitor de computadora o a un televisor. Se opera mediante un teclado y un mouse estándar. Es
capaz de funcionar como una computadora, desde navegar en Internet y reproducir video de alta
definición, hasta crear hojas de cálculo, procesar texto y usar juegos.
• Beaglebone es muy similar a Raspberry Pi en tamaño, requisitos de energía y aplicación. Beaglebone
tiene más capacidad de procesamiento que Raspberry Pi, por lo tanto es una mejor opción para
aplicaciones con mayores requisitos de procesamiento.

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 28
Recursos para la creación de prototipos
Recursos de programación

 La programación es fundamental para IoT. La creación de un código personalizado es muy útil


cuando se desarrolla una solución de IoT. Existen muchos otros recursos gratuitos que pueden
ayudarlo a aprender sobre programación:
• El MIT OpenCourseWare (OCW) es una publicación basada en la Web de casi todo el contenido de los
cursos de MIT. Abierto y disponible para todo el mundo, OCW es un excelente lugar para familiarizarse
con la programación informática de manera gratuita. Se pueden buscar cursos de OCW relacionados
con programación en http://ocw.mit.edu/courses/intro-programming.
• Khan Academy es un sitio web educativo sin fines de lucro creado en 2006 para proporcionar “educación
libre, de primera clase, a cualquier persona y en cualquier lugar”. Las lecciones relacionadas con la
programación informática se pueden encontrar en https://www.khanacademy.org/computing/cs
• Code Academy es otro excelente recurso. Se basa en la interactividad para enseñar a las personas a
escribir programas informáticos. Los puede encontrar en http://www.codeacademy.com.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 29
Recursos para la creación de prototipos
Talleres de invención y de emprendimiento en la comunidad
 Entonces, es probable que haya creado algo
realmente genial. ¿Qué hacer ahora? Existen
varios lugares en los que puede recibir ayuda para
exponer su idea o su prototipo a otros.

 Investigue cuáles son las opciones disponibles en


su comunidad.

 Internet tiene muchos recursos para ayudar a que


su idea tenga exposición. Quirky es un buen
ejemplo. Quirky permite que los usuarios
compartan sus ideas. Cuando se envía una idea,
otros usuarios de Quirky pueden votar y elegir si
desean apoyarla o no. Si una idea es buena, se
puede convertir en un producto real. Puede
conocer más acerca de Quirky en
https://www.quirky.com/how-it-works.
© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 30
Recursos para la creación de prototipos
Práctica de laboratorio opcional: introducción a Arduino

© 2016 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco. 31
Thanks!
Any
Question?
32
Facsistel.upse.edu.ec

También podría gustarte