Outils pour utilisateurs

Outils du site


commenailles-2

Ceci est une ancienne révision du document !


Raspberry Pi

Le hardware

Conçu par l'anglais David Braben, et destiné au départ à encourager l'apprentissage de l'informatique, dans la lignée idéologique du BBC Micro. Lancé en 2012, il a été vendu aujourd'hui plus de 10 millions d'exemplaires. D'abord fabriqué en Asie, les chaînes de production ont aujourd'hui été rapatriée au Royaume-Uni. Toutes les infos et les sources de ces quelques lignes sur wikipédia.

Pour le modèle 3B (lancé en février 2016)

Taille identique au modèle 1 et 2, 85,60 mm × 53,98 mm × 17 mm
CPU 1,2 GHz quadricœur ARM Cortex-A53
1Go de RAM
4 ports USB
Ethernet / Wifi / Bluetooth
Puissance 800 mA (4 W), prévoir alimentation mini 2A pour être tranquille, voir 2.5 si possible.
E/S via les 40 broches du GPIO (détail ci-dessous).

Présentation détaillée des spécificités des différents modèles, Raspberry Pi A / B / 1,2 ou 3 / Zéro, etc … La bible: https://en.wikipedia.org/wiki/Raspberry_Pi

Les utilisations les plus populaires, encouragées par les Os officiels:

  • mediacenter (OSMC et LibreElec)
  • éducation (plein de logiciels type scratch sont préinstallés), avec raspbian et ubunutu
  • fabrication, automatisation, serveur, etc… avec raspbian, en général, mais aussi Win10 iot

Un distribution très particulière que nous aimons beaucoup à 3615: GrblWeb , qui permet de piloter des CNC. Le projet semble par contre un peu au point mort, malheureusement.

3615 et les Raspis

Nous sommes très consommateurs de raspis, voici quelques exemples concrets, un peu à côté des utilisations communes.

Le parcours sonore à la Saline d'Arc et Senans est système de diffusion multipiste installé dans une allée d'arbres de 200 m qui comprends plus de 20 raspberrys: Echos de la Saline.

3615.rhizome est un projet commandé par le département du Doubs et déployé pendant un mois dans 6 médiathèques départementales 3615.rhizome.

Installer l'Os

Jusqu'à un temps assez récent, flasher sa carte SD était toujours un moment un peu tendu. En effet, la commande utilisée, dd, ne laisse pas vraiment droit à l'erreur.

Depuis est sorti un outil qui rend cette opération accessible en deux clics: https://etcher.io/. Difficile de trouver pourquoi se priver.

Raspbian est l'os que nous utilisons tout le temps (sauf utilisation media-center). Basé sur Debian, c'est l'os officiel supporté par la fondation.

Linux par le graphique, avec un écran. Linux par la ligne de commande - ssh. … le graphique par ssh quand ca veut.

Un minimum de linux - tout est fichier - même les gpio

sudo -i
echo "23" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio23/direction
cat /sys/class/gpio/gpio23/value
echo "23" > /sys/class/gpio/unexport

Les langages

c'est le candidat idéal, encouragé par la fondation, déjà installé.

https://projects.raspberrypi.org/en/projects/introduction-to-processing

Paramétrages

Les différentes choses à régler sur le système fraîchement installé pour en optimiser l'utilisation future.

Un petit coup de

 raspi-config

permet d'étendre le volume à la carte SD si ce n'est déjà fait, de gérer les langues, les interfaces allumées, etc…

On peut gagner environ 1 Go d'espace en supprimant quelques applis nous nous n'aurions pas l'utilité, suivant notre utilisation:

 $ sudo apt-get autoremove --purge wolfram-engine minecraft-pi sonic-pi libreoffice*
 $ sudo apt-get clean

Source: https://korben.info/recuperez-1-gb-despace.html A tester: https://korben.info/configurer-facilement-raspberry-pi-pibakery.html

A compléter avec l'article de Linux Pratique

