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.