Introducción a Raspberry-Pi (Por Mariano Lucas)

Introducción

 En este segmento mostraremos las ventajas que posee Raspberry, como configurarlo y ocuparlo para poder aprovechar algunas ventajas que esta placa tiene. A su vez se dará una pequeña introducción de Python que es una de las herramientas que Raspberry tiene y que resulta útil.


¿Qué es Raspberry, y en qué se diferencian con arduino?
         Raspberry es principalmente un computador pequeño, es decir, todo lo que tiene un computador, pero de forma reducida (Esto incluye una CPU, GPU y RAM, entre otros componentes). Ya muchos aquí han trabajado con el arduino, el cual es un micro controlador. Entre estas grandes diferencias:


Componente
Raspberry
Arduino
Memoria
TarjetaSD
-1Gb
32Kb
-2Kb
RAM
512 Mb
2Kb
Frecuencia de la CPU
700 MHz
16 MHz
Consumo energético
500 mA
40 mA


Componente
Para que sirve.
Memoria
Aquí es donde se guardan las líneas de código que uno escribe en el computador.
RAM
Es donde se guardan las variables, es decir que entre más grande es la RAM, más String, int o dobles se pueden almacenar.
Frecuencia de la CPU
La frecuencia de la CPU es la velocidad con la que la CPU trabaja entre mayor es esta velocidad, puede ejecutar más ordenes por segundo.
Consumo energético
Entre más grande es este valor, menor ira a durar una batería en las mismas condiciones



Ventajas de Raspberry sobre arduino.

         Primero nombrando las ventajas físicas que este tiene, tenemos que Raspberry posee dos entradas USB, conexión Ethernet, salida de audio, salida de video RCA (La que ocupan los DVD y las consolas antiguas) además de tener una salida HDMI de 1080p a 30 cuadros por segundo. Es decir que podemos conectarlo a casi cualquier televisor. Aparte de tener una cantidad mayor de pines de entrada y salida que arduino.
         Por las entradas USB que esta placa posee, uno puede programar sobre la marcha, es decir, programar con la placa prendida y con esto ahorrar tiempo al tener que probar los resultados.

Preparando Raspberry para poder ser ocupada desde un computador

         Aunque esto se encuentre en un tutorial pasado, quiero volver a plantearlo paso por paso y detalladamente para que no solo quede funcionando sino para que también sepan porque esta funcionando.

         Raspberry como puede ser programada sobre la marcha, es decir que no necesita un computador para ser programada. Aun así podríamos querer programarla desde un computador, por la facilidad de copiar y pegar código, buscar códigos en internet, o porque nos acomoda más el teclado del notebook que uno que no usamos usualmente. Para esto necesitamos:

v  Un Teclado
v  Un televisor o cualquier pantalla con alguna entrada de video compatible.
Ø  Incluyendo un cable para la conexión entre estos dispositivos.
v  Conexión a internet vía Ethernet
  

         Primero debemos formatear una tarjeta SD con mínimo 2Gb de memoria 1Gb reservado para el sistema operativo. Esto se hace con el programa que se encuentra dentro del archivo RaspberrySD(FirstBoot).rar en https://www.dropbox.com/sh/qy35ccftv286u64/OIPJoS7Y2k




Luego insertamos la tarjeta SD y conectamos:

1)   La electricidad, esto es con un cable miniUSB por un lado y por el otro una fuente de electricidad, ya sea un computador o un adaptador de muralla.
2)   Aquí se conecta el teclado vía USB.
3)   Entrada y salida Ethernet, conexión a internet.
4)   Salidas de video, solo una es necesaria que este conectad.
5)   Salida de audio opcional, es formato plug-in 3,5mm.

         Ahora te pide un usuario para poder empezar a trabajar, el usuario que viene por defecto es “pi” (si comillas). Y ahora te pide una contraseña la cual es “raspberry”, no te preocupes por que la contraseña no está apareciendo ni aparecen asteriscos, porque no lo van a hacer, pero luego de escribirla y apretar Enter esta todo listo para llegar y ocupar.

         Si te das cuenta ya puedes empezar a ocupar la raspberry directamente, pero si aun así quieres ocuparla desde tu pc por las razones anteriormente dadas, debes seguir leyendo, si no salta a los siguientes temas para saber cómo crear archivos python entre otros.

         Para esto ahora necesitamos descargar Putty en el computador:

         Ahora introducir los siguientes comandos con el fin de desbloquear la conexión vía internet de la placa, es decir que vía Ethernet también pueda recibir datos.
