Raspberry Pi® a fondo para desarrolladores. Derek Molloy
Чтение книги онлайн.

Читать онлайн книгу Raspberry Pi® a fondo para desarrolladores - Derek Molloy страница 12

Название: Raspberry Pi® a fondo para desarrolladores

Автор: Derek Molloy

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9788426727800

isbn:

СКАЧАТЬ modelos RPi son dispositivos capaces de realizar labores de computación de propósito general. Así, se han hecho un hueco como plataformas para aprender informática y programación. De igual modo, dichos modelos, algunos de los cuales se muestran en la figura 1-1, también son dispositivos de computación física realmente capaces, que se pueden usar para aplicaciones en sistemas empotrados. En particular para aplicaciones empotradas conectadas a Internet.

      Figura 1-1: Ejemplos de placas de la plataforma Raspberry Pi (en una escala relativa).

      Algunas características generales de los dispositivos RPi son:

      ❏Su coste se sitúa entre los 5 y los 30 euros aproximadamente.

      ❏Hay disponible un abanico muy amplio de modelos adaptables a distintas aplicaciones, por ejemplo: la placa de gran formato RPi 3 para el prototipado o los diminutos Compute Module y RPi Zero, para su uso práctico.

      ❏Admiten muchas interfaces estándar para dispositivos electrónicos.

      ❏Funcionan con poca potencia: entre los 0,5 W de un RPi Zero inactivo y los aproximadamente 5,5 W de un RPi 3 a plena carga.

      ❏Son ampliables mediante placas de extensión HAT (Hardware Attached on Top) conectables directamente a la placa y dispositivos USB.

      ❏Reciben soporte por parte de una enorme comunidad de usuarios innovadores y entusiastas que aportan generosamente su tiempo para ayudar a la RPi Foundation en sus objetivos educacionales.

      La plataforma RPi puede ejecutar el sistema operativo Linux, lo que nos permite utilizar directamente numerosas aplicaciones y librerías software de código. La disponibilidad de controladores software de código abierto nos permite también conectar dispositivos como cámaras USB, teclados y adaptadores WiFi a nuestros proyectos, sin necesidad de emplear soluciones propietarias. Por lo tanto, tenemos acceso a librerías de código fuente muy completas, desarrolladas por miembros de una comunidad open source sobrada de talento. No obstante, debemos tener presente que ese código fuente suele carecer de garantía alguna. Si se presentan problemas, debemos fiarnos de la buena voluntad de la comunidad a la hora de resolverlos. Ni que decir tiene que también podemos ser nosotros los que resolvamos los problemas y pongamos la solución a disposición del resto de la comunidad.

      Una característica impresionante de los modelos de RPi más recientes es la posibilidad de ampliar su funcionalidad mediante placas de extensión, llamadas HAT como ya hemos visto, que se conectan directamente a la doble fila de cuarenta pines (cabecera GPIO) visible en las placas de la figura 1-1. Podemos diseñar nuestras propias HAT y conectarlas con seguridad a la placa RPi mediante esta cabecera. Además, en el mercado existen muchas placas HAT que permiten ampliar la funcionalidad de la plataforma RPi. Hacia el final del presente capítulo describiremos algunos ejemplos de aquellas.

      Cualquiera que desee transformar un concepto de ingeniería en un proyecto electrónico interactivo real y tangible, un prototipo o una obra de arte debería plantearse utilizar RPi. Dicho esto, no podemos olvidar que la integración de software de alto nivel con componentes electrónicos de bajo nivel no es una tarea fácil. Sin embargo, la dificultad inherente a cualquier implementación dependerá del nivel de sofisticación que demande el proyecto concreto. La comunidad RPi trabaja muy duro para asegurar que la plataforma sea accesible para todo el mundo que esté interesado en integrarla en sus proyectos, ya sean estudiantes, artistas o aficionados. Por ejemplo, la disponibilidad para el RPi de la herramienta de programación visual Scratch (tiny.cc/erpi101) ofrece una vía excelente para interesar a los niños tanto en la plataforma RPi como en la programación de ordenadores.

      Aquellos usuarios más avanzados, que poseen conocimientos de electrónica o computación, pueden alcanzar niveles de desarrollo y personalización de la plataforma RPi suficientes para cumplir todos los requisitos de sus proyectos. Ahora bien, dicha personalización no es una tarea trivial: es posible que el lector sea un experto en la electrónica de bajo nivel, y que, o bien la programación de alto nivel, o bien el sistema operativo Linux, le causen dolores de cabeza. Y viceversa: podría ser todo un gurú de la programación, y no haber soldado un LED en toda su vida. El objetivo de este libro es llegar a todos los tipos de usuarios que estén interesados en interaccionar con el RPi y dar a cada uno la suficiente información sobre Linux, electrónica y software como para que puedan ser productivos, con independencia de su nivel previo de experiencia.

      La plataforma RPi permite integrar magníficamente software de alto nivel con electrónica de bajo nivel en cualquier tipo de proyecto. Tanto si pretendemos desarrollar un sistema de domótica automatizado, un robot, una pantalla multimedia, una aplicación IoT, una máquina de vending o una obra de arte conectada a Internet, el RPi cuenta con la suficiente potencia de procesamiento para afrontar todo aquello que podamos exigir a un dispositivo empotrado.

      La mayor ventaja que el RPi y otros dispositivos Linux empotrados presentan frente a los sistemas empotrados tradicionales, como Arduino, PIC o microcontroladores AVR, se pone de manifiesto cuando basamos nuestros proyectos en Linux. Por ejemplo, si construimos un sistema de automatización con el RPi y decidimos que determinada información esté disponible en Internet, no tenemos más que instalar el servidor web Nginx. Luego, podemos desarrollar scripts en el servidor o utilizar nuestro lenguaje de programación favorito para comunicar con nuestro sistema de domótica automatizado para capturar y compartir información. También es posible que nuestro proyecto exija un acceso remoto seguro. En tal caso, para instalar un servidor SSH (Secure Shell) no tendríamos más que ejecutar el comando Linux sudo apt install sshd, como veremos en el capítulo 2. Esto podría muy bien ahorrarnos semanas de trabajo de desarrollo. Además, tenemos la tranquilidad de saber que ese mismo software se ejecuta con plena seguridad en millones de máquinas por todo el mundo.

      Linux proporciona también controladores para numerosos periféricos y adaptadores USB, lo que nos permite conectar cámaras, adaptadores WiFi y otros dispositivos comerciales de bajo coste directamente a nuestra plataforma sin necesidad de desarrollar software caro y complejo.

      Cuándo no utilizar el RPi

      Linux no se diseñó como sistema operativo de tiempo real ni para procesamiento predecible. Esto resultaría problemático, por ejemplo, si pretendemos obtener muestras de un sensor cada millonésima de segundo exactamente. Si el núcleo se halla ocupado con una tarea diferente en el instante preciso de recogida de una muestra, no va a resultar fácil interrumpirlo. Por lo tanto, en su configuración predeterminada, el RPi no resulta una plataforma idónea para aplicaciones de sistemas en tiempo real. Existen versiones de Linux para aplicaciones en tiempo real, pero destinadas a desarrolladores de Linux muy experimentados, y cuyas capacidades en ese ámbito son limitadas. No obstante, el RPi se puede combinar con procesadores de servicio en tiempo real, donde desempeñaría la labor de "inteligencia central" del conjunto. СКАЧАТЬ