Aprender Raspberry Pi

13
Aprender Raspberry Pi con 100 ejercicios prácticos 2ª edición

Transcript of Aprender Raspberry Pi

Page 1: Aprender Raspberry Pi

AprenderRaspberry Picon 100 ejercicios prácticos

2ª edición

Page 2: Aprender Raspberry Pi

10101010

001 ¿Qué puedo hacer con una Raspberry Pi? ........................... 14

002 Los diferentes modelos, usos y distribuciones .................... 16

003 Conexiones de la Raspberry Pi ............................................ 18

004 Las diferencias entre Raspberry Pi y Arduino ...................... 20

005 Conectando la Raspberry Pi ................................................ 22

006 Formatear una SD con Windows o Mac .............................. 24

007 Formatear una SD con Linux ............................................... 26

008 Copiar una imagen de sistema a una tarjeta SD ................. 28

009 Instalación usando NOOBS ................................................. 30

010 Instalación de Raspbian ....................................................... 32

011 Linux. Navegar por el sistema de archivos (I) ..................... 34

012 Linux. Navegar por el sistema de archivos (II) .................... 36

013 Gestionando ficheros ........................................................... 38

014 Gestionando usuarios .......................................................... 40

015 Los servicios en Linux ......................................................... 42

016 Conectar la Raspberry Pi a un monitor VGA o DVI ............ 44

017 Instalar bluetooth en la Raspberry Pi 2 o anteriores ........... 46

018 Instalar bluetooth en la Raspberry Pi 3 ............................... 48

019 Conectar la Raspberry Pi a Internet con Ethernet ............... 50

020 Conectar la Raspberry Pi a Internet con WiFi ..................... 52

021 Configurar la Raspberry Pi con una IP estática ................... 54

022 Instalación de programas en entorno gráfico ..................... 56

023 Instalación de programas desde terminal. Aptitude ........... 58

024 Actualización del sistema .................................................... 60

025 Mejorando el rendimiento de la Raspberry Pi ..................... 62

Índice

Page 3: Aprender Raspberry Pi

Aprender Raspberry Pi con 100 ejercicios prácticos

026 Instalación de un disco duro externo .................................. 64

027 Edición básica de imágenes con Raspbian .......................... 66

028 Ver videos con Raspberry Pi ................................................ 68

029 Personalizando nuestro escritorio en Raspbian .................. 70

030 LibreOffice: La suite ofimática de Raspbian ........................ 72

031 Convertir la Raspberry Pi en una consola de juegos ........... 74

032 La Pi Store ............................................................................ 76

033 Instalando Open Arena ....................................................... 78

034 Gráficos vectoriales. Inkscape .............................................. 80

035 Servidor de impresión .......................................................... 82

036 Conectar un cliente al servidor de impresión ..................... 84

037 Instalar el servidor web en una Raspberry Pi ...................... 86

038 Instalación de un servidor de bases de datos ...................... 88

039 Conceptos generales de SQL ................................................ 90

040 Instalación de WordPress en Raspberry Pi........................... 92

041 Crear un blog con WordPress .............................................. 94

042 Punto de acceso WiFi con Raspberry Pi y DHCP ................. 96

043 Punto de acceso WiFi con Raspberry Pi (II) ......................... 98

044 Instalar y configurar Samba. Compartir ............................ 100

045 Acceso remoto a la Raspberry Pi ........................................ 102

046 Servidor FTP ....................................................................... 104

047 Instalar un servidor DLNA ................................................. 106

048 La Raspberry Pi como centro multimedia ......................... 108

049 Conectando el centro multimedia a un NAS .................... 110

050 Iniciación a Scratch ........................................................... 112

Índice

1111

Page 4: Aprender Raspberry Pi

1212

051 Ejercicio sobre Scratch: Animando al cangrejo ................. 114

052 Ejercicio sobre Scratch: Laberinto ..................................... 116

053 Ejercicio sobre Scratch: Aprender a sumar jugando .................. 118

054 Iniciación a Python. Hola mundo con IDLE ..................... 120

055 Python. Programando desde el terminal ........................... 122

056 Python. Variables ............................................................... 124

057 Python. Operadores ........................................................... 126

058 Python. Condicionales ...................................................... 128

059 Python. Bucles ................................................................... 130

060 Python. Funciones ............................................................. 132

061 Python. Listas .................................................................... 134

062 Python. Trabajando con cadenas de texto ........................ 136

063 Python. Entrada/salida y gestión de archivos ................... 138

064 Python. Enviar un correo electrónico ............................... 140

065 Iniciacióna Minecraft Pi .................................................... 142

066 Comenzar a programar con Minecraft Pi .......................... 144

067 Minecraft Pi. Alterando el mundo ..................................... 146

068 Minecraft Pi. Crear minijuegos.......................................... 148

