Archives de la catégorie ‘Raspberry Pi’

Pilotage de GPIO avec l’API Libgpiod (Partie 3)

Embarqué, Kernel, Linux, Microprocesseur, Raspberry Pi | Publié par cpb
Oct 29 2018

Après l’étude des outils disponible en ligne de commande pour piloter des lignes GPIO (partie 1), puis celles de l’accès depuis un programme avec l’appel système ioctl() ou la version context-less de la bibliothèque Libgpiod (partie 2), nous poursuivons en examinant les fonctions bas niveaux de cette bibliothèque. Nous aborderons également le thème des performances d’accès aux GPIO selon la méthode choisie.

Lire la suite de cette entrée »

Pilotage de GPIO avec l’API Libgpiod (partie 2)

Embarqué, Kernel, Linux, Raspberry Pi | Publié par cpb
Oct 22 2018

Dans l’article précédent de cette série, nous avons examiné les commandes disponibles au niveau du shell pour piloter des lignes GPIO avec la nouvelle API proposée par le noyau Linux.

Nous allons à présent nous intéresser à l’accès depuis un programme C/C++ en utilisant cette API.

Lire la suite de cette entrée »

Pilotage de GPIO avec l’API Libgpiod (partie 1)

Embarqué, Kernel, Linux, Raspberry Pi | Publié par cpb
Oct 15 2018

J’ai assisté il y a quelques jours, lors de l’édition 2018 des Kernel Recipes à une présentation par Bartosz Golaszewski  de la nouvelle interface des GPIO pour l’espace utilisateur de Linux. J’en avais eu un bref aperçu il y a quelques mois mais je n’avais pas encore pris le temps d’essayer cette API. Cet article est donc une brève présentation et mise en œuvre de ces outils.

Lire la suite de cette entrée »

Projet Pi-Logger

Embarqué, Linux, Raspberry Pi | Publié par cpb
Sep 01 2018

Pi-Logger

Projet Pi-Logger

Lors de la mise au point d’un système industriel, il est souvent nécessaire de surveiller les signaux de sortie d’un équipement.
Bien sûr l’oscilloscope et l’analyseur de trames sont indispensables pour l’analyse des signaux instantanés, mais lors des phases de validation d’un produit, il faut généralement faire des observations longues, sur plusieurs heures ou plusieurs jours. Je vous propose un petit outil prévu pour ce genre d’analyse.

Lire la suite de cette entrée »

[Kernel] Interruptions et tasklets

Kernel, Linux, Raspberry Pi, Temps-réel | Publié par cpb
Juin 06 2017

