Curso “Raspberry Pi: Introducción a los sistemas embebidos basados en Linux”

cartell_curs_raspberry

Linux es un sistema operativo de código abierto con una inmensidad de posibilidades. Forma ya parte de la mayoría de los servidores de datos y de los smartphones (Android se basa en Linux).

Esas posibilidades quedan de manifiesto en sistemas tipo DiY (Do-it-Yourself), donde gente con conocimientos básicos de electrónica o de informática es capaz de desarrollar aplicaciones increíbles.

Quizá la plataforma más popular en este área sea el minicomputador Raspberry Pi que, por uno 30 Eur. nos permite explorar este potencial.

El curso está orientado, precisamente, a descubrir este potencial de manera rápida y amena.  Tanto desde el punto de vista del desarrollo de software como de la conexión del minicomputador al mundo físico.

Objetivos del curso

  • Comprender la filosofía de los sistemas embebidos basados en sistemas operativos de propósito general
  • Introducirse en el uso de Linux en sistemas embebidos
  • Conocer distintas opciones de desarrollo de software sobre sistemas embebidos
  • Aprender a conectar dispositivos hardware a un sistema embebido

Conocimientos previos necesarios

  • Conocimientos básicos de programación en algún lenguaje imperativo (C, Java, Python, …)
  • Conocimientos muy básicos de electrónica

Dirigido a

  • Alumnos interesados en el desarrollo de sistemas embebidos basados en Linux
  • Profesionales interesados en conocer las posibilidades de los sistemas embebidos basados en Linux
  • Cualquier persona interesada en un curso “hands-on” sobre la Raspberry Pi

Temas a desarrollar

(El orden y contenido de las sesiones puede variar en función del alumnado).

Sesión 1: Introducción a los sistemas embebidos basados en Linux. “Getting started” con la Raspberry Pi

  • Identificación de los componentes. Puesta a punto. Arranque del sistema operativo
  • Configuración de la conectividad. Acceso al mundo exterior
  • Puesta a punto de repositorios de software. Instalación de software
  • Manejo desde el terminal. Manejo remoto.

Sesión 2: Hazlo tu mismo. Creación e instalación del sistema operativo sobre una memoria SD

  • Partes básicas de un sistema operativo Linux
  • Proceso de arranque o “bootloader”
  • El núcleo del sistema operativo o “kernel”
  • El sistema de archivos
  • El “rootfs” y todo lo demás
  • Configuración muy básica de arranque hasta aplicación final

Sesión 3: Programación nativa en C/C++

  • Concepto de herramienta cruzada. El “toolchain”
  • Construcción del “Hola Mundo” (preprocesado, compilación y enlazado) y ejecución en la Pi
  • Accediendo a los periféricos desde C/C++
  • Ejemplo de aplicación gráfica multiplataforma con Qt
  • Aprovechando el trabajo de otros. Bibliotecas

Sesión 4: Programación interpretada con Python

  • Nociones básicas de Python
  • Desarrollo de scripts sencillos para acceder a funcionalidades de la Pi
  • Acceso a periféricos externos

Programación básica para la web

  • Acceso a la Pi desde Internet. Servidor web
  • Introducción a javascript
  • Desarrollo básico de aplicaciones accesibles desde Internet para la Pi