Je vous ai déjà présenté du matériel conçu pour le Raspberry Pi par SNOC (Société Nationale des Objets Connectés). D’abord une carte SIGFOX pour la framboise, puis une alimentation pour rail DIN destinée à alimenter le Raspberry Pi.
Cette fois c’est un boîtier DIN 4M équipé d’un clavier et d’un afficheur OLED qui a retenu mon attention.
Au sommaire :
Boîtier DIN 4M pour Raspberry Pi avec écran OLED et clavier
Présentation du boîtier
Ce boîtier 4M (largeur équivalente à 4 modules DIN) est conçu pour accueillir le Raspberry Pi. Il comporte sur le socle deux emplacements destinés à recevoir des vis de fixation de la carte (livrées dans le kit) et possède également un verrou destiné à sécuriser la fixation sur le rail DIN. Le verrou n’apparait pas sur les photos de l’article.
Le boîtier est équipé d’un afficheur OLED SSD1306 de 0,96 pouces de diagonale (2,4 cm). La définition est de 128 x 64 pixels de couleur blanche. La faible définition est contrebalancée par le fort contraste de l’écran qui autorise sa lecture en plein soleil. Le chat qui est affiché sur l’écran de la photo ci-dessus est celui qui figure à gauche de ce paragraphe, en niveau de gris et en taille réelle. L’écran se situe derrière une façade transparente qui le protège sans gêner sa lecture.
Le clavier
Quatre boutons poussoirs forment un clavier. Les tiges de commande dépassent de la plaque de protection transparent et sont d’un maniement facile. Selon le programme, ils servent à faire défiler un menu, valider, changer le type d’affichage etc… Sur la photo ci-dessus un menu à gauche de l’écran permet d’afficher 2 images de chats, les logos de SNOC, Yadom et Framboise314 (apparent sur l’écran). Les boutons haut et bas font défiler la surbrillance sur les items du menu, le bouton de droite valide le choix.
Vous pourrez imaginer toutes les applications de ces boutons dans vos programmes…
Afficher l’adresse IP du Raspberry Pi
l’heure et la date (en français si vous voulez 🙂 )
Des possibilités d’affichage infinies sur l’écran OLD
Ou… n’importe quoi d’autre comme ces formes variées, dans la mesure où on est en présence d’un écran graphique… On peut imaginer des courbes, des barres pour afficher une consommation électrique, une évolution de température, de niveau dans une cuve, de pression ou tout ce que vous pourrez imaginer 🙂 On peut passer de l’affichage d’une valeur instantanée à un historique par appui sur un bouton choisir la valeur affichée etc.
Allez une petite démo en images…
Installation du logiciel
Pour l’installation j’ai fait un mix entre la doc de SNOC et celle d’Adafruit.
Commencez par mettre le système à jour et activez le bus SPI soit dans raspi-config si vous êtes en Raspbian Jessie Lite ou dans la fenêtre de configuration en mode graphique.
sudo apt-get update sudo apt-get install build-essential python-dev python-pip sudo apt-get install python-imaging python-smbus
Installation de la librairie Python pour l’écran OLED
Vous pouvez maintenant télécharger et installer la librairie Python de gestion du SSD1306 ainsi que les exemples proposés par Adafruit :
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Maintenant vous êtes prêt(e) à utiliser les exemples. En fait pas tout à fait car les exemples d’Adafruit n’utilisent pas les mêmes ports GPIO. Il va falloir les modifier pour les adapter à la carte SNOC et déclarer le type d’écran utilisé pour que l’affichage soit correct. Plusieurs écrans possédant des définitions différentes utilisent la même bibliothèque.
Rendez vous dans le répertoire d’exemples :
cd Adafruit_Python_SSD1306 cd examples
Les exemples fournis pour les tests de l’écran OLED
On va commencer par modifier le programme image.py :
Vous devez faire quelques modifications pour que le programme fonctionne avec la carte SNOC qui n’utilise pas les mêmes ports du GPIO.
sudo nano image.py
Recherchez et modifiez les lignes suivantes :
# Raspberry Pi pin configuration: RST = 25 # Note the following are only used with SPI: DC = 24
Il faut ensuite indiquer quel écran est utilisé :
commenter la ligne disp…
# 128x32 display with hardware I2C: # disp = Adafruit_SSD1306.SSD1306_128_32(rst=RST)...
et décommenter celle correspondant à l’écran 128×64
# 128x64 display with hardware SPI: disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST, dc=DC, spi=SPI.SpiDev(SPI_...
Ne laissez pas d’espace en début de ligne !
Exécution des programmes
On peut maintenant exécuter le programme
python image.py
Vous pourrez faire la même manip pour animate.py et shapes.py
Les programmes de SNOC
Les programmes sont disponibles sur la page du site Yadom avec des explications pour la mise en œuvre.
Vous pouvez télécharger le fichier archive en cliquant sur le lien si vous êtes en mode graphique. Décompressez l’archive pour accéder aux programmes de démo.
Si vous êtes en mode texte :
pi@raspberrypi:~ $ mkdir yadom pi@raspberrypi:~ $ cd yadom pi@raspberrypi:~/yadom $ wget https://yadom.fr/downloadable/download/sample/sample_id/159/rpidisp01_exemple_code.zip --2017-01-13 08:37:44-- https://yadom.fr/downloadable/download/sample/sample_id/159/rpidisp01_exemple_code.zip Resolving yadom.fr (yadom.fr)... 37.187.12.110 Connecting to yadom.fr (yadom.fr)|37.187.12.110|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 43666 (43K) [application/zip] Saving to: ‘rpidisp01_exemple_code.zip’ rpidisp01_exemple 100%[===============>] 42.64K --.-KB/s in 0.1s 2017-01-13 08:37:45 (349 KB/s) - ‘rpidisp01_exemple_code.zip’ saved [43666/43666]
Puis décompressez l’archive
pi@raspberrypi:~/yadom $ unzip rpidisp01_exemple_code.zip Archive: rpidisp01_exemple_code.zip extracting: 1.png extracting: 2.png extracting: 3.png extracting: 4.png extracting: 5.png inflating: rpilcd2actions.py inflating: rpilcd2menu.py inflating: testio.py inflating: Xerox Serif Narrow.ttf
et vous pouvez utiliser les programmes d’exemple avant de les modifier pour les adapter à vos besoins…
pi@raspberrypi:~/yadom $ python rpilcd2actions.py
Sortez avec les touches CTRL + C
Le boîtier DIN 4M en images
Vous trouverez ici des images extraites du site Yadom et des photos « maison ».
Les images du site Yadom
Les images « maison »
Accès aux connecteurs d’alim et audio/vidéo
Pour ouvrir le boîtier une fois que vous l’aurez fermé et clipsé, il faut commencer côté carte micro SD. Arrêtez le système, débranchez l’alimentation. Sortez la carte micro SD : Pas de souci avec les premières versions de Raspberry Pi jusqu’au Pi 2 qui sont équipées d’un connecteur Push/push. On appuie la carte se verrouille, on appuie la carte est éjectée. Sur le Pi3 on a un connecteur PUSH/PULL. On appuie pour insérer la carte mais il faut tirer pour l’extraire. Oups il n’y a pas beaucoup de place pour les doigts (prévoyez des pinces fines).
Un fois la carte micro SD enlevée avec une lame fine débloquez le boîtier côté SD (de l’autre côté les connecteurs butent et empêchent l’ouverture). Lorsque ce côté est basculé, poursuivez l’ouverture côté connecteurs USB.
En cadeau un aide -mémoire GPIO
Sur le site il est mentionné que la commande est livrée avec un aide mémoire GPIO.
Cet accessoire est ajouté à la commande « dans la limite des stocks disponibles ».
Il est donc possible que si vous lisez cet article dans quelques mois, l’aide-mémoire ne soit plus disponible (cet article est paru mi-janvier 2017).
La série d’inscriptions la plus proche des broches du connecteur vous donne le numéro « officiel » du GPIO (façon BCM) alors que la série la plus proche du bord de la carte correspond à la dénomination de ces mêmes broches dans WiringPi. Allez pour embrouiller un peu plus les débutants (eh c’est pas moi qui donne ces numéros, je n’y suis pour rien !) le numéro « physique » des broches part de 1 (en haut à droite du GPIO sur l’image ci-dessus) à 40 en bas à gauche.
Conclusion
Un coffret de bon aloi si vous devez intégrer un Raspberry Pi dans une armoire équipée de rails DIN.
La SNOC est une startup française soutenue par initiative Anjou, dont les produits bénéficient du label Made In France.
Je n’ai rencontré aucune difficulté dans la mise en œuvre de cet ensemble écran/clavier, les exemples en Python fournis par Adafruit et par la SNOC facilitent la prise en main de l’environnement.
Au premier abord, le prix peut sembler un peu élevé (près de 44 €) mais si on ajoute le prix de l’écran, des boutons poussoir, du boîtier DIN, on s’aperçoit vite que s’il fallait réaliser un tel ensemble à partir de zéro ça serait au moins aussi cher, sinon plus et que ce serait moins esthétique.
Il y a deux choses qui m’embêtent un peu :
- Si on utilise une carte HAT additionnelle il faudra qu’elle ait des picots GPIO pour pouvoir connecter la carte de liaison.
- La découpe pour la carte micro SD qui s’avère pratique avec un Raspberry Pi 2 complique un peu la vie avec un Raspberry Pi 3 quand on doit extraire la carte. D’un autre côté c’est une opération qu’on fait surtout pendant la mise au point d’un projet, lorsque le coffret n’est pas encore fermé. Ca minimise un peu cet inconvénient.
Sources
- http://yadom.fr/boitier-din-avec-afficheur-oled-et-clavier.html
- http://snoc.fr/
- https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black/usage
- https://github.com/adafruit/Adafruit_Python_SSD1306
- https://learn.adafruit.com/monochrome-oled-breakouts
- https://learn.adafruit.com/adafruit-oled-displays-for-raspberry-pi
- https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
J’utilise leurs boitiers depuis plusieurs années.
J’en ai 3 en tout.
un pour rasp pi 1B
2 pour rasp pi 2
à chaque fois avec une vitre transparente.
Je m’en suis servi pour y installer un écran lcd derrière qui couvre la quasi totalité de la vitre, un peu d’intégration à base de carton peint a été nécessaire.
J’ai apprécié le premier boitier livré, avec de la visserie pour fixer le rasp.
J’ai moins apprécié les suivant livrés sans visserie (ce n’est pas bloquant).
Par contre, ATTENTION DANGER !!! il faut IMPERATIVEMENT retirer la carte SD AVANT d’ouvrir le boitier.. sinon.. COUIC !!! la carte est coupée en 2 🙁 ça m’ai arrivé une fois, ça sert de leçon.
ça donne ça en vrai :
http://cdn.j2c.org/2014_12_05/800_750b677b71ea6d40c6ab502de0402013_IMG_4688.jpg
Bonjour JC,
Pourriez-vous me donner la référence de l’écran (marque, modèle, résolution, …) que vous avez intégrer dans votre boitier 4M et qui apparaît sur votre pièce jointe ?
Merci d’avance
Pierre-Marie
Bonjour jc
merci pour ces infos
ici les vis sont bien livrées
j’ai bien précisé d’enlever la carte car ça coince… mais je ne pensais pas que ça pouvait la casser !
cordialement
François
La preuve ici :
Il faut savoir qu’à la base, ouvrir le boitier demande un peu d’effort, du coup, j’ai pas hésité à y aller franchement.. une fois enlevé, j’ai compris mon erreur.
ça n’enlève rien au mérite de cette société qui fait des bons produits 🙂
C’est pas pour rien si j’ai recommandé chez eux.
Il faudra un jour que je leur envoie un mail pour leur suggérer une amélioration à ce sujet sur le boîtier, au lieu de mettre une encoche, il suffirait de mettre un créneau. Du coup, aucun risque de casser la carte.
bonjour jc
je pense que le message est passé!
C’était juste pour expliquer comment j’en étais arrivé là 🙂
Ton article m’a donné envie d’aller voir les nouveautés sur leur site.
A ce sujet, j’ai également une alim 5v (qu’on doit voir sur la première photo il me semble).. du très bon matos, j’arrive même à faire tourner 2 raspberry en // dessus.
ça doit être celle là ?
https://www.framboise314.fr/alimentation-domotique-pour-rail-din/
Exactement.
En plus, on peut réajuster la tension de sortie 😉
Bonjour François,
encore un article très intéressant et il est fort possible qu’on le relise dans quelques toi 😉 (coquille au niveau du cadeau de l’aide mémoire du GPIO).
Encore merci pour ton travail.
Olivier.
Merci
je pense que j’ai corrigé j ai trouvé 2 fautes 🙂
cordialement
François
Bonjour,
Une fois de plus excellent article. Un autre produit équivalent sans écran mais avec une partie platine d’essai dans un budget plus raisonnable et qui permettrait l’intégration plus facile d’un afficheur. C’est ici: https://www.hwhardsoft.de/english/projects/rasppibox-open/
Cdt
merci Étienne 🙂
J ai eu l occasion de bosser avec Yannick ( le president de la snoc) lorsque nous étions ensemble dans une entreprise d angers.
C est vraiment quelqu’un de très bon et de créatif.
La snoc mérite d être suivi, et pourquoi pas un equivalent sparkfun ou adafruit a la française, et devenir un leader européen du dyi ?.
Je fais remoter le post 😉
Est il possible de faire sortir une nappe 40 broche une fois monté sur le rail DIN ? (Pour connecter plusieurs cartes « hat » et filles fixées sur d’autres rails DIN).
Merci
Bonjour Pierre
oui ça doit etre jouable
par ex :
https://fr.aliexpress.com/item/32339517859.html
cdt
françois