[Kernel Interruptions et tasklets

Il existe plusieurs mécanismes proposés par le noyau Linux pour programmer un traitement à réaliser lorsqu’un périphérique externe déclenche une interruption pour nous notifier de l’occurrence d’un événement. Gestionnaire monolithique, tasklet, workqueue, threaded interrupt, chaque solution a des avantages et des inconvénients, qu’il est intéressant de connaître pour optimiser l’efficacité de nos traitements.

Lire la suite de cette entrée »

Xenomai sur Raspberry Pi 3 : bon espoir mais bilan mitigé

Embarqué, Linux, Microprocesseur, Raspberry Pi, Temps-réel | Publié par cpb
Mar 20 2017

Depuis plusieurs mois, on m’interroge régulièrement sur le support de Xenomai sur Raspberry Pi 3 tant durant mes sessions de formations sur Xenomai que dans des messages par mail. J’avais l’habitude de répondre que Xenomai ne fonctionnait pas encore sur ce modèle de Raspberry Pi.

Une remarque récente de Syrine dans les commentaires de l’article « Xenomai 3 sur Raspberry Pi 2 » a attiré mon attention sur un site japonais qui utilise les mêmes commandes que celles présentées dans cet article et fait fonctionner l’ensemble sur un Raspberry Pi 3. J’ai voulu tenter également cette installation. Le résultat est un peu mitigé : Xenomai fonctionne parfaitement avec une bonne stabilité, sauf en ce qui concerne la gestion des interruptions des GPIO qui n’est pas supportée encore. Si vous êtes néanmoins tentés par l’expérience, voici comment procéder simplement.

Lire la suite de cette entrée »

Un noyau 4.10 sur un Raspberry Pi 3 64 bits

Embarqué, Linux, Raspberry Pi | Publié par cpb
Mar 13 2017

Vanilla kernel 4.10 on 64 bits Raspberry Pi 3

Lorsque nous recompilons un noyau Linux pour le Raspberry Pi, nous avons généralement l’habitude d’utiliser un kernel spécifique, disponible sur https://github.com/raspberrypi/linux contenant des drivers absents du noyau standard. Il est néanmoins possible de faire fonctionner sur la plupart des modèles de Raspberry Pi un noyau Linux parfaitement standard (aussi dit Vanilla Kernel). Ceci au prix de quelques efforts de configuration que nous allons voir.

À titre d’exemple, nous allons installer un noyau Linux 4.10.1 (diffusé depuis deux semaines) sur un Raspberry Pi 3.

En outre, nous allons faire fonctionner le Raspberry Pi 3 en mode 64 bits et utiliser le bootloader industriel U-boot !

Lire la suite de cette entrée »

Un bête accident

Embarqué, Linux, Raspberry Pi | Publié par cpb
Fév 27 2017

Un bête accident

Dans la longue liste des cartes et composants détruits par un mauvais branchement je viens d’ajouter un Raspberry Pi 2.

Bien qu’assez précautionneux avec les cartes électroniques, je reconnais volontiers ma responsabilité dans plusieurs cas (maladresse, agacement, mauvaise lecture des numéros de broches, etc.). À quelques reprises les erreurs furent commises par des participants à mes sessions de formation.

Cette fois une bonne partie du problème relève de la malchance : je vais vous raconter ma mésaventure en espérant que cela évitera ce genre de situation à l’avenir.

Lire la suite de cette entrée »

Pi Zero et USB-net (2)

Embarqué, Linux, Raspberry Pi | Publié par cpb
Fév 12 2017

Pi Zero et USB-net

Dans l’article précédent, nous avons réussi à nous connecter depuis un PC hôte vers un Raspberry Pi Zero uniquement en employant un câble USB semblable à ceux pour téléphone portable.

Néanmoins, nous avions relevé plusieurs points restant à améliorer :

  • la connexion SSH est un peu longue à établir,
  • le Raspberry Pi Zero n’a pas accès à Internet,
  • il est nécessaire de fixer manuellement l’adresse IP de l’interface USB-net du côté PC.

Réglons ces problèmes un à un.

Lire la suite de cette entrée »

Raspberry Pi Zero et USB-net (1)

Embarqué, Linux, Raspberry Pi | Publié par cpb
Fév 05 2017

Pi Zero et USB-netLe petit Raspberry Pi Zero est un nano-ordinateur bien sympathique. Il dispose des capacités équivalentes au Raspberry Pi modèle 1 B+, pour un encombrement à peine supérieur à celui d’un ticket de métro.

Victime de son succès le Pi Zero s’écoule au compte-gouttes, mais il devient possible d’en obtenir un assez facilement pour 4$ (plus environ 4$ de port !).

Il existe de nombreux tutoriels de prise en main, à commencer par ceux – excellents – d’Adafruit. L’article ci-dessous permet une prise de contrôle uniquement par l’interface USB-net, sans souder de connecteur série, sans brancher de clavier (ce qui nécessiterait un adaptateur USB-A femelle micro USB-B mâle) ni même d’écran (ce qui nécessiterait un adaptateur HDMI femelle micro-HDMI mâle). Nous allons utiliser le Raspberry Pi Zero nu, et un simple câble USB micro-USB comme on en emploie pour connecter un téléphone portable et un PC.

Lire la suite de cette entrée »