viernes, 2 de junio de 2017

Raspberry Pi

Raspberry PI

Raspberry Pi es un computador de placa reducida, computador de placa única o computador de placa simple (SBC) de bajo coste desarrollado en Reino Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas.

Aunque no se indica expresamente si es hardware libre o con derechos de marca, en su sección de preguntas y respuestas frecuentes (FAQs) explican que disponen de contratos de distribución y venta con dos empresas, pero al mismo tiempo cualquiera puede convertirse en revendedor o redistribuidor de las tarjetas RaspBerry Pi.

En cambio el software sí es open source, siendo su sistema operativo oficial una versión adaptada de Debian, denominada Raspbian, aunque permite otros sistemas operativos, incluido una versión de Windows 10.

La fundación da soporte para las descargas de las distribuciones para arquitectura ARM, Raspbian (derivada de Debian), RISC OS 5, Arch Linux ARM (derivado de Arch Linux) y Pidora (derivado de Fedora); y promueve principalmente el aprendizaje del lenguaje de programación Python. Otros lenguajes también soportados son Tiny BASIC, C, Perl y Ruby.



Arquitectura ARM

ARM es una arquitectura RISC  desarrollada por ARM Holdings. Se llamó Advanced RISC Machine, y anteriormente Acorn RISC Machine. La arquitectura ARM es el conjunto de instrucciones de 32 y 64 bits más ampliamente utilizado en unidades producidas. 

Un enfoque de diseño basado en RISC permite que los procesadores ARM necesitan una cantidad menor de transistores que los procesadores x86 CISC, típicos en la mayoría de ordenadores personales. Este enfoque de diseño nos lleva, por tanto, a una reducción de los costes, calor y energía. Estas características son deseables para dispositivos que funcionan con baterías, como los teléfonos móviles, tabletas, etc.

La relativa simplicidad de los procesadores ARM los hace ideales para aplicaciones de baja potencia. Como resultado, se han convertido en los dominantes dentro del mercado de la electrónica móvil e integrada, encarnados en microprocesadores y microcontroladores pequeños, de bajo consumo y relativamente bajo costo.

Configuración básica
Es importante mencionar que una Raspberry es un mini-pc que viene sin disco duro y sin fuente de alimentación. En el caso del disco duro, se utiliza una microSD, que dependiendo de los modelos puede ser de hasta 64Gbytes.

Lo primero será formatear una tarjeta microSD y cargar en ella un SO soportado por la misma, en nuestro caso será Raspbian 2.0 y el archivo que debemos introducir será “Noobs2.0”. Podemos descargar el mismo desde la página oficial de Raspberry.


La primera vez que encendamos el dispositivo se instalará el sistema operativo. Una vez instalado, nos pedirá un usuario y una pass, que por defecto son pi y raspberry.

Tras esto, nos disponemos a realizar la configuración básica, para ello debemos escribir la siguiente instrucción:

sudo raspi_config

El cual nos abrirá una interfaz de configuración.



Realizaremos las siguientes modificaciones:

  • Esperar a que encuentra una red para iniciar: no
  • Idioma del teclado: es_ESutf8 (se selecciona con el spacio)
  • Teclado genérico 105 teclas (Spanish)
Dentro de opciones avanzadas:
  • Hostname: nombre en red
  • Memory Split: cantidad de memoria reservada para la tarjeta de video
  • SSH (protocolo seguro de control remoto): si
  • SPI e I2C: si
  • Audio: sí. Esta opción existe porque el puerto de audio tiene otras utilidades
  • 1-wire: si


Tras estas modificaciones actualizamos los repositorios, que resumido vulgarmente, da una idea a nuestro sistema de qué hay disponible en la red para poder instalar.

sudo apt-get –y upgrade

Nosotros buscamos trabajar en remoto con la Raspberry, por lo que debemos instalar un software para tal efecto. La instrucción para ello es:

sudo apt-get install xrdp

Otra alternativa es utilizar el VNC, el cual viene preinstalado en Raspbian.

Con el uso del control remoto, es común que el teclado se cambia al inglés, para solucionar este problema tenemos que copiar el mapeado español del teclado en “/etc/xrdp/km-0409.ini”. La forma más sencilla es utilizando el programa “putty” o similar.

Para poder hacer esta modificación, debemos antes cambiar los permisos sobre esta carpeta:

sudo chmod 777 /etc/xrdp

Esta instrucción les da a todos los usuarios, todos los permisos sobre este directorio.

Conexión a internet

Para configurar la conexión a internet debemos abrir el siguiente archivo “/etc/network/interfaces” y realizar las isugientes modificaciones:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.43.1
wpa-ssid "Nombre de la red"
wpa-psk "contraseña de la red"

Podemos configurarlo para tener activas ambas o solo alguna de las conexiones (wifi o Ethernet).

Peculiaridades de la Raspberry Pi 3

En la Raspberry Pi 3, hay más capacidades que en las versiones anteriores, como WiFi y Bluetooth.
La UART en la que había residido anteriormente la consola serie, GPIO 14 (TX), GPIO 15 (RX), 
ahora se utiliza para la comunicación Bluetooth. Esta UART se reconoce como ttyAMA0.

El motivo, por el que se necesita esta UART, es que se puede establecer su velocidad de bus sin depender de la velocidad de reloj del sistema, lo cual es necesario para el módulo de Bluetooth.

En esta nueva versión existe una mini UART secundaria, pero con algunas restricciones. Una de ellas es que su velocidad de baudios está ligada a la frecuencia del sistema, lo que significa que variará a medida que la velocidad del procesador varía. Sin una velocidad de baudios fija es casi imposible conseguir una comunicación eficaz. Esta mini UART se reconoce como ttyS0.

Para activar la mini UART, debemos de añadir “enable_uart=1” en el fichero “config.txt”, situado en la carpeta “/boot”. Tras esto, con la instrucción “$ ls /dev/tty*” podemos comprobar la existencia de las dos UART.




Esto implica que debemos deshabilitar el Bluetooth para utilizar la UART ttyAMA0 como antes. Para ello debemos seguir estos pasos:

1.       Añadimos “dtoverlay=pi3-disable-bt” al final del fichero “config.txt”.
2.       En el terminal, ejecutamos “$ sudo systemctl disable hciuart”.
3.       En el fichero “/lib/systemd/system/hciuart.service”, donde aparezca “ttyAMA0” o “serial1”, lo substituimos por “ttyS0”.
4.       En el fichero “/boot/cmdline.txt”, eliminamos la parte que dice “console=ttyAMA0,115200”.
5.       Siempre debemos reiniciar para que estos cambios surtan efecto


En algunas versiones los nombre o los directorios no tienen exactamente el mismo nombre que aquí se muestra, pero es muy similar.

No hay comentarios:

Publicar un comentario