Si te das cuenta en todos los siguientes comandos se encuentra la palabra sudo al principio, esto es como decir ejecutar el siguiente comando como administrador, así dándole las autorizaciones para poder cambiar datos.

“sudo apt-get install ssh”
         Apt-get es una instrucción para obtener algún dato desde internet, e instala para instalar la siguiente instrucción, por ende le estamos diciendo a la placa, descarga e instala el archivo clasificado como “ssh”.

“sudo /etc/init.d/ssh start”
         Con esto le decimos a la placa que corra “ssh” anteriormente descargado.

“sudo update-rc.d ssh defaults”
         Con este comando se pretende poner al día el “ssh”

“sudo reboot”
         Y con este ultimo comando se reinicia la placa con lo que quedan todos los datos guardados.
Espera un tiempo a que la placa vuelva a prenderse. Pon el usuario y la contraseña antes dados.

         “Pero de que nos sirve habilitar la conexión con el computador si no sabemos cómo conectarlo”
         “Tranquilein John Wayne” <- como decía mi padre

         Ahora que lo hemos habilitado, le mandamos el siguiente comando
“ifconfig”. Este comando nos brinda varios datos del que solo ocuparemos la IP
Fijate en tu dirección IP (cómo la de la foto)



         Finalmente ahora solo debes abrir Putty y generar una conexión SSH en el puerto 22 con la IP que ya conoces. Y listo magia (luego te pide lo de siempre, el nombre de usuario y luego el password).

Comandos típicos de Linux

         Un comando que usaran frecuentemente en Linux es el “apt-get” el cual sirve para obtener paquetes desde internet. Y además de sus diferentes funciones tales como:

“sudo apt-get update”
         Este re-sincroniza los índices de los paquetes, es decir, que actualiza los link de donde se obtienen los paquetes.

“sudo apt-get upgrade”
         Este actualiza todos las paquetes instalados por la función apt-get.

“sudo apt-get install”
         Que ya vimos anteriormente, obtiene paquetes desde internet y los instala. Y contrario al install tenemos el remove y el purge. remove elimina los datos pero deja todas las configuraciones hechas por el programa y del programa, y purge lo elimina completamente como si nunca hubiese estado en el sistema.

         Más comandos pueden ser encontrados en: http://ss64.com/bash/ no todos los comandos debiesen servir.

         Nota: recuerden que sudo por ahora es para llamar comandos con privilegios, pero este puede significar varias cosas; no se le olvide ponerlo, ya que su comando no funcionaría sin este.

Una introducción a los archivos python, como crearlos y como aprovechar las utilidades que tiene Raspberry

         Primero voy a partir introduciéndolos a python, este es un lenguaje de programación, que principalmente resalta su escritura limpia, es decir, sin puntos y coma, y sin corchetes. Y no resulta un gran cambio si una viene desde java o C, ya que python también puede ser orientado a objetos. Puede porque es multipropósito, y no es su única modalidad de programación. No se preocupen porque no es necesario saber todo para empezar a programar.

         Ahora para crear algún documento en este caso python en la raspberry solo se necesita escribir “sudo nano /root/…/archivo.py” así la raspberry busca y abre un archivo llamado archivo.py, como este no existe la Raspberry crea ese archivo y lo abre. Para salir y guardar solo presionas “Ctrl+x”, luego “y” y por ultimo “Enter”.

