Upload
pato-acevedo
View
246
Download
0
Embed Size (px)
Citation preview
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.html7/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/downloads7/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_interpretado7/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