069 Iniciación a Mathematica .................................................. 150

070 Mathematica. Variables y funciones generales.................. 152

071 Operaciones con listas y matrices ..................................... 154

072 Mathematica. Gráficos en 2D y 3D ................................... 156

073 Mathematica. Acceso al GPIO ........................................... 158

074 Iniciación a Sonic Pi .......................................................... 160

075 Sonic Pi: Iteraciones, bucles y condicionales .................... 162

Índice

Page 5: Aprender Raspberry Pi

1313

Aprender Raspberry Pi con 100 ejercicios prácticos

076 Sonic Pi: Samples y sintetizadores ..................................... 164

077 Sonic Pi: Efectos y ejemplo práctico .................................. 166

078 Ubuntu Snappy Core. Instalar y configurar ...................... 168

079 Ubuntu Mate. Instalar y configurar ................................... 170

080 Instalación de la placa Raspberry Pi Zero / Zero W............. 172

081 Instalación de Windows 10 en una Raspberry Pi .............. 174

082 Desarrollo con Windows 10 y Visual Studio 2015 ............ 176

083 Introducción al GPIO. Instalación de Rpi.GPIO ............... 178

084 Encender un LED ............................................................... 180

085 Sensor de temperatura y humedad .................................... 182

086 Sensor de distancia mediante ultrasonidos ....................... 184

087 El bus I2C ........................................................................... 186

088 Sensor barométrico ............................................................ 188

089 Usando un display de segmentos ...................................... 190

090 Real Time Clock ................................................................. 192

091 Detector de intrusos. Sensor PIR ....................................... 194

092 Sense Hat ........................................................................... 196

093 Usar la Raspberry Pi con baterías ....................................... 198

094 Conectar una cámara a tu Raspberry Pi ............................ 200

095 Haciendo un timelapse con tu Raspberry Pi (I) ................. 202

096 Haciendo un timelapse con tu Raspberry Pi (II) .............. 204

097 Instalación de un servidor de streaming de video ............ 206

098 Como usar el bus SPI con Raspberry Pi ............................. 208

099 PyFirmata. Comunicar Raspberry Pi y Arduino ................ 210

100 Encuentra tu camino experimentando ............................. 212

Índice

Page 6: Aprender Raspberry Pi

14

¿Qué puedo hacer con una Raspberry Pi?

Bienvenidos a Aprender Raspberry Pi con 100 ejercicios prác-ticos. En este libro veremos, a través de 100 ejercicios, cómo sacar partido de nuestra Raspberry Pi de manera práctica y sencilla. El objetivo de este libro es dar una visión general de las posibilidades que nos brinda la Raspberry Pi, 1 tanto en software como en hardware. Para conseguirlo, desarrollaremos una serie de ejerci-cios de diferentes grados de complejidad y enfocados a muy di-versos aspectos de nuestro dispositivo, definiendo las bases que servirán posteriormente para que el lector pueda profundizar en los temas que le resulten más interesantes y provechosos.

1. Uno de los grandes valores de la Raspberry Pi, respecto a otrasplacas similares, es su gran comunidad, 2 a la altura de otrasgrandes comunidades online como las de Arduino. 3 Este li-bro ha sido posible también gracias a ella y, aunque es imposi-ble citar a cada persona, blog o website, desde aquí el agrade-cimiento por parte del autor por contribuir con su esfuerzo yconocimiento a la comunidad de Raspberry Pi.

2. Aunque los ejercicios del libro Aprender Raspberry Pi con100 ejercicios prácticos son independientes, y no hace faltaque el lector los lea en un orden prefijado, es muy recomen-

Actualmente, es posible conseguir una Raspberry Pi en tiendas especializadas en electrónica de muchas ciudades de España, pero si no podemos encontrar una tienda local que disponga de ella, nos resultará muy sencillo adquirirla en alguna de las muchas tiendas que la comercializan por Internet en España o Europa.

IMPORTANTE

1

2

FácilMedi

o

Avanzad

o

Page 7: Aprender Raspberry Pi

15

Aprender Raspberry Pi con 100 ejercicios prácticos

001dable, sobre todo en el caso de los lectores no iniciados, que se siga la estructura del libro, ya que ésta nos irá haciendo un recorrido de manera ordenada por los aspectos más importan-tes de la Raspberry Pi y permitirá un aprendizaje escalonado y ordenado.

3. La Raspberry Pi es un ordenador de placa única (es decir, quetiene todos los componentes integrados en una sola placa) yde bajo coste desarrollado por la fundación Raspberry Pi en elReino Unido con el objetivo de potenciar la enseñanza de lasciencias en las escuelas. Con el tiempo, la Raspberry Pi, juntocon la placa microcontroladora Arduino, se han convertido enun referente en el mundo maker y en el desarrollo de disposi-tivos para el llamado Internet de las cosas (IoT).

