les modèles de RASPBERRY PI

comme pour la gamme ARDUINO, il n’y a pas un, mais plusieurs modèles de raspberry PI.

ces différents modèles, sont nés de l’évolution constante du produit au fil du temps en terme de capacité et de performances. du premier modèle sorti en 2012 au derniers modèles; le Raspberry PI 400 sorti fin 2020 et le PI pico sorti en janvier 2021 , vous avez l’embarras du choix pour repondre à vos projets . ceci dit , attention, certain modèles du début ne sont plus disponibles a la vente.

début 2021 , les 2 modèles les plus utilisés restent le PI3B+ et le PI 4B qui est lui même décliné en 4 sous-modèles suivant la mémoire embarquée ( 1Go-2Go -4Go-8go ).

plutôt qu’un long discours , pour plus d’infos sur la config, les capacités et les prix indicatifs de chaque type , voir le site ci dessous qui résume dans un excellent tableau de synthèse toutes les caractéristiques des modèles de la gamme .

https://socialcompare.com/fr/comparison/raspberrypi-models-comparison

Pack Boitier / mini écran /mini claviers

un des énormes avantage de la gamme RPI est sa transportabilité liée a sa compacité. pour améliorer encore cela il existe des pack boitier que l’on peut associer a des écran HDMI de petite tailles et des claviers ultra compacts .

concernant les boitiers tout en un , voici l’un des plus remarquables que l’on trouve en achat en ligne pour environ 18 euros ( tarif janvier 2021) :

il est conçu pour recevoir un ecran 7″ raspberry officiel ( environ 75€ en janvier 2021) qui a une définition de 800×480 pixels et cerise sur le gateau est un ecran tactile prévu de base pour fonctionner en tactile sur le RPI.

voici les composants une fois déballé , l’écran se connecte sur un slot dédié sur le PCB du RPI.

une fois l’ensemble assemblé et l’OS DEBIAN installé sur la carte SD ( voir rubrique spécifique) puis l’ecran et le RPI mis sous tension, on obtient ceci :

pour alimenter tout cela sans passer par une prise secteur , il est possible d’utiliser une power bank 5V comme ci dessous:

et ainsi concerver l’aspect nomade de l’ensemble, l’alimentation via USB est commune pour ecran t RPI :

a cet ensemble on peut également associé de sympathiques mini claviers wifi/usb tels que les 2 ci dessous ( envrion 15 € en achat internet), qui sont les deux muni d’un track pad remplaçant avantageusement une souris:

voici le resultat avec la deuxieme version de clavier

Installation de DEBIAN (OS linux)

l’opération va consister a faire une image systeme sur carte SD et ensuite mettre cette carte SD dans le RPI.

l’OS linux a installer sur le Raspberry PI est disponible ci dessous pour l’installation.

https://www.raspberrypi.org/software/

ci dessous rappel de la procedure d’installation

ETAPE 1:

