Raspberry Pi

Utiliser la carte RPi comme plateforme de développement

Objectif

 Cette formation est destinée à des développeurs désirant utiliser la carte RPi comme plateforme de développement. Nous aborderons tout d'abord l'utilisation de la carte comme un  système GNU/Linux « classique » équipée d'une IHM et d'un compilateur natif. Pour cette partie nous choisirons la distribution RASPBIAN, dérivée de la Debian.

La formation abordera l'utilisation des bus disponibles dans la RPI tels que I2C, SPI ainsi que le pilotage des GPIO et de la caméra. Nous présenterons également - rapidement - l'utilisation de Qt. Dans un deuxième temps nous verrons comment exploiter la RPi comme une cible « embarquée » via des techniques de développement croisé.

La formation est agrémentée de TP à chaque étape.

Public visé

Ingénieurs de développement embarqué et chefs de projets techniques 

Pré-requis

  • Notions en développement UNIX/Linux
  • Utilisation de la ligne de commande (shell)
  • Quelques notions de langage C et Python

Programme

Partie 1 : la RPi comme système GNU/Linux

  • Présentation de la carte, historique, matériel,comparaison avec d'autres matériels (Beaglebone, ...)
  • Interfaces disponibles (USB, Ethernet, GPIO, I2C, SPI,CSI, DSI, ...)
  • Installation de la distribution GNU/Linux RASPBIAN
  • Structure de la carte SD de démarrage, configuration (cmdline.txt, config.txt, ...)
  • Introduction à l'administration système sous RASPBIAN (réseau, IHM, utilisateurs, …)
  • Programmation
    • Utilisation de Python et C/C++
    • Avantages et inconvénients des deux langages
  • Présentation des GPIO, I2C, SPI
    • Utilisation en Python, C et - éventuellement - shell
    • Exemples avec des périphériques réels pour chaque bus
  • Introduction au développement d'IHM avec Qt
  • Utilisation de la caméra (CSI) et USB (V4L2)

Partie 2 : la RPi comme système embarqué

  • Notions de système embarqué, logiciel embarqué, Linux embarqué
  • Compilation croisée, construction de distribution, outils associés (build systems)
  • Avantages/inconvénients par rapport à une distribution classique
  • Présentation et utilisation des deux principaux outils
    • Buildroot
    • Yocto/OpenEmbedded
  • Utilisation d'un écran tactile sous Qt, intégration à Buildroot
  • Création d'une application de pilotage SPI avec intégration à Buildroot