4. La Raspberry Pi destaca por su gran flexibilidad y su reducidoprecio (unos 35€ en el caso de la Raspberry Pi 3 y unos 10€ enel caso de la Raspberry Pi Zero W), 4 y nos permitirádesarrollar, tanto proyec-tos de software, como, porejemplo, un centro multimedia o un servidor web, comotambién proyectos de hardware, como un sistema devideovigilancia o la construcción de una estaciónmeteorológica casera.

5. La Raspberry Pi es un dispositivo increíble que permite, gra-cias a su facilidad de uso, sus infinitas capacidades de expan-sión y su activa comunidad, el desarrollo de de todo tipo deproyectos, llevando la posibilidades que nos brinda hasta loslímites de nuestra imaginación.

3

4

Page 8: Aprender Raspberry Pi

16

Los diferentes modelos, usos y distribuciones

En el mercado existen diferentes versiones de Raspberry Pi según las necesidades de los diferentes usuarios, aunque los principales modelos actualmente son la Raspberry Pi Zero, Raspberry A+, Ras-pberry B+, Raspberry Pi 2 y la Raspberry Pi 3. Cada modelo cubre una serie de necesidades específicas, pero actualmente la Raspbe-rry Pi 3 está sustituyendo al modelo B, B+ y Raspberry Pi 2. En la web oficial de la fundación Raspberry Pi puedes descargar diversas distribuciones (sistemas operativos) adaptadas a la Raspberry Pi, dependiendo siempre de los usos que le queramos dar.

1. La Raspberry Pi A+ 1 es la versión que sustituye a la antiguaRaspberry Pi A. Este dispositivo es la versión más pequeña deRaspberry, dispone de un solo conector USB, 256MB de RAMy carece de puerto Ethernet, pero a cambio tiene un consumomuy reducido.

2. De la misma manera, la Raspberry Pi B+ sustituye al mode-lo Raspberry Pi B. Ésta dispone de 4 conectores USB, puertoEthernet y 512MB de RAM.

3. La Raspberry Pi 2 mantiene la base de la Raspberry Pi B+ perocon un procesador quadcore mucho más potente y 1GB deRAM, características que mejoran ampliamente el rendimien-to, permitiendo instalar sistemas mucho más complejos comoUbuntu Mate o Windows 10 IoT.

4. La Raspberry Pi 3 2 mejora hasta un 60% el rendimiento deproceso de la Raspberry Pi 2, además de añadir un controladorWiFi 802.11n y Bluetooth 4.1 con lo que podremos conec-tarnos a redes inalámbricas sin necesidad de utilizar ningúnaccesorio.

1

2

FácilMedi

o

Avanzad

o

IMPORTANTEExiste también un modelo bastante poco usual llamado módulo de computación.

4 Este módulo no dispone de conectores de entrada y salida comunes, como USB o HDMI, y está preparadopara los desarrolladores quequieren una integración totalde la Raspberry Pi a las placasdiseñadas para sus proyectosmediante el uso de un conectorSODIMM.

Page 9: Aprender Raspberry Pi

17

Aprender Raspberry Pi con 100 ejercicios prácticos

0025. A diferencia de la Raspberry Pi 3, la nueva Raspberry Pi Zero /

Raspberry Pi Zero W sacrifica funcionalidades y potencia acambio de reducir su tamaño y precio. Esta placa tiene uncoste que ronda los 5€ en el caso de la Raspberry Pi Zero y 10€en el caso de la Raspberry Pi Zero W, y tiene un tamañomucho más reducido, de 65mm x 30mm x 5mm 3 .

6. Para ver el detalle de las especificaciones podemos consultar lasiguiente tabla. 5

7. Una vez vistas las diferentes versiones de Raspberry Pi, debere-mos elegir qué sistema le deseamos instalar a nuestro modelo.El sistema más extendido y más flexible es Raspbian, una ver-sión adaptada de la distribución de Linux Debian.

8. También podemos instalarle sistemas especialmente dedica-dos a servir de media center como OpenELEC o OSMC. Éstosnos permitirán convertir nuestro televisor de casa en un po-tente centro multimedia de bajo coste.

9. Más allá de las distribuciones oficiales que podemos encontraren la web de la fundación Raspberry Pi, existen multitud dedesarrollos de terceros que nos permiten gran variedad de usosalternativos, desde la opción de convertir nuestra Raspberry Pien una estación para radioaficionados a una consola de juegosantiguos.

3

5

4

Page 10: Aprender Raspberry Pi

18

Conexiones de la Raspberry Pi

El modelo A y A+, Zero y Zero W de Raspberry Pi no tienen puerto Ethernet.

