Qué es Raspberry Pi
Una Raspberry Pi es una placa de desarrollo basada en linux, pero a efectos de todos se trata de un ordenador con linux completo.
Raspberry nació con un propósito: incentivar la enseñanza de informática en el entorno docente. Es un ordenador muy pequeño, del tamaño de una tarjeta, muy económico y también muy conocido para crear prototipos. Con esta plataforma de desarrollo se gestiona una gran cantidad de datos y es especialmente atractiva para la creación de aplicaciones móviles (Apps) donde el peso de la interfaz gráfica es muy importante. Está muy indicada, además, para proyectos multimedia basados en Linux.
En 2009 se creó la Fundación Raspberry Pi en Reino Unido y dos años más tarde comenzaron a fabricarse las primeras placas prototipo. El éxito fue tan grande que los fundadores trasladaron su producción a Gales, de donde salen miles de dispositivos al día. Existen varios modelos de placas y su popularidad ha generado que salgan al mercado diversidad de accesorios que suman funcionalidades a la placa base, al igual que Arduino.
La placa Raspberry se utiliza, como Arduino, en entornos de robótica o domótica, pero también como servidor de archivos. Es otra opción dentro del IoT y es muy interesante cuando el objetivo es procesar y tratar muchos datos. Cualquiera de ellos, Arduino o Raspberry, ofrece fórmulas eficaces para multitud de proyectos, pero todavía es difícil establecer su límite al estar en constante evolución.
Pero además, la Raspberry Pi 3 viene cargada con tecnología adicional para que podamos conectar nuestros proyectos al mundo de Internet de las Cosas.
- 11n Wireless LAN
- Bluetooth 4.0
- Bluetooth Low Energy (BLE)
Estas nuevas características son precisamente las que nos van a permitir cubrir nuestras necesidades de conexión de forma inalámbrica a nivel de red local LAN y acceso a Internet, gracias al WiFi, y a nivel de comunicación con sensores y actuadores, gracias al Bluetooth. La Raspberry Pi 3 nos pone en bandeja todo lo necesario para comenzar a construir proyectos para Internet de las Cosas y aprender multitud de cosas, como programación, comunicaciones, electrónica, etc.
Buena introducción a Raspberry Pi:
- https://www.prometec.net/raspberry-pi-introduccion/
- http://www.prometec.net/blog-raspi-introduccion/
Más información:
- Wikipedia: https://en.wikipedia.org/wiki/Raspberry_Pi
- Wikipedia ES: https://es.wikipedia.org/wiki/Raspberry_Pi
- Single Board Computer: https://en.wikipedia.org/wiki/Single-board_computer
- SBC ES: https://es.wikipedia.org/wiki/Placa_computadora
Marca powered by raspberry pi: https://www.hwlibre.com/powered-by-raspberry-pi-el-nuevo-sello-de-calidad-de-raspberry-pi/
Webs importantes de Raspberry Pi:
Arduino vs Raspberry Pi
Ver: https://aprendiendoarduino.wordpress.com/2017/06/19/arduino-vs-raspberry-pi-3/
Modelos Raspberry Pi
Raspberry Pi tiene diverso hardware. Productos Raspberry Pi: https://www.raspberrypi.org/products/
Hardware: https://www.raspberrypi.org/documentation/hardware/
Hardware Guide: https://www.raspberrypi.org/learning/hardware-guide/
Más información:
Modelos:
- Raspberry Pi (1) Model A
- Raspberry Pi (1) Model A+
- Raspberry Pi (1) Model B
- Raspberry Pi (1) Model B+
- Raspberry Pi 2 Model B
- Raspberry Pi 3 Model B
- Raspberry Pi 3 Model B+
- Raspberry Pi Zero (Hay dos versiones 1.2 y 1.3)
- Raspberry Pi Zero W
- Raspberry Pi Compute Module
- Raspberry Pi Compute Module 3
- Raspberry Pi Compute Module Lite
Tablas comparativas:
- https://www.modmypi.com/blog/raspberry-pi-comparison-table
- http://socialcompare.com/en/comparison/raspberrypi-models-comparison
- https://www.luisllamas.es/modelos-de-raspberry-pi/
- Tabla: https://www.modmypi.com/download/raspberry-pi-comparison-chart-r2.pdf
GPIO
Del mismo modo que Arduino disponía de una serie de pines que podíamos conectar al mundo exterior para leer o escribir, Raspberry dispone de otra serie de pines homólogos que en la jerga habitual de la RPI se llaman GPIO (General Purpose Input Output).
GPIO: https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md
La cantidad de pines disponibles en el GPIO ha variado de unas versiones a otras, manteniendo la compatibilidad con las versiones anteriores para evitar problemas, y a grandes rasgos ha habido dos versiones de GPIO. La gran variación fue de la Raspi 1 a la Raspi 2 que aumentó el número de pines disponibles y que básicamente se pueden ver aquí:
A esta forma de numerar se le suele conocer como modo GPIO, Pero surgió otra forma de numerar no de acuerdo a la posición de los pines en la salida, sino a la posición de los pines correspondientes en el chip Broadcom que es la CPU de la Raspberry, y a esta segunda manera se la llama modo BCM.
Nos encontramos con dos formas distintas de referirse a los pines, GPIO según los números del conector externo o BCM según los pines del chip que revuelven las posiciones. No tiene por qué ser mejor una que otra pero es importante asegurarse de cuál de las dos se está usando.
Disposición de los pines en la placa:
Pinout: https://pinout.xyz/
Más información:
- https://www.prometec.net/rpi-gpio/
- https://www.programoergosum.com/cursos-online/raspberry-pi/238-control-de-gpio-con-python-en-raspberry-pi/que-es-gpio
- https://comohacer.eu/gpio-raspberry-pi/
IMPORTANTE:Todos los IO ports son de 3.3V, así que se debe tener cuidado.
Especificaciones eléctricas del GPIO: http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications
Iconos de alerta de firmware: https://www.raspberrypi.org/documentation/configuration/warning-icons.md
Para manejar los pines de GPIO la mejor manera de usarlos es en Python mediante el uso de librerías. Veremos más adelante como usarlo en el apartado de programación y manejo.