installation de l’imager ( logiciel permettant de copie l’image systeme sur carte SD

ETAPE 2

téléchargement de l’image système, de-zip et copie sur carte SD avec l’imager

Coller le fichier dans un Nouveau repertoire « INSTALLATION DEBIAN » puis dezipper le fichier.

Une fois l’etape 1 et l’etape 2 faite on a un repertoire avec l’image système et le progamme de copie.

Selectionner le fichier Image créé dans l’etape précedente :

Selectionner la destination = la carte SD

Lancer le « flashage » de la carte SD (l’opération dure longtemps).

Une fois fait le contenu de la carte SD ressemble a ça :

il ne reste plus qu’a sortir la carte SD du PC et l’introduire dans le logement du raspberry PI et de mettre le RPI sous tension.

SHELL- BASH : la ligne de commande

LINUX est un systeme d’exploitation au meme titre que WINDOW et IOS (apple). Il est similaire a UNIX est a été inventé en 1991 par Linus TORVALD.

A la différence de WINDOW et IOS , c’est un système OPEN SOURCE ( licence libre => gratuit et code source accessible).

BASH est le SHELL utilisé par LINUX . un SHELL est une interface de commande en ligne de type script qui permet d’exécuter des actions sur les fichiers d’ un ordinateur .

BASH = Bourne Again Shell

Exemple de SHELL : au début  des PC sous windows , le SHELL était MS-DOS . ce shell est toujours disponible sous WINDOWS via le menu « Accessoires » commande prompt :

A l’opposé du Shell , on trouve une interface Graphique permettant de lancer des actions via des icônes ou des menus => exemple le Bureau de Window.

De la même façon sous Linux  , on trouve une Interface Graphique ( un bureau) et une interface de commande en Ligne ( BASH) que l’on peut démarrer depuis le Bureau de LINUX.

Structure de Linux :

Contrairement à Window  qui manipule des fichiers et des unités de stockage( C : D : E : ) , Linux est un peu déroutant au début car il ne manipule que des Fichiers qui sont tous structurés au sein de répertoires, sous Linux , une unité de stockage est donc considérée comme un fichier dans un répertoire :

Parmi ces répertoires, plusieurs sont importants, on peut en citer :

Quelques  commandes de Base :

Les utilisateurs et les droits

Nano : editeur de texte basique

Nano est un editeur de texte brut tres simple ( pas un traitement de texte)

Pour le demarrer il suffit de tapper nano dans la console.

Un caractere # en debut de ligne permet d’ecrire une ligne de commentaires

On peut donner un nom au fichier dès l’ouverture :  exemple :  nano toto.txt

Installer des programmes avec apt-get

man : afficher le manuel d’une commande

RASPBERRY – VNC

VNC alias Virtual Network Computing est un moyen simple de prendre le contrôle a distance sur un raspberry Pi . c’est un système de partage via internet qui permet de prendre le contrôle d’un Raspberry en émulant le comportement écran/clavier via le PC distant connecté au net. bien entendu , pour fonctionner , cela nécessite un Raspberry PI connecté a son propre écran et connecté a internet .

voyons comment installer/activer tout ça:

ETAPE 1 : activer VNC sur le RPI

aller dans le menu Préférences/Configuration :

puis dans la fenêtre “configuration” choisir l’onglet “Interface” et activer l’option VNC

une fois la manip faite et la fenêtre refermée , redémarrer le RPI , une fois le bureau affiché , si votre barre de menu est en haut , vous devez voir a droite l’icône de VNC affichée :

ETAPE2 : installer VNV viewer sur le PC distant

pour pouvoir émuler la connexion sur le terminal distant , il va falloir installer une application compatible. la plus connue est VNC Viewer. on peu la télécharger ici:

https://www.realvnc.com/fr/connect/download/viewer/

elle est disponible sur tous les OS connus y compris en version Smartphone .

une fois l’installation faite , il faut se créer un compte VNC via le lien ci dessous:

https://www.realvnc.com/fr/raspberrypi/#sign-up

il est possible de créer un compte Gratuit

une fois le compte créé , ne reste plus qu’a lancer VNC Viewer , tapper l’adresse IP du RPI dans la barre du haut puis saisir identifiant et mot de passe : attention , ici il s’agis de l’identifiant et du mot de passe d’ouverture du compte du Raspberry PI , en general quelque chose du genre “pi” + mot de passe…

une fois la connexion distante etablie , l’ecran de votre PI s’affiche comme si vous etiez devant le RPI. toutes les manipulation sur le PC ( frappe clavier/ souris) sont prise en compte comme si vous étiez devant votre clavier et votre raspberry PI. dans la vue ci dessous, l’écran de ligne de commande BASH ainsi que Thonny Python sont actif et l’un comme l’autre sont utilisable a distance . de la meme façon tout programme installé sur le RPI peut etre lancé a distance via la barre de commande du haut ou par click souris sur une icone du bureau ou via des commandes sous bash …

RPI GPIO – PINOUT

le port GPO du RPI comporte 40 broches alignées en 2 rangés sur un meme connecteur plastique . voyons le brochage de cette interface plus en détail:

chaque broche peut etre utilisé de façon logicielle comme entrée ou sortie. la numerotation des broches (Pin) n’est pas dans l’ordre physique du bornier . les broches O et 1 ( broches physiques 27 et 28) sont reservées pour des utilisations avancées.

voici un petit schema qui recapitule la numerotation des broches vis a vis de la position physique. certaines broches ont des fonctions spécifiques (couleur rouge , orange ou verte) et certaines des fonctions alternatives ( voir colonne Alternate Function en gris ci dessous). il est a noter que contrairement a l’ARDUINO , il n’y pas de broche Analogiques, RPI n’utilise que des entrées/sorties digitales (niveau haut ou bas). derniere particularité, pour l’alimentation PWR= Power) ) , les broches physiques 2 et 4 generent du 5V et les broches physiques 1 et 17 du 3,3V.

