Introducción
Convenciones
Código fuente
Capítulo 1. Configuración y administración
1.0. Introducción
1.1. Elegir un modelo de Raspberry Pi
1.2. Encapsular una Raspberry Pi
1.3. Elegir una fuente de alimentación
1.4. Elegir una distribución de sistema operativo
1.5. Escribir en una tarjeta SD con NOOBS
1.6. Escribir en una tarjeta SD manualmente (Mac)
1.7. Escribir en una tarjeta SD manualmente (Windows)
1.8. Escribir en una tarjeta SD manualmente (Linux)
1.9. Conectar el sistema
1.10. Conectar un monitor DVI o VGA
1.11. Utilizar un monitor/televisión de video compuesto
1.12. Utilizar todo el espacio de almacenamiento en la tarjeta SD
1.13. Ajustar el tamaño de la imagen en el monitor
1.14. Maximizar el rendimiento
1.15. Cambiar la contraseña
1.16. Configurar Raspberry Pi para que se inicie directamente en un sistema de ventanas
1.17. Apagar Raspberry Pi
1.18. Instalar el módulo cámara de Raspberry Pi
Capítulo 2. Conexiones de red
2.0. Introducción
2.1. Conectar con una red cableada
2.2. Averiguar la dirección IP
2.3. Configurar una dirección IP estática
2.4. Configurar el nombre de red de una Raspberry Pi
2.5. Configuración de una conexión inalámbrica
2.6. Conectar con un cable de consola
2.7. Controlar Raspberry Pi en modo remoto con SSH
2.8. Controlar Raspberry Pi en modo remoto con VNC
2.9. Compartir archivos en una red Mac
2.10. Compartir la pantalla de Raspberry Pi en un Mac
2.11. Utilizar una Raspberry Pi para NAS (Almacenamiento conectado a la red)
2.12. Impresión en red
Capítulo 3. Sistema operativo
3.0. Introducción
3.1. Mover archivos gráficamente
3.2. Iniciar una sesión Terminal
3.3. Navegar por el sistema de archivos utilizando un Terminal
3.4. Copiar un archivo o carpeta
3.5. Renombrar un archivo o carpeta
3.6. Modificar un archivo
3.7. Visualizar los contenidos de un archivo
3.8. Crear un archivo sin utilizar un editor
3.9. Crear un directorio
3.10. Eliminar un archivo o directorio
3.11. Realizar tareas con privilegios de superusuario
3.12. Comprender los permisos de archivos
3.13. Cambiar los permisos de un archivo
3.14. Cambiar el propietario de un archivo
3.15. Hacer una captura de pantalla
3.16. Instalar software con apt-get
3.17. Eliminar software instalado con apt-get
3.18. Obtener archivos desde la línea de comandos
3.19. Obtener código fuente con git
3.20. Ejecutar un programa o script automáticamente al iniciar
3.21. Ejecutar un programa o script a intervalos regulares automáticamente
3.22. Buscar
3.23. Utilizar el histórico de la línea de comandos
3.24. Monitorizar la actividad del procesador
3.25. Trabajar con archivos almacenados
3.26. Listar dispositivos USB conectados
3.27. Redireccionar la salida desde la línea de comandos a un archivo
3.28. Concatenar archivos
3.29. Utilizar tuberías
3.30. Ocultar la salida al Terminal
3.31. Ejecutar programas en segundo plano
3.32. Crear alias de comandos
3.33. Configurar fecha y hora
3.34. Averiguar cuánto espacio hay en la tarjeta SD
Capítulo 4. Software
4.0. Introducción
4.1. Hacer un centro multimedia
4.2. Instalar software ofimático
4.3. Instalar otros exploradores
4.4. Utilizar Pi Store
4.5. Hacer un servidor de cámara Web
4.6. Ejecutar un emulador de consolas de juegos antiguos
4.7. Ejecutar Minecraft
4.8. Ejecutar Open Arena
4.9. Raspberry Pi como transmisor de radio
4.10. Ejecutar GIMP
4.11. Radio a través de Internet
Capítulo 5. Fundamentos básicos de Python
5.0. Introducción
5.1. Elegir entre Python 1 y Python 2
5.2. Modificar programas de Python con IDLE
5.3. Utilizar la consola de Python
5.4. Ejecutar programas de Python desde el Terminal
5.5. Variables
5.6. Ver la salida
5.7. Leer entradas del usuario
5.8. Aritmética
5.9. Crear cadenas
5.10. Concatenar o unir cadenas
5.11. Convertir números en cadenas
5.12. Convertir cadenas en números
5.13. Averiguar la longitud de una cadena
5.14. Averiguar la posición de una cadena dentro de otra
5.15. Extraer partes de una cadena
5.16. Reemplazar una cadena de caracteres con otra dentro de una cadena
5.17. Convertir una cadena en mayúsculas o minúsculas
5.18. Ejecutar comandos condicionados
5.19. Comparar valores
5.20. Operadores lógicos
5.21. Repetir instrucciones un número de veces determinado
5.22. Repetir instrucciones hasta que cambia alguna condición
5.23. Interrumpir un bucle
5.24. Definir una función en Python
Capítulo 6. Listas y diccionarios de Python
6.0. Introducción
6.1. Creación de una lista
6.2. Acceder a los elementos de una lista
6.3. Averiguar la longitud de una lista
6.4. Añadir elementos a una lista
6.5. Eliminar elementos de una lista
6.6. Crear una lista fragmentando una cadena
6.7. Iterar sobre una lista
6.8. Enumerar una lista
6.9. Clasificar una lista
6.10. Recortar una lista
6.11. Aplicar una función a una lista
6.12. Crear un diccionario
6.13. Acceder a un diccionario
6.14. Eliminar fragmentos de un diccionario
6.15. Iterar sobre diccionarios
Capítulo 7. Python avanzado
7.0. Introducción
7.1. Formato de números
7.2. Formato de fechas
7.3. Devolver más de un valor
7.4. Definir una clase
7.5. Definir un método
7.6. Herencia
7.7. Escribir en un archivo
7.8. Leer un archivo
7.9. Conservar
7.10. Gestionar excepciones
7.11. Utilizar módulos
7.12. Números aleatorios
7.13. Hacer búsquedas en la Web desde Python
7.14. Argumentos de la línea de comandos en Python
7.15. Enviar correos electrónicos desde Python
7.16. Crear un servidor Web sencillo desde Python
Capítulo 8. Principios básicos del conector GPIO
8.0. Introducción
8.1. El conector GPIO
8.2. Uso del conector GPIO sin riesgos para Raspberry Pi
8.3. Instalar RPi.GPIO
8.4. Configurar I2C
8.5. Utilizar herramientas I2C
8.6. Configurar SPI
8.7. Liberar el puerto serie
8.8. Instalar PySerial para acceder al puerto serie desde Python
8.9. Instalar Minicom para comprobar el puerto serie
8.10. Utilizar una placa de pruebas usando cables con conector
8.11. Utilizar una placa de pruebas con un adaptador Pi Cobbler
8.12. Convertir señales de 5 V a 3,3 V mediante dos resistencias
8.13. Convertir señales de 5 V a 3,3 V mediante un módulo convertidor de nivel
8.14. Alimentar Raspberry Pi con pilas
8.15. Alimentar Raspberry Pi con una pila LiPo
8.16. Primeros pasos con una placa de interfaz digital PiFace
8.17. Primeros pasos con una Gertboard
8.18. Primeros pasos con una placa RaspiRobot
8.19. Utilizar una placa de prototipos Humble Pi
8.20. Utilizar una placa de prototipos Pi Plate
8.21. Utilizar una placa de acceso fácil con terminales de pinza
Capítulo 9. Controlar hardware
9.0. Introducción
9.1. Conectar un led
9.2. Controlar el brillo de un led
9.3. Emitir un zumbido
9.4. Conmutar un dispositivo CC de alta potencia mediante un transistor
9.5. Controlar un dispositivo de alta potencia mediante un relé
9.6. Controlar dispositivos CA de tensiones elevadas
9.7. Hacer una interfaz de usuario para apagar y encender dispositivos
9.8. Hacer una interfaz de usuario para controlar la alimentación PWM para leds y motores
9.9. Cambiar el color de un led RGB
9.10. Utilizar grupos de leds o charlieplexing
9.11. Utilizar un medidor analógico como visualizador
9.12. Programación con interrupciones
9.13. Controlar las salidas de GPIO mediante una interfaz Web
Capítulo 10. Motores
10.0. Introducción
10.1. Controlar servomotores
10.2. Controlar una gran cantidad de servomotores
10.3. Controlar la velocidad de un motor CC
10.4. Controlar el sentido de giro de un motor CC
10.5. Utilizar un motor paso a paso unipolar
10.6. Utilizar un motor paso a paso bipolar
10.7. Controlar un motor paso a paso bipolar con una placa RaspiRobot
10.8. Construir un robot explorador sencillo
Capítulo 11. Entradas digitales
11.0. Introducción
11.1. Conectar un interruptor pulsador
11.2. Cambiar de estado con un interruptor pulsador
11.3. Utilizar un conmutador de dos posiciones o interruptor deslizante
11.4. Utilizar un conmutador con cero o interruptor deslizante
11.5. Evitar los rebotes en la pulsación del botón
11.6. Utilizar una resistencia de actuación externa
11.7. Utilizar un encoder rotativo o de cuadratura
11.8. Utilizar un teclado numérico
11.9. Detectar movimiento
11.10. Añadir GPS a Raspberry Pi
11.11. Captar pulsaciones de teclas
11.12. Captar movimientos del ratón
11.13. Utilizar un módulo de reloj en tiempo real
Capítulo 12. Sensores
12.0. Introducción
12.1. Sensores resistivos
12.2. Medir luminosidad
12.3. Detectar metano
12.4. Medir tensión
12.5. Reducir tensiones para medición
12.6. Sensores resistivos con un ADC
12.7. Medir temperatura con un ADC
12.8. Medir aceleración
12.9. Medir temperatura con un sensor digital
12.10. Medir distancia
12.11. Mostrar valores del sensor
12.12. Registrar en una unidad Flash USB
Capítulo 13. Visualizadores
13.0. Introducción
13.1. Utilizar un visualizador led de cuatro dígitos
13.2. Mostrar mensajes en una matriz de leds I2C
13.3. Utilizar Pi-Lite
13.4. Mostrar mensajes en una pantalla LCD alfanumérica
Capítulo 14. Arduino y Raspberry Pi
14.0. Introducción
14.1. Programar Arduino desde Raspberry Pi
14.2. Comunicación con Arduino mediante Monitor Serial
14.3. Configurar PyFirmata para controlar un Arduino desde Raspberry Pi
14.4. Escribir salidas digitales en Arduino desde Raspberry Pi
14.5. Utilizar PyFirmata con TTL serie
14.6. Leer en.tradas digitales de Arduino con PyFirmata
14.7. Leer entradas analógicas de Arduino con PyFirmata
14.8. Salidas analógicas PWM con PyFirmata
14.9. Controlar un servo con PyFirmata
14.10. Comunicación personalizada con un Arduino mediante TTL serie
14.11. Comunicación personalizada con un Arduino mediante I2C
14.12. Utilizar Arduinos pequeños con Raspberry Pi
14.13. Primeros pasos con una placa aLaMode y Raspberry Pi
14.14. Utilizar una placa Arduino con una placa aLaMode y Raspberry Pi
14.15. Utilizar Gertboard como una interfaz Arduino
El entorno de Raspberry Pi está evolucionando con gran rapidez, todos los días aparecen nuevas tarjetas de interfaz y librerías de software.
En este libro, el prolífico autor Simon Monk pone a nuestra disposición más de 200 ejercicios tan prácticos como divertidos para utilizarlos en un ordenador de bajo coste del tamaño de una tarjeta de crédito y equipado con Linux, programando en Python, y conectando sensores, motores y otro tipo de hardware y periféricos entre los que se incluye Arduino.
También aprenderemos los principios básicos para ayudarnos a utilizar nuevas tecnologías con Raspberry Pi a medida que su ecosistema evoluciona.
Estos ejercicios prácticos están indicados para programadores familiarizados con Raspberry Pi, tanto profesionales como aficionados, y suponen una manera interesante y entretenida de descubrir el increíble potencial de Raspberry, y dar rienda suelta a la creatividad.