Publicado el 20 de Julio del 2019
6.081 visualizaciones desde el 20 de Julio del 2019
2,0 MB
40 paginas
Creado hace 8a (11/09/2016)
PYTHON
+
Raspberry Pi
Introducción y Ejercicios Prácticos
Patricio Reinoso M.
Agosto - 2016
1
Índice de Contenido
[0] - Introducción..................................................................................................................................3
[1] - Variables y Tipos..........................................................................................................................5
1.1.- Asignación de Variables...........................................................................................................5
1.2.- Tipos de Variables....................................................................................................................5
1.3.- Operadores Aritméticos Básicos..............................................................................................7
1.4.- Operadores Booleanos.............................................................................................................8
[2] - Listas, Tuplas y Diccionarios.......................................................................................................9
2.1.- Listas........................................................................................................................................9
2.2.- Tuplas.....................................................................................................................................11
2.3.- Diccionarios...........................................................................................................................11
[3] - Condicionales.............................................................................................................................14
[4] - Bucles.........................................................................................................................................17
4.1.- Bucles while..........................................................................................................................17
4.2.- Bucles for...............................................................................................................................18
[5] - Funciones....................................................................................................................................20
[6] - Manejo de Excepciones..............................................................................................................22
[7] - Manejo de I/O.............................................................................................................................23
7.1.- Entrada desde consola...........................................................................................................23
7.2.- Salida a consola.....................................................................................................................23
7.3.- Manejo de archivos................................................................................................................24
7.3.1.- Lectura de Archivos.......................................................................................................24
7.3.2.- Escritura en Archivo......................................................................................................25
[8] - Ejecución de programas Python desde la consola......................................................................26
[9] - Python y la Raspberry Pi............................................................................................................27
9.1.- GPIO Básico..........................................................................................................................27
9.2.- PWM......................................................................................................................................30
9.3.- Control de Servos mediante PWM........................................................................................31
9.4.- Sensores 1-Wire.....................................................................................................................32
[10] - Conexión con servicios Web....................................................................................................35
10.1.- Datos en formato JSON.......................................................................................................35
[11] - Visualización de Datos..............................................................................................................38
[12] – Observaciones finales..............................................................................................................39
2
[0] - Introducción
La Raspberry Pi, a partir de su lanzamiento (e incluso desde un tiempo antes) se convirtió en un
punto de inflexión en la computación actual. Debido a ciertas falencias encontradas en estudiantes
de informática de algunas Universidades del Reino Unido, nació a idea de tener un computador de
muy bajo costo, que pueda ser utilizado para enseñar programación a estudiantes de escuelas y
colegios alrededor del mundo. Esto con el fin de reforzar los conocimientos de programación, y
volver a lo básico, tal como sucedió en los 80s, con la masificación del computador personal.
Poder computacional en la palma de su mano
Este computador personal (del que inicialmente no esperaban vender mas de 10000 unidades) ha
tenido tal éxito, que hasta la fecha (agosto de 2016) se encuentran muy cerca de alcanzar los 10
millones de unidades vendidas. Se preguntarán a qué se debe tanto éxito? Pues entre algunos
parámetros podemos mencionar:
• Realmente es un sistema de bajo costo, con el cual uno puede trabajar sin preocuparse de
“romper” un computador costoso
• Una gran comunidad de desarrolladores y de soporte técnico a nivel mundial. Varios
•
•
millones de usuarios y muchísima gente participando en desarrollo y soporte técnico
Su sistema operativo principal (Raspbian) es una distribución de Linux amigable con el
usuario, y que incluye muchas aplicaciones orientadas a la educación y al desarrollo de
software
Python, que es el lenguaje principal usado en la Raspberry, es facil de aprender y muy
poderoso
Lo citado, mas un “boom” en temas como Open Hardware e Internet Of Things, han ocasionado
que muchisima gente use esta plataforma de hardware para las tareas mas variadas. Desde
servidores web en producción, hasta consolas de juego, o pajareras. Los usos de la Raspberry son
ilimitados, quedando todo en la inventiva de sus usuarios.
Este manual se centrará más en una introducción al lenguaje Python, aplicado sobre la Raspberry
Pi, que a temas como instalación y configuración de la tarjeta. Para mayor información de como
3
descargar, grabar y configurar el sistema operativo de la Raspberry, recomiendo visitar la web
http://www.raspberrypi.org donde se encontrará toda la información necesaria para iniciar con el
hardware y el software.
Dado que este es un manual introductorio a Python, para realizar los ejercicios, se usará la consola
interactiva de Python. La consola interactiva la podemos iniciar desde una ventana de terminal de
Linux, ejecutando el comando:
python
y obtendremos una consola, como lo presentamos a continuación:
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
desde aqui ejecutaremos los comandos de manera interactiva, obteniendo respuestas inmediatas a
los mismos, tal como se irá revisando en los ejercicios posteriores.
Adicional a esto, se pueden grabar los scripts de python a ejecutar como programas independientes,
y para su ejecución desde una consola de terminal, basta con ejecutar:
python mi_programa.py
y obtendremos el resultado de la ejecución del programa en nuestra consola.
Algunas convenciones de formato de texto usadas en este manual, según la tipografía:
•
•
comando de consola (nótese la italica)
programa de python ejecutado en modo interactivo, o guardado en archivo
.py
Para finalizar esta introducción y pasar a temas mas interesantes, me permito mencionar:
• Tomé el 0 como numeral de Introducción, porque el primer elemento de las listas en Python
es el elemento [0]
• Este manual fué escrito y revisado sobre una Raspberry Pi 3, usando Vim y LibreOffice
• Este manual, así como algunos ejercicios descritos aquí están disponibles en
http://www.patolin.com
4
[1] - Variables y Tipos
1.1.- Asignación de Variables
Los nombres de variables son "Case Sensitive", es decir, diferencian mayúsculas de minúsculas.
Los nombres de variables pueden contener caracteres alfanuméricos (empezando siempre por una
letra), y pueden incluir el guión bajo como único caracter especial.
Nombres de variables válidos:
- miVariable
- dato10
- dato_temperatura
Nombres de variables inválidos:
- dato-temperatura
- 10numeros
- mi!variable
Las variables se asignan mediante el operador =:
>>> miVariable=10
>>> miVariable
10
>>> miString="Hola mundo!"
>>> miString
'Hola mundo!'
>>> miLista=[1,2,3]
>>> miLista
[1, 2, 3]
1.2.- Tipos de Variables
En Python existen 3 tipos de datos básicos:
Numéricos: Enteros, Reales y Complejos
>>> miEntero=10
>>> miEntero
10
>>> miReal=12.34
5
>>> miReal
12.34
>>> miReal_1=10.0
>>> miReal_1
10.0
>>> miComplejo=2+3j
>>> miComplejo
(2+3j)
Nótese la diferencia entre las variables miEntero y miReal_1. A pesar de tener el mismo valor, se
diferencian por la inclusión de la parte decimal en el número. Para convertir valores numéricos a
cadenas de caracteres, y poder visualizarlas mediante el comando print(), es necesario usar el
comando str().
>>> a=10
>>> a
10
>>> b=str(a)
>>> b
'10'
Cadenas de caracteres
Se puede utilizar la comilla simple y doble para definir cadenas de caracteres. Adicionalmente, se
puede usar una triple comilla doble, para definir texto multilínea.
>>> miStringSimple='Hola mundo!'
>>> miStringSimple
'Ho
Comentarios de: PYTHON + Raspberry Pi Introducción y Ejercicios Prácticos (0)
No hay comentarios