ATTENTION: contrairement a l’ARDUINO qui utilise des tension TTL de 5V le niveau haut des broche GPIO est a 3,3V

Gestion PWM: le Pulse Width Modulation peut etre generé de façon logicielle sur toutes les broches GPIO.

Gestion SPI : possible sur les broches Function alternative couleur ROSE

I2C: broche SDA = GPIO2 et SCL = GPIO 3 en bleu ci dessous

SERIAL: TX sur broche physique 8 (GPIO14) et RX sur broche Physique 10 (GPIO15) . en vert ci dessous.

brochage du GPIO : ci dessous fichier format JPG a imprimé pour penses bete GPIO

si besoin , le pinout ( sans les fonctions alternatives) est disponible en ligne de commande et en tapant dans BASH la commande ci dessous:

pinout

pour finir et pour vos montage a base de RPI , il existe en vente en ligne plétore de cables en nappe et connecteurs pour les réalisations, voici 2 exemples parmis tant d’autres:

connecteur a plugger sur la barette GPIO du RPI:

nappe avec connecteur et PCB pour proto board :

PYTHON et THONNY PYTHON

THONNY PYTHON est un editeur PYTHON basique fourni avec l’environnement DEBIAN dans la version complète avec le BUREAU . on y accède via le menu général en haut a gauche , option “Programmation”:

une fois l’editeur ouvert , nous avons un ecran similaire a celui ci :

pour examiner l’editeur THONNY PYTHON de façon plus pratique , nous allons ecrire un petit programme basique avec une interface graphique utilisant la bibliothèque TKinter . pour cela il va falloir au préalable l’ installer. ouvrir l’éditeur en Ligne de commande BASH et taper la commande ci dessous:

sudo apt-get install python-tk

une fois la bibliothèque installée , écrivons un petit programme PYTHON: attention bien respecter l’indentation ( décalage des lignes) comme dans l’exemple ci dessous car c’est la façon dont Python reconnait les bloc de fonction ( boucle de test if , boucles while, definition de fonctions ,etc ..)

import tkinter as tk

root= tk.Tk()

canvas1 = tk.Canvas(root, width = 400, height = 300)
canvas1.pack()

entry1 = tk.Entry (root) 
canvas1.create_window(200, 140, window=entry1)

def getSquareRoot ():  
    x1 = entry1.get()
    label1 = tk.Label(root, text= float(x1)**0.5)
    canvas1.create_window(200, 230, window=label1)
    
button1 = tk.Button(text='Calcul de la racine', command=getSquareRoot)
canvas1.create_window(200, 180, window=button1)

root.mainloop()

une fois saisi dans Thonny Python, cela donne la chose suivante:

pour lancer l’execution du programme , il suffit de cliquer sur la fleche “Run” dans la ligne des icones de commande:

quand cela est fait vous devez voir apparaitre le petit menu ci dessous avec une case blanche à remplir . saisissez un nombre puis cliquez sur la case “calcul de la racine” et vous devriez obtenir le résultat du calcul de la racine carrée du nombre entré dans la fenêtre. voila votre premier programme simple écrit sous tonny Phyton et utilisant une interface graphique a base de fonctions et commandes de la bibliothèque TKinter . nous aborderons les possibilité de TKinter de façon plus approfondie dans un tuto spécifique.

CRÉER UNE ICÔNE de LANCEMENT

si vous utilisez le bureau sous Debian ou linux, il est utile de créer des icônes de lancement pour les programmes python que vous avez développé . cela évitera le passage par la ligne de commande.

nous allons voir ici comment procéder.

tout d’abord il va falloir créer un fichier qui va contenir les commandes pour la création de l’icône. on va créer un fichier texte du type “nom.desktop” dans le répertoire /home/pi/Desktop.

pour créer le fichier texte , 2 possibilité , l’editeur de texte du bureau ou la ligne de commande qui devra etre du genre:

sudo nano nom.desktop

