GPIO et parallélisme

Il y a quelques mois, j’a­vais bri­co­lé un Rasp­ber­ry Pi pour réa­li­ser une maquette inter­ac­tive. Mais faute de temps, je n’a­vais pas réus­si à gérer conve­na­ble­ment le paral­lé­lisme : contrô­ler en même temps 10 lec­teurs mp3 en python, tout en assu­rant du « temps réel » pour la détec­tion de la pres­sion sur les bou­tons, ça mar­chait mal. Il faut dire que le choix du python avait été gui­dé par l’en­vie d’un pro­to­ty­page rapide, mais sans plus de moti­va­tion.

Alors ces der­nières nuits, j’ai pris le par­ti de tout reprendre à zéro, en uti­li­sant cette fois-ci le C++. J’aime Qt, alors j’ai fait du Qt. Et pour le contrôle des entrées sor­ties de la petite machine, les GPIO, j’ai choi­si la biblio­thèque wiring­PI. Tout de suite, tout marche beau­coup mieux !

À noter qu’il faut pen­ser à ins­tal­ler lib­qt5­mul­ti­me­dia5-plu­ginsqtmul­ti­me­dia5-dev, ou encore  gstrea­mer-pul­seau­dio pour pou­voir uti­li­ser QMe­dia­Player. Étran­ge­ment d’ailleurs, sans le sup­port de gstrea­mer dans pul­seau­dio, la lec­ture des mp3 est très très gré­sillante…

Bon par contre, le pro­jet est encore sur github.