Variables de python y comandos básicos

         Para crear una variable en python no es necesario nombrar que es esta variable, es decir, no hay que decir “int x” como en java o en C para aclararle a x que es un numero entero. En java para decir que x es igual a 3 decimos “int x = 3;” en cambio en python solo escribimos “x = 3”. Python reconoce de que tipo puede ser la variable y se la auto asigna, también python no necesita el punto y coma, solo con el salto de línea reconoce el fin del comando.

Comandos simples de python

“if condicion:
         suceso”
         Si la condición dada es verdad va a ocurrir el suceso por ejemplo:
                   x = 3
                   if x < 4:
                            x = 4
con esto vemos que no son necesarios los punto y coma, y para distinguir todo lo que sucede si la condición se cumple es por el espaciado llamado Tab.

“while condición:
         suceso
         Si la condición dada es verdad va a ocurrir el suceso, después de ocurrir el suceso este va a volver al inicio del while y va a ver nuevamente so la condición dada es verdad y así infinitamente hasta que la condición sea mentira cuando termine el suceso.

         Python acepta suma (+), resta (-), multiplicación (*), división (-) y aunque usted no lo crea, también acepta exponenciales, es decir elevar el primer número por el segundo (**).

Python y los pines de Raspberry

         Algo que va a ser de mucha utilidad mezclado con python es saber ocupar los pines de conexión en esta parte solo explicaremos los pines que vienen en pares de 2.



Que van en el orden reflejado en la imagen.

         Para esto tenemos que importar  los datos de los pines esto se hace al principio de nuestro documento python escribiendo el comando  “import RPi.GPIO as GPIO”. Ahora escribimos “GPIO.setmode(GPIO.BOARD)” con lo que decimos al programa que pin es cual en el orden de la foto. El programa ya sabe cuáles son los pines solo falta activarlos con “GPIO.setup()” en el paréntesis hay que anotar primero cual es el pin que queremos activar y si es de entrada o salida, tomemos el pin tres como ejemplo entonces seria “GPIO.setup(3,GPIO.IN)” para programarlo como entrada y “GPIO.setup(3,GPIO.OUT)” para programarlo como salida. En el caso de programarlo como salida, se puede dar energía a los pines con el simple código GPIO.output(3,True) con el ejemplo del pin 3 y para apagarlo sería GPIO.output(3,False). Pero hay que tomar en cuenta que no todos los pines pueden ser ocupados como entrada o como salida. Para eso está la siguiente imagen, por ejemplo las conexiones a tierra no deberían ser ocupadas como salida.

  

Python y linux

         Python también puede aprovechar las facilidades que tiene Linux y rasperry, tan solo hay que importarlo con “import os” que en español seria importar sistema operativo. Luego en el archivo python al poner “os.system('')”, lo que se encuentra entre paréntesis se va a ejecutar como si fuera un comando de la página principal. Si se quiere hacer esperar un cierto tiempo como un segundo antes del siguiente trozo de código. Se puede importar la función Sleep “from time import sleep” hay estamos importando de la función tiempo solo la función de espera. Un ejemplo seria el comando “sleep(1)” en el cual se hace esperar al programa un segundo.

Un Ejemplo simple de lo aprendido en este post

         Aquí hay un ejemplo de lo aprendido, solo basta con crearla y correrla para ver qué es lo que hace.

import RPi.GPIO as GPIO
from time import sleep

GPIO.setmode(GPIO.BOARD)
GPIO.setup(3,GPIO.OUT)

while (1 == 1):
         GPIO.output(3,True)
         sleep(1)
         GPIO.output(3,False)
         sleep(1)

En este caso conectamos un led al pin 3 por un lado y la tierra al otro.

Para correr esta aplicación y no editarla tenemos que abrirla con el comando “sudo python <dirección del archivo>”… se pone nano para editarlo por que es abrir el archivo con un editor de texto, y se pone python para correrlo ya que es el ejecutador que se quiere ocupar.




Simpre que se quiera terminar una aplicación se pueda apretar Ctrl + C para cerrarla, como esta aplicación es eterna se debe cerrar de esta forma.


No hay comentarios:

Publicar un comentario

Comenta aquí...