LCD Ubuntu

Microsoft No Passaran

Fuck off Microsoft. Bon, de toutes façons la fondation continue à proposer un système 32 bits sur des processeurs 64 bits, et maintenant qu'ils ont pactisé avec le diable, impossible de continuer à utiliser leur OS (déjà que hein ?).

La décision c'est de ne plus acheter de produit chez eux, mais en attendant, que faire avec les cartes existantes : PiCorePlayer est safe, il faudra regarder du côté d'Octoprint, et sur le "poste de travail" de la Pi400 j'utilise un bel Ubuntu. Ubuntu existe en plusieurs saveurs, dont une dispensé de l'interface graphique. Ca tombe bien, ce soir je propose d'utiliser cette version sur la Pi et de gérer le LCD avec Ubuntu. Fuck off Microsoft, putain j'ai la rage !

Quel système installer ?

Quelques idées

  • On n'installe pas le système de la fondation Raspberry à cause du pacte avec le diable

  • On veut installer Ubuntu

  • On souhaite installer une version 64 bits

  • On souhaite installer une version "serveur", c'est à dire headless


Quelques explications

  • J'ai encore des vieilles Raspberry 2 en ARM 32 bits mais je ne veux plus les utiliser, c'est trop lent. Le choix est en faveur des cartes avec processeur ARM 64 bits. Les veilles Raspberry 2 utilisent un mono-coeur à 600Mhz. De la Raspberry V2 à V3, on passe à du 4 cœur 64 bits en augmentant la fréquence considérablement !

  • En ce qui concerne le système d'exploitation, la fondation a un drôle de discours officiel. Ca traîne depuis des lustres pour sortir une version 64 bits et comme elle n'est toujours pas disponible, la fondation affirme qu' elle n'a pas d'intérêt : alors pourquoi la fondation travaille dessus ?

  • Le véritable intérêt, très important pour la version 64 bits... C'est qu'ARM 32 bits, c'est mort depuis longtemps : les applications disponibles aujourd'hui sont ARM 64 ! Et avec l'abandon par Apple des processeurs merdiques d'Intel et l'utilisation de processeurs ARM, ça va être exponentiel !

  • Par exemple pour essayer avec la Pi400 d'avoir un environnement complet pour l'impression 3D, les logiciels sont essentiellement disponibles en ARM64 et donc c'est Ubuntu le système de choix pour la Pi400, pas RaspiOS !

  • Rester en 32 bits c'est rester bloqué sur un parc logiciel restreint.

  • Pour l'affichage sur le petit LCD, on choisi une version "serveur", c'est à dire sans interface graphique, parce qu'il s'agit d'utiliser un LCD sur le port I2C. Il s'agit d'une utilisation headless, il n'y a pas de clavier, pas de souris, pas d'écran sur le port HDMI. Headless !

  • Et d'un point de vue "subjectif", pour comparer RaspiOS et Ubuntu... Il y a un monde entre les deux. L'OS de la fondation ressemble à un truc fabriqué dans un garage (une Peugeot 205 bien entretenue qui continue à fonctionner) alors qu'Ubuntu on sent bien qu'il y a plus de développement derrière, c'est une Zoé !

Installation de l'OS et camelote

Ben c'est ultra simple : documentation !

La victime est une vieille Raspberry modele B. Il existe deux modules d'affichage LCD en I2C compatible avec la bibliothèque, un module de deux lignes de 16 caractères et un module de quatre lignes et 20 caractères.

Pour le module d'affichage, j'ai pris un écran avec l'interface I2C (le backpack) : c'est très important d'avoir le module I2C, parce que si vous ne l'avez pas, il faut connecter l'écran en // et tirer 8292 fils depuis votre carte vers l'afficheur.

Alors que là, on utilise 5V et GND et deux brins pour la commande, SDA et SCL.

En supposant que vous avez déjà la Rasp, le projet ne coûte donc presque rien, et on va pouvoir faire une horloge électronique avec la précision des serveurs de temps de l'internet (ça veut dire toujours à l'heure) !

En plus de ça, on va savoir quel morceau on écoute, le bitrate et tout le bazar, whaa, j'ai hâte !

Et en bleu ? La couleur de High End en audio ? Une chose intéressante, c'est que sur le bus I2C on peut connecter jusqu'à 128 périphériques, sur la même paire de câble.

Quelques commandes

Installer le système de gestion de paquets de python

sudo apt install python3-pip


Installation des outils i2c

sudo apt install -y i2c-tools


Installation du package smbus2

sudo pip3 install smbus2


Installation du dézippeur

sudo apt install unzip

Et voilà, on peut taper la commande qui détecte l'écran et qui indique son adresse sur le bus I2C :

sudo i2cdetect -y 1

Le code

wget https://github.com/renaudrenaud/LMSLCD2020/archive/main.zip

unzip main.zip

cd LMSLCD2020-main/

sudo python3 testLCD.py

On a besoin de sudo parce que sous Ubuntu l'accès au bus I2C n'est pas accessible sans une élévation de droits.