Página 3
Índice de Contenido Conozca la Raspberry Pi.......................1 Comenzando con la Raspberry Pi..................8 Administración del Sistema Linux..................26...
Página 4
Solución de Problemas......................44 Configuración de la Red......................53 La Herramienta de Configuración del Software de la Raspberry Pi.........70 Configuración Avanzada de la Raspberry Pi..............80 La RasPi como una PC Teatro en Casa................95 La RasPi como una Máquina Productiva.................106...
Página 5
La RasPi como un Servidor Web..................114 Una Introducción a Scratch....................125 Una Introducción a Python....................139 Aprendiendo a Hackear Hardware...................164 El Puerto GPIO.........................179...
Página 6
El Módulo de Cámara de la Raspberry Pi................192 Placas de Expansión......................206 Python Recetas........................220 Rápida Referencia del Módulo de Cámara...............225 Modos de Pantalla HDMI....................231...
Página 9
Conexión de la Placa Capítulo 1 Capítulo 2 Capítulo 3 Capítulo 4 Capítulo 5 Capítulo 6 Capítulo 7...
La Terminal y la GUI Comandos Básicos de Linux ○ ls /home /home ○ cd boot boot cd /boot /boot ○ mv viejoarchivo nuevoarchivo ○ ○ rmdir ○ rmdir mkdir mkdir micarpeta micarpeta...
sudo fdisk -l /dev/sdXN /dev/sda1 sudo mkdir /media/unidadexterna udo chgrp -R users /media/unidadexterna && sudo chmod -R g+w /media/unidadexterna sudo mount /dev/sdXN /media/unidadexterna -o=rw Creación de una Nueva Cuenta de Usuario...
-m -G adm,dialout,cdrom,audio,plugdev,users,lpadmin,sambashare,vchiq,powerdev nombre_usuario sudo passwd sudo useradd useradd Usuarios y Grupos audio groups Sistema de Archivos...
Otras Distribuciones pacman Pacman pacman man pacman man yum sudo apt-get update Encontrar el Software que Desea apt-cache apt-cache search game apt-cache...
apt-cache less apt-cache search game | less Instalación del Software apt-get sudo nethack-console install apt-get sudo apt-get install nethack-console...
Actualización del Software sudo apt-get update sudo apt-get upgrade nethack-console sudo apt-get install nethack-console man apt Apagando de Forma Segura la RasPi...
Setup Options raspi-config 1 Expand Filesystem (Expandir el Sistema de Archivos) raspi-config 2 Change User Password (Cambiar la Contraseña de Usuario) raspi-config raspi-config 3 Enable Boot to Desktop (Activar el Inicio del Escritorio)
por siempre Ejemplo 3: Un juego sencillo mover 10 pasos al presionar tecla espacio al presionar tecla espacio al presionar tecla espacio al presionar [icono de bandera] espacio...
Página 143
flecha derecha al presionar teclado flecha derecha al presionar tecla espacio al presionar tecla flecha izquierda mover 10 pasos al presionar tecla izquierda mover -10 pasos.
Página 145
¿tocando ? al presionar espacio ¿tocando ? Gato Plato ¿tocando Objeto1? ¿tocando Objeto1? ¿tocando Objeto1? si ¿tocando Objeto1? si condicional Lógica Booleana...
Página 146
decir ¡Hola! por 2 segundos si ¿tocando Objeto1? !No me comas! esperar 1 segundos al presionar tecla espacio al presionar tecla flecha derecha esconder ¿tocando? ¿si tocando Objeto2? esperar 1 segundos decir ¡Hola! por 2 segundos ¡Yum-yum-yum! al presionar tecla flecha derecha mover 10 pasos...
Página 155
# Ejemplo 2: Un programa Python de la Guía de Usuario de Raspberry Pi nombreUsuario = raw_input(“¿Cual es su nombre? “) nombreUsuario = nombreUsuario raw_input print raw_input input input nombreUsuario print “Bienvenido al programa,”, nombreUsuario print print print nombreUsuario...
Página 156
otraVez = 1 while otraVez == 1: otraVez otraVez ¿Por qué == ? while > < >= <= primerNumero = int(raw_input(“Escriba el primer numero: “)) segundoNumero = int(raw_input(“Escriba el segundo numero: “)) raw_input print primerNumero, “sumado a”,segundoNumero, “es igual a”, primerNumero + segundoNumero print primerNumero, “menos”, segundoNumero, “es igual a”, primerNumero - segundoNumero...
Página 157
= int(raw_input(“Escriba 1 para introducir mas numeros, o cualquier otro numero para salir: “)) otraVez while otraVez otraVez #!/usr/bin/env python # Ejemplo 2: Un programa Python de la Guía de Usuario de Raspberry Pi nombreUsuario = raw_input(“¿Cual es su nombre? “) print “Bienvenido al programa,”, nombreUsuario otraVez = 1 while otraVez == 1: primerNumero = int(raw_input(“Escriba el primer numero: “))
Página 160
sys.exit Game Over gameOver while while True: True gameOver for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() elif event.type == KEYDOWN: while pygame.quit() event.type == QUIT QUIT elif elif else elif KEYDOWN elif elif elif...
Página 161
if event.key == K_RIGHT or event.key == ord(‘d’): changeDirection = ‘right’ if event.key == K_LEFT or event.key == ord(‘a’): changeDirection = ‘left’ if event.key == K_UP or event.key == ord(‘w’): changeDirection = ‘up’ if event.key == K_DOWN or event.key == ord(‘s’): changeDirection = ‘down’...
Página 163
raspberrySpawned playSurface.fill(blackColour) for position in snakeSegments: pygame.draw.rect(playSurface,whiteColour,Rect(position[0], position[1], 20, 20)) pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1], 20, 20)) pygame.display.flip() pygame.display.flip() pygame.display.flip() if snakePosition[0] > 620 or snakePosition[0] < 0: gameOver() if snakePosition[1] > 460 or snakePosition[1] < 0: gameOver() gameOver for snakeBody in snakeSegments[1:]: if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]: gameOver() snakeSegments[1:]...
raspberrysnake.py raspberrysnake.py http://www.wiley.com/go/raspberrypiuserguide2e http://www.pygame.org/wiki/tutorials Ejemplo 4: Python y la Gestión de Redes...
Página 165
#!/usr/bin/env python # IRC Channel Checker, escrito por Tom Hudson para la Raspberry Pi Guía del Usuario import sys, socket, time time socket socket socket RPL_NAMREPLY = ‘353’ RPL_ENDOFNAMES = ‘366’ irc = { ‘host’ : ‘chat.freenode.net’, ‘port’ : 6667, ‘channel’...
Página 166
= { ‘nick’ : ‘botnick’, ‘username’ : ‘botuser’, ‘hostname’ : ‘localhost’, ‘servername’ : ‘localhost’, ‘realname’ : ‘Raspberry Pi Names Bot’ user nick -bot username realname hostname servername localhost socket socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print ‘Connecting to %(host)s:%(port)s...’ % irc try: s.connect((irc[‘host’], irc[‘port’]))
Entrada GPIO: Lectura de un Botón Ω Ω import RPi.GPIO as GPIO...
Página 199
GPIO.setmode(GPIO.BOARD) GPIO.setup(12, GPIO.IN) while True:...
Página 200
input_value input_value = GPIO.input(12) print if input_value == False: print(“The button has been pressed.”) while input_value == False: input_value = GPIO.input(12) while input_value import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(12, GPIO.IN) while True: input_value = GPIO.input(12) if input_value == False: print(“The button has been pressed.”) while input_value == False: input_value = GPIO.input(12) gpioinput.py...
Página 211
raspistill raspivd raspivid -w 1920 -h 1080 -o fullhdvideo.h264 raspivid -t 6000 -o videominuto.h264 raspivid raspivid --help Fotografía de Lapso de Tiempo desde la Línea de Comandos raspistill raspistill raspistill raspistill nano timelapse.sh...
Página 212
#!/bin/bash timelapse.sh nano # Captura de imágenes en lapsos de tiempo utilizando la aplicación raspistill while true...
Página 213
filename=`date +%Y%m%dT%H%M%S`.jpg date filename date date %H %M %S .jpg 20150117140000.jpg date raspistill raspistill -w 1920 -h 1080 -t 0 -o $filename filename filename echo echo Image captured sleep...
↵ Raspberry Pi Serpiente (Capítulo 12, Ejemplo 3) #!/usr/bin/env python # Raspberry Serpiente # Escrito por Gareth Halfacree para la Raspberry Pi Guía del Usuario import pygame, sys, time, random from pygame.locals import * pygame.init() fpsClock = pygame.time.Clock() playSurface = pygame.display.set_mode((640, 480)) pygame.display.set_caption('Raspberry Snake')
Página 232
== snakeBody[0] and snakePosition[1] == snakeBody[1]: gameOver() fpsClock.tick(30) IRC User List (Capítulo 12, Ejemplo 4) #!/usr/bin/env python # IRC User List # Escrito por Tom Hudson para la Raspberry Pi Guía del Usuario # http://tomhudson.co.uk/...
Entrada y Salida GPIO (Capítulo 14) #!/usr/bin/env python # Ejemplo de Entrada/Salida con el GPIO de la Raspberry Pi # Escrito por Gareth Halfacree Raspberry Pi Guía del Usuario import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.OUT) GPIO.setup(12, GPIO.IN) GPIO.output(11, False) while True: input_value = GPIO.input(12)