IMPORTANTEEn este ejercicio analizaremos la Raspberry Pi en detalle y veremos las conexiones que nos brinda este dispositivo para poder apro-vecharlo al máximo. Como hemos visto en el ejericio 2 existen diferentes modelos de Raspberry Pi con diferentes conexiones. En este capítulo hablaremos de todas ellas.

1. Lo primero que debemos hacer es tener una visión general denuestra Raspberry Pi. 1

2. En la parte frontal vemos el puerto Ethernet. 2 Este puertosirve para conectar la Raspberry Pi a la red mediante cable.

3. Al lado del puerto Ethernet 3 tenemos los puertos USB. Sunúmero varía dependiendo del modelo. Así, pasamos de los4, en el caso de la Raspberry Pi 2 y Raspberry Pi B+, al únicopuerto USB del modelo A / A+

4. En un lado se encuentran el puerto HDMI para conectar una te-levisión o monitor, 4 el conector de alimentación micro USB 5

y la salida jack de audio. 6

12

FácilMedi

o

Avanzad

o

Page 11: Aprender Raspberry Pi

19

Aprender Raspberry Pi con 100 ejercicios prácticos

003Los modelos antiguos tienen también una salida RCA de vídeo compuesto para televisores.

IMPORTANTE

5. En el lado contrario están los pines GPIO, 7 que nos serviránpara conectar la Raspberry Pi a los sensores y actuadores.

6. En la parte superior de la placa encontramos la conexión parala PiCam, 8 la cámara de video oficial de Raspberry Pi, y unmonitor con conexión DSI. 9

7. En la parte inferior tenemos la ranura para tarjetas SD/mi-croSD. 10

8. En el caso de usar una Raspberry Pi Zero o Zero W, las conexionesson considerablemente diferentes. Para más información se puedeconsultar el capítulo 80.

3

6

4

7

8

5

10

9

Page 12: Aprender Raspberry Pi

20

Las diferencias entre Raspberry Pi y Arduino

Después de conocer la características de la Raspberry Pi, una de las dudas más frecuentes de las personas que se inician es entender las diferencias entre ésta y Arduino, ya que, aunque en algunos casos pueden dar respuesta a necesidades similares, en realidad son dispositivos totalmente diferentes y muchas veces comple-mentarios.

1. La Raspberry Pi es un ordenador completo basado en un SoC(System on a Chip) 1 que contiene, entre otras cosas, el pro-cesador y la memoria RAM. Esto implica que, a todos los efec-tos, una Raspberry Pi se comporta como un portátil o un or-denador de sobremesa y se puede usar para las mismas tareas,pero con ciertas limitaciones de potencia y memoria.

2. Arduino es una placa de prototipado 2 que contiene un mi-crocontrolador. Eso significa que, a diferencia de la RaspberryPi, su funcionamiento está centrado en unas tareas muy espe-cíficas que básicamente serán leer y escribir datos utilizandosus pines de entrada y salida.

Un sistema en tiempo real (STR o RTS en inglés) es aquel sistema digital que interactúa activamente con un entorno con dinámica conocida en relación con sus entradas y salidas, para darle un correcto funcionamiento y que sea predecible y estable.

IMPORTANTE

1

2

FácilMedi

o

Avanzad

o

Page 13: Aprender Raspberry Pi

21

Aprender Raspberry Pi con 100 ejercicios prácticos

0043. Esta diferencia significa, por ejemplo, que con la Raspberry

Pi podremos instalar un sistema operativo completo para na-vegar por Internet, jugar, programar o trabajar, cosa que esimposible con Arduino.

4. De la misma manera que podemos considerar que la Raspbe-rry Pi es más flexible que un microcontrolador Arduino, lasplacas Arduino, al dedicarse a una tarea mucho más específi-ca, pueden funcionar como un dispositivo en tiempo real, serenergéticamente más eficientes y menos propensas a fallos.

5. Si deseamos utilizar la Raspberry exclusivamente para que in-teractúe con el entorno mediante sensores y actuadores, 3

quizás deberíamos meditar la posibilidad de adquirir un Ar-duino para complementarla, ya que dispone de un rango másamplio de salidas PWM y entradas analógicas de las que careceRaspberry Pi. Pero si buscamos un entorno de desarrollo mu-cho más flexible y que nos brinde fácilmente conectividad aInternet, la elección más completa sería la Raspberry Pi.

6. La baza más importante con la que cuenta la Raspberry Pi esla flexibilidad, ya que, como veremos en los diferentes ejerci-cios de este libro, nos permitirá hacer infinidad de proyectosinteresantes con una amplia y activa comunidad de usuarios ydesarrolladores detrás, siendo estos proyectos mucho más va-riados de lo que serían con Arduino u otro microcontrolador,sobre todo en el campo del desarrollo de software. 4

4

3