AddOns

Le raspberry Pi est un système modulaire, qui, tout comme l'Arduino, accepte beaucoup d'extensions.

Présentation de certains shields spécifiques
Les caméras (raspicam) et uv4l
Les écrans

Les capacités sonores, très mauvaises par la sortie mini-jack, peuvent être considérablement améliorées de diverses façon.

  • Par la sortie HDMI = 5.1 et 7.1, avec un ampli ou une carte son adéquate
  • Par un HAT, soit DAC soit Ampli… Hifiberry par exemple, produit une gamme excellente

L'un des principaux intérêts du raspi, ce sont sa quarantaine de Pin GPIO, qui décuplent les possibilités. Comment les utiliser, pleins de tests pour tester des switchs, des leds, etc… GPIO 3.3V (ATTENTION !) 3mA par pin (une petite led)

La bible: https://fr.pinout.xyz/#

Code

Exemples en python et Processing tirant parti des GPIO

  • Compiler un code Processing vers le Raspi, faire qu'il s’exécute au démarrage, utiliser les gpio.
  • Utiliser le Pi comme display : afficher une page web au démarrage et cacher le curseur
  • Le pi comme outil de stream video avec uv4l + salle de chat
  • ? intéressant ? Websockets pour connecter deux raspis (plantes qui vibrent)
  • Arduino + pi, pourquoi, comment
  • Utiliser l'OSC pour communiquer entre deux raspis

Snippets


Activer SSH au premier boot

En effet, depuis quelques version, l'accès SSH n'est plus activé par défaut sur les Raspbian. Si l'on envisage de travailler “headless”, c'est assez fâcheux. il suffit d'ajouter un fichier vide nommé “ssh” pour réactiver cet accès. Ainsi, une fois la carte SD créée, il faut naviguer jusqu'à la racine de la partition montée sur votre ordinateur et taper:

 $ nano ssh

puis ctrl+o pour enregistrer. Source: https://www.raspberrypi.org/forums/viewtopic.php?t=191252 (dans la source, possibilité aussi de créer le fichier qui se connectera au réseau wifi directement).


Affecter une ip fixe

Pour que le raspberry pi réclame un adresse IP particulière au routeur, il faut, assez paradoxalement, éditer le fichier dhcpcd.conf (depuis Jessie. Avant, il fallait aller bricoler /etc/network/interfaces).

 $ sudo nano /etc/dhcpcd.conf
 

puis ajouter

 interface wlan0
 static ip_address=192.168.1.151
 static routers=192.168.1.1
 static netmask 255.255.255.0
 static domain_name_servers=192.168.1.1
 static domain_search=192.168.1.1

Source: http://fr.sizious.com/2015/08/28/configurer-une-ip-fixe-sur-le-raspberry-pi-avec-raspbian-20150505/


Générer un réseau adhoc

Si l'on a pas de routeur sous la main, une solution pour travailler sur son raspi à distance peut être de générer un réseau ad hoc, produit par le raspberry pi et sur lequel on se connectera.

Il faut modifier le fichier /etc/network/interfaces. Par sécurité, faire une copie préalable.

 sudo cp /etc/network/interfaces /etc/network/interfaces.orig 
 sudo nano /etc/network/interfaces
 

Puis ajouter

 
 # interfaces(5) file used by ifup(8) and ifdown(8)
 
 # Please note that this file is written to be used with dhcpcd
 # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
 
 # Include files from /etc/network/interfaces.d:
 source-directory /etc/network/interfaces.d
 
 auto lo
 iface lo inet loopback
 
 iface eth0 inet dhcp
 
 auto wlan0
 iface wlan0 inet static
   address 10.2.1.1
   netmask 255.255.255.0
   wireless-channel 1
   wireless-essid PiAdHocNetwork
   wireless-mode ad-hoc
   