en ligne de commande il faudra bien entendu soit se positionner dans le répertoire de destination /home/pi/Desktop ou inclure le chemin dans la commande sudo :

sudo nano /home/pi/Desktop/nom.desktop

le contenu du fichier texte “nom.desktop” devra etre le suivant, en vert et bleu le formalisme obligatoire et en noir lespartie dependant de votre application:

ci dessous un fichier zip modele:

[Desktop Entry]
Version=
Name=MonApplication
Comment=Ceci est mon application super méga géniale
Exec=python3 /chemin/du/programme/MonProg.py
Icon=/chemin/du/fichier/MonIcone.png
Terminal=false
Type=Application
Categories=

on trouve des exemples d’icônes dans le repertoire /usr/share/pixmaps mais il est egalement possible de créer ses propres icones et par exemple les stocker soit dans /usr/share/pixmaps ou dans le répertoire programme . il faudra compléter Icon = chemin avec le chemin de l’icône choisie. dans l’exemple ici , après Exec= on a python 3 / chemin ……. mais si vous utilisez une autre version de python, adapter le contenu en conséquence.

une fois l’icône crée et le fichier nom.desktop crée , vous devriez voir votre icône apparaitre sur le bureau et quand vous cliquez dessus cela lance le programme python visé .

UTILITAIRES DIVERS

GNOME screenshot (copie ecran /zone ecran) :

utilitaire de copie d’ecran ou copie partielle d’ecran , pour l’installation passer en mode commande et taper la suite de commandes ci dessous

sudo apt update

sudo apt upgrade

sudo apt install gnome-screenshot

IDE ARDUINO :

pour developper des programmes arduino et les telecharger dans l’arduino , installer l’ IDE sur votre raspberry PI.pour l’installation passer en mode commande et taper la suite de commandes ci dessous

sudo apt update

sudo apt upgrade

sudo apt-get install arduino

IDE PROCESSING :

pour developper des programmes processing afin de dialoguer avec un arduino branché sur le port USB , installer l’ IDE PROCESSING sur votre raspberry PI.pour l’installation passer en mode commande et taper la suite de commandes ci dessous

sudo apt update

sudo apt upgrade

curl https://processing.org/download/install-arm.sh | sudo sh

PI camera: instal et config

le raspberry PI est prévu pour recevoir une camera dédiée sur son connecteur spécifique. voyons comment la brancher et l’utiliser .

on trouve la camera en achat en ligne , il en existe 2 versions, le modele V1 de 5 mégapixels avec câble en nappe de 15cm et câble en nappe d’un mètre pour moins de 10 euros , et le modele V2 , en 8 mégapixels à 25-30 euros suivant les vendeurs. il existe par ailleurs tout un tas de modele compatible avec des lentilles/objectifs additionnels.

BRANCHEMENT DE LA CAMERA:

le raspberry PI possède un slot de connexion spécifique pour la camera, il est prévu pour y inserer le cable en nappe livré avec la camera. les connections sont situées du coté gauche du connecteur, il faut donc bien veiller a mettre la nappe du bon coté. il faut egalement déclipper le petit masque plastique en le soulevant vers le haut avec l’ongle, avant d’insérer la nappe puis le rebloquer vers le bas une fois celle ci insérée.

CONFIGURATION et TEST:

une fois la camera branchée et le RPI démarré , il va falloir configurer l’ensemble , pour cela ouvrir le menu “preferences” puis “aspberry Pi Configuration”:

puis cocher la case “camera/ Enable” dans le menu “interface”.

pour tester la camera , lancer le shell (LXterminal)et tapper la commande ci dessous et valider par l’appui sur Enter:

raspistill -o Desktop/image.jpg

une image a été ajoutée sur le bureau , vous pouvez l’ouvrir pour voir son contenu.

sans extension particulière , la photo est prise à la définition maximale de la camera, mais vous pouvez définir les dimension en utilisant les option -h -w :

raspistill -o Desktop/image-small.jpg -w 640 -h 480

sur le meme principe , on peu prendre une video :

raspivid -o Desktop/video.h264

nous verrons dans la rubrique “RASPBERRY PI – TUTOS” comment contrôler la camera en langage Python de façon a pouvoir intégrer image et vidéos dans une interface ou un programme spécifique de votre conception.