taller raspberrypi

Upload: pato-acevedo

Post on 04-Apr-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Taller RaspberryPi

    1/27

    Introduccin a Raspberry-

    Sebastin Salinas P. (La Resistencia)

    1

  • 7/29/2019 Taller RaspberryPi

    2/27

    Primero que nada y antes que todo

    Descargar puttyhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

    Descargar Advances IP Scanner e instalarhttp://www.advanced-ip-scanner.com/

    Compartir Internet a travs de rea local

    2

    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlhttp://www.advanced-ip-scanner.com/http://www.advanced-ip-scanner.com/http://www.advanced-ip-scanner.com/http://www.advanced-ip-scanner.com/http://www.advanced-ip-scanner.com/http://www.advanced-ip-scanner.com/http://www.advanced-ip-scanner.com/http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  • 7/29/2019 Taller RaspberryPi

    3/27

    Qu es R-?

    Es un computador de bolsilloComponente Raspberry Arduino Para que sirve.

    Memoria TarjetaSD-1Gb

    32Kb-2Kb

    Aqu es donde se guardan las lneas decdigo que uno escribe en el computador.

    RAM 512 Mb 2Kb Es donde se guardan las variables, es decirque entre ms grande es la RAM, msString, int o dobles se pueden almacenar.

    Frecuencia de la CPU 700 MHz 16 MHz La frecuencia de la CPU es la velocidad conla que la CPU trabaja entre mayor es estavelocidad, puede ejecutar ms ordenes porsegundo.

    Consumo energtico 500 mA 40 mA Entre ms grande es este valor, menor ira adurar una batera en las mismas condiciones

    Puertos analgicos No posee Tiene 6 de 8bits

    Puede hacer lecturas de voltajes analgicos

    Precio Referencia $41.591 $17.820 El stock de Raspberry la mayor parte del tiempo es nulo

    3

  • 7/29/2019 Taller RaspberryPi

    4/27

    Prestaciones

    1. Puerto micro USB: Sirve para recibir energa

    2. Puertos USB x2 : Para conectar perifricos(e.g: Mouse, teclado, Adaptador WiFi, tarjetasonido, etc).

    3. Puerto Ethernet: Puerto de comunicacin

    4. Salida HDMI: Salida de video en alta definicin

    5. Audio Jack: Salida de Audio clase D, PWM

    6. Puertos GPIO: Pines declarables como salidas oentradas, voltajes regulados a 3.3 V

    6

    4

  • 7/29/2019 Taller RaspberryPi

    5/27

    Precauciones previas

    Tomar la placa con cuidado

    Nunca sacar la tarjeta SD cuando la placa estencendida

    5

  • 7/29/2019 Taller RaspberryPi

    6/27

    Precauciones previas

    Cuidado con los GPIO: No aplicar voltajessuperiores a 3.3V

    No demandar corrientes superiores a 20 mA

    V=RI

    6

  • 7/29/2019 Taller RaspberryPi

    7/27

    Cargar el O.S

    Ir a http://www.raspberrypi.org/downloads

    Abrir Win32DiskImager, elegir destino y grabar Se demora Bastante

    7

    http://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloadshttp://www.raspberrypi.org/downloads
  • 7/29/2019 Taller RaspberryPi

    8/27

    First Boot

    Cmo entrar?

    1. Directa: Con un teclado + monitor a lasalida de video

    2. Mediante conexin SSH (puertoEthernet)

    3. Mediante comunicacin serial (GPIO):HyperterminalRX-TX, etc

    8

  • 7/29/2019 Taller RaspberryPi

    9/27

    No tan rpido

    La comunicacin SSH viene bloqueada defbrica, por lo que el primer arranque debeser hecho de forma directa

    Luego nos conectamos via Putty Podemos conectarnos a la Raspberry via

    computador sin necesidad de teclados extras,

    ni monitores

    9

  • 7/29/2019 Taller RaspberryPi

    10/27

    Ok, manos a la obra

    1. Conectar el poder a la Raspberry

    2. Compartir internet a travs del cable de realocal

    3. Conectar el cable de Ethernet a la Raspberry

    4. Escanear las IPs con Advanced IP scanner

    5. Ir a Putty y comenzar a jugar

    10

  • 7/29/2019 Taller RaspberryPi

    11/27

    First boot

    User: pi

    Pass: raspberry

    11

  • 7/29/2019 Taller RaspberryPi

    12/27

    Algunos comandos interesantes

    sudo apt-get update # veo si hay algn paquete nuevo, LISTO

    sudo apt-get upgrade # instalo esos nuevos paquetes encontrados, LISTO

    sudo apt-get install mpc mpd # Paquetes de msica, LISTO

    sudo apt-get install nombre_paquete # instalar algn paquete

    sudo nano direccion # editor de archivos

    Ctrl+x # salgo de los archivos

    Ctrl+c # interrumpo los ejecutables

    sudo direccion # ejecuta los archivosstartx # inicia la GUI

    Ifconfig # revisa la configuracion IP

    .direccion& # ejecuta programa por detrs

    python # ejecuta python

    sudo reboot # reinicia la placa

    logout # cambio de usuariosudo mkdir direccion # creo una carpeta

    cd direccion # cambia el directorio a la carpeta seleccionada

    ls # una vez en el directorio, muestra el contenido/etc/init.d # directorio con comandos que se ejecutan primero

    12

  • 7/29/2019 Taller RaspberryPi

    13/27

    startx

    Interfaz grfica (GUI) de bajo peso para trabajar en Linux con mayornaturalidad - Intuitivo

    13

  • 7/29/2019 Taller RaspberryPi

    14/27

    Lo que viene pre-cargado

    14

  • 7/29/2019 Taller RaspberryPi

    15/27

    GPIO (general purpose INPUT/OUTPUT)

    1. Los puertos DNC no se ocupan

    2. Los puertos 3.3V/5V/GND son voltajes fijos y no sirven comoGPIO

    3. El resto pueden ser ocupados como INPUT o OUTPUT

    4. Para manipularlos ocuparemos Python

    Recuerden lo que hablamos deno mezclar 3.3V con 5V

    15

  • 7/29/2019 Taller RaspberryPi

    16/27

    Python es un lenguaje de programacin interpretado cuya filosofa hace hincapien una sintaxis muy limpia y que favorezca un cdigo legible.

    Guido van RossumCreador de Python

    16

    http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_interpretadohttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_interpretado
  • 7/29/2019 Taller RaspberryPi

    17/27

    Creamos una carpetasudo mkdir /root/proyecto

    Creamos el archivo

    sudo nano /root/proyecto/hola.py

    Una vez adentro escribimos

    from time import sleep # importo la librera tiempo

    var=1digito=1while var==1: # bucle while

    print(digito) # muestro el dgito en pantalladigito=digito+1 # el digito crecesleep(0.5) # se muestra el digito en consola

    Hacemos ctrl+x y luego

    sudo python /root/proyecto/hola.py

    17

  • 7/29/2019 Taller RaspberryPi

    18/27

    import RPi.GPIO as GPIO # traigo librera puertos GPIO

    GPIO.setmode(GPIO.BOARD) # le digo que ocupare la nomenclatura ordenada

    GPIO.setup(3,GPIO.IN) # defino el puerto 3 como entrada

    GPIO.setup(5,GPIO.OUT) # defino el puerto 5 como salida

    var=1

    lectura=0

    while var==1:

    lectura=GPIO.input(3) # leo el puerto 3

    if lectura==True:

    GPIO.output(5,True) # escribo en el puerto 5

    if lectura==False:

    GPIO.output(5,False)

    A diferencia de la IDE de Arduino, en Python los estados de los pines (GPIOs) sonboolean

    18

  • 7/29/2019 Taller RaspberryPi

    19/27

    Tarea en clases #1 (15 minutos) Hacer un cdigo que prenda LEDs en la siguiente secuencia con tiempos de 1 segundo y un

    cuarto entre cada cambio

    19

  • 7/29/2019 Taller RaspberryPi

    20/27

    Tarea en clases #2 (15 minutos) Hacer un cdigo que prenda LEDs en la siguiente secuencia y que esta cambie al presionar un

    botn

    20

  • 7/29/2019 Taller RaspberryPi

    21/27

    Algo de msica mpd+mpc Agregamos direcciones con

    mpc add direccion

    21

    Tocamos la direccin con

    mpc play nmero (e.g mpc play 1)

    Detenemos la pista conmpc stop

    Cambiamos el volumen con

    mpc volume xy (xy va desde 0 a 100)

    Desafo rpido: grabar la direccin http://146.155.205.173:80/y hacerla sonar al

    mximo, el primero que lo logre gana premio

    Borramos la lista de estaciones

    mpc clear

    http://146.155.205.173/http://146.155.205.173/
  • 7/29/2019 Taller RaspberryPi

    22/27

    Ejecutar desde Python En un nuevo archivo escribimos

    from time import sleep

    import os # librera que permite ejecutar comandos de linux desde python

    var=0

    while var==0:

    os.system(mpc play 1) # El comando de linux debe ir entre comillas

    sleep(10)

    os.system(stop)

    sleep(5)

    22

  • 7/29/2019 Taller RaspberryPi

    23/27

    Tarea en clases #3 (15 minutos)

    Crear una radio por internet que al tocar unbotn se cambie a una estacin ms arriba

    Hint: Crear un archivo donde se guarden todas las

    estaciones y luego desde python ir tomndolas

    23

  • 7/29/2019 Taller RaspberryPi

    24/27

    Lecturas analgicas ADC: Analog to Digital Converter, convierte de voltajes digitales a una forma discreta digital en bits

    1 bit = 2 niveles

    2 bits = 4 niveles

    .

    8 bits = 256 niveles (la mayora de los ADCs disponibles en el mercado son de 8 bits)

    12 bits = 4096 niveles (usado mayormente en MP3 o proyectos con audio)

    24

    Representacin de 4 bits (16 combinaciones)

    Ocupar un ADC, esto se ver en el Curso de Electrnica

  • 7/29/2019 Taller RaspberryPi

    25/27

    Escrituras analgicas (DAC)

    Escalera de Resistencias

    25

    =1

    2 +

    1

    2 ++

    1

    2 +

    1

    20

    Cada bit extra aporta 1/2 en precisin

  • 7/29/2019 Taller RaspberryPi

    26/27

    Google es tu amigo

    Linux al ser open source es de colaboracincolectiva y gratuito

    Python tambin es open source

    Todo est debidamente documentado enInternet y en constante mejora por lacomunidad

    Arduino tambin es open source y su xito sedebe a la comunidad

    26

  • 7/29/2019 Taller RaspberryPi

    27/27

    27

    Gracias