Il faut ensuite paramétrer son ordinateur conformément à ce que l'on vient de configurer sur le raspi, à savoir, si l'on se fie à l'exemple:

  • IP fixe 10.2.1.2 (pas de dhcp)
  • Masque 255.255.255.0
  • Routeur 10.2.1.1

Source: https://raspberrypi.stackexchange.com/questions/49660/ad-hoc-setup-in-rpi-3


Gestion du son

La gestion du son est un sujet très complexe (en tous cas pour moi). Voici quelques sources intéressantes pour démarrer:

https://www.rezine.org/documentation/auto-hebergement/multimedia/son/ https://wiki.debian.org/fr/ALSA http://debian-facile.org/doc:media:alsamixer https://wiki.debian.org/PulseAudio

Pour mémoire, ALSA = pilotes et API. Pulseaudio est un serveur de son, une sorte de mixeur numérique qui permet de mixer les sources. alsamixer est un utilitaire graphique qui permet de régler des choses facilement.


Lancer un script au boot

Pour lancer un script ou un programme au démarrage (si le pi démarre sur le bureau automatiquement). Il faut au préalable avoir choisi se se logger automatiquement avec raspi-config.

Pour tous les utilisateurs

 sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Pour un seul utilisateur

 sudo nano ~/.config/lxsession/LXDE/autostart

Il faut faire précéder sa commande d'un @, et mettre cela à la suite des instructions déjà présentes. pour démarrer un script python:

 @/usr/bin/python /home/pi/example.py
 

A surveiller, le placement avant ou après @xscreensaver.

https://www.raspberrypi.org/forums/viewtopic.php?t=43509


Désactiver l'économiseur d'écran

Pas si facile ! Dans le fichier /etc/xdg/lxsession/LXDE-pi/autostart , il faut commenter @xscreensaver. Et peut être ajouter (pas sûr que ce soit utile).

 @xset s noblank 
 @xset s off 
 @xset -dpms

Certains parlent de l'installer au contraire complètement avec :

 $ sudo apt-get install xscreensaver

Pour pouvoir ensuite désactiver via l'interface.


Désactiver le curseur

Peut être pratique en cas de démarrage automatique, type borne interactive ou de présentation.

 sudo apt-get install unclutter
 

Puis dans etc/xdg/lxsession/LXDE-pi/autostart

 @unclutter -idle 0.1 -root

Désactiver le wifi pour utiliser un dongle

Le WIFI intégré au Raspi3 n'est pas très puissant, de par son design (c'est intégré au chip CPU). Il peut être nécessaire d'utiliser un dongle pour augmenter la portée. Il faut dans ce cas désactiver le module Broadcom pour laisser la place au dongle.

 $ sudo nano /etc/modprobe.d/raspi-blacklist.conf
 

Puis ajouter

 blacklist brcmfmac
 blacklist brcmutil

Lire un encodeur rotatif

Après avoir testé plusieurs morceaux de code, voici mon préféré, tiré du livre Les capteurs pour Arduino et Raspberry Pi: Tutoriels et projets, de Tero Karvinen,Kimmo Karvinen,Ville Valtokari.

En plus du ground (pin du milieu de l'encodeur), il faut connecter les deux autres sur les pin 3 et 5 (physiques) du raspi. Vu ici https://github.com/hackabletype/37-Sensors-Code/tree/master/raspberrypi/rotary_encoder


Déporter l'affichage de l'écran via SSH (sous linux)

Se logger avec la commande:

 ssh -o ForwardX11=yes pi@XXX.XXX.XXX.XXX
 

Une fois loggé, taper les commandes sur le raspi:

 $ eval `dbus-launch --sh-syntax`
 $ export DBUS_SESSION_BUS_ADDRESS
 $ export DBUS_SESSION_BUS_PID
 

Puis lancer le programme voulu, avec & pour garder la main.

 $ chromium-browser &
 

La fenêtre générée par la raspi s'affiche sur votre bureau.

La Doc

commenailles-2.1513242094.txt.gz · Dernière modification: 2017/12/14 10:01 par guiaum