RaspberryPi

Révision de 28 février 2018 à 22:46 par Oli44 (discussion | contributions) (ressources)

(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Révision de 28 février 2018 à 22:46 par Oli44 (discussion | contributions) (ressources)

(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)


Le Raspberry PI est un mini ordinateur pas cher et minimaliste destiné initialement à l'apprentissage de la programmation aux enfants. Il a cependant un grand nombre d'applications potentielles, du serveur de fichier à la station météo en passant par le lecteur interactif de vidéo.


Sommaire

premiers pas

Pour les grands débutants, une méta-distro existe désormais nommée NOOBS qui permet de gérer de multiples installations sur une même carte SD en passant par un menu graphique. via le site Raspberrypi.org

câblage

Vous aurez besoin de câbler au minimum :

  • une souris USB
  • un clavier USB
  • un écran câblé en HDMI ou en RCA aussi appelé Cinch (dans ce cas une vieille TV peut faire l'affaire)
  • une alimentation 5V (+ou- 0.25V) micro USB (un chargeur de téléphone portable intelligent fera l'affaire, minimum 1A, 2A si vous avez une carte son USB)

Pour brancher un clavier + une souris, un HUB USB peut-être nécessaire (possible manque d'énergie pour que le PI fonctionne correctement).

Éventuellement

  • un câble Ethernet RJ45 (réseau)

preparation de la carte SD

une page spéciale dédiée à raspbian, la distribution debian spéciale Raspberry.

En suivant les instructions de la documentation du site PI, tout se passe bien. Ou en français [1] et plus complet, notamment sur le formattage préalable de la carte

ensuite il faut juste changer le clavier en azerty :

http://virtualmin.wordpress.com/2010/06/08/configurer-le-clavier-francais-au-demarrage-sous-debian-5-lenny/

Si d'autres problèmes surgissent, le guide de dépannage est correctement renseigné.

Préparation de la carte SD en ligne de commande sous Linux Debian/Ubuntu/Mint

Je vérifie d'abord l'image téléchargée

 sha1sum /tmp/2013-02-09-wheezy-raspbian.zip

Je décompresse l'image de Raspbian.

 unzip 2013-02-09-wheezy-raspbian.zip

je démonte la partition cible sur la carte SD

 sudo umount /media/0359b06f-cffe-4076-b2c7-0b0733b17b30/

J'installe l'image disque sur la carte SD. Pour connaitre l'adresse de la partition cible, j'ai utilisé gparted (interface graphique de parted). Il est important d'omettre le fin de l'adresse des partitions (le p2 à la fin de /dev/mmcblk0p2 par ex)

 sudo dd bs=4M if=2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0

agrandissement du disque

Depuis le passage à Debian Wheezy, il suffit de lancer avec les droits admin le programme raspi-config

Ce qui suit est donc un peu obsolète.

Lorsqu'on utilise l'image disque Debian squeeze pour créer la carte SD, le système de fichier fait 1.6Go, même si la carte SD est plus grande , ce qui est peu car avec le système et les quelques programmes, ce disque est rapidement plein.

Heureusement, il existe une manipulation qui permet d'agrandir la partition pour profiter de tout l'espace disponible.

Pour ce faire, tapez les commandes suivantes dans le terminal

printf "d\n3\nd\n2\nn\np\n2\n157696\n\nw\n" | sudo fdisk -cu /dev/mmcblk0
sudo reboot

puis après le redémarage

sudo resize2fs /dev/mmcblk0p2

Utilisation

utiliser les GPIO

Il existe une distribution dédiée qui est optimisée pour tout ce qui est GPIO I2C, issue du cerveau fou de Lady Ada: http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/


La Framboise est dotée de GPIO (General Purpose Input/Output, des entrées/sorties analogiques qui rendent possible la connexion avec d'autres machines.

Plusieurs possibilités de communication existent:

  • La librairie EnotionZ/Gpio donne la possibilité d'interagir avec ces entrées/sorties, à travers nodejs (serveur web javascript).
  • Python
  • C & autres bindings

En vrac

En court-circuitant le pin 8 , on peut démarrer le Pi. Le Pin 18 est un PWM matériel, les autres pins peuvent être utilisés en PWM mais logiciel (ce qui demande plus de ressources!)

test de programmes

Processing

Pour executer Java (requis par Processing), il faut prendre une distribution dédiée en mode soft-point afin d'être compatible (mais plus lent) avec la VM d'Oracle. cf soft-point Debian Wheezy sur http://www.raspberrypi.org/downloads

Lire également un long et bien documenté article chez Oracle (qui ne fait donc pas racheter la concurrence) http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html

Pas encore testé, on attend des retours de votre part...

Puredata

Il y a désormais pas mal de documents dédiées au pi sur le site http://puredata.info/ http://puredata.info/search?SearchableText=raspberry

Entre autres, un paquet est désormais disponible dans le dépôt officiel apt.puredata.info, ainsi que des images disques toutes prêtes. Les instructions pour l'ajouter à votre système sont ici

La plupart de ces paquets réclament le serveur audio jackd si l'on souhaite faire de l'audio temps réel.

Pour ceux qui veulent compiler eux-même:

http://log.liminastudio.com/writing/tutorials/how-to-build-pd-extended-on-the-raspberry-pi

résolution de problèmes

Lorsque le câble HDMI est connecté, la sortie audio RCA est désactivée. Si on souhaite l'activer simultanément, il faut utiliser la commande suivante:

 sudo amixer cset numid=3 1

Ligne de commande qui va bien pour démarrer en mode reproduction audio seulement et sans interface graphique:

 pd-extended -noadc -alsa -nogui nomdupatch.pd

Servir des fichiers HTML statiques

Le pi n'a que peu de ressources matérielles, il vaut mieux donc utiliser le serveur le plus économe , nginx , au détriment du populaire Apache.

   $ sudo aptitude install nginx

il faut ensuite créer un répertoire, y insérer un premier fiche texte à servir et lui donner les bons propriétaires:

   $ sudo mkdir /var/www
   $ sudo vim /var/www/index.html

On insère alors le texte suivant:

   <html>
   Bonjour, monde!
   </html>

On donne les droits:

   sudo chown -R www-data:www-data /var/www/

On édite ensuite le fichier de configuration de nginx afin qu'il pointe vers le bon répertoire:

   sudo vim /etc/nginx/sites-enabled/default

On repère la ligne suivante:

       root /usr/share/nginx/www;


qu'on remplace par:

       root /var/www;

Cette manipulation nous permet de ne pas toucher aux fichiers de configuration par défaut de nginx.

Il faut ensuite faire prendre en compte ces modifications au serveur

   sudo service nginx restart

Dirigez maintenant votre nvaigateur à l'URL de votre pi:

   http://raspberrypi.local

si vous avez installé le serveur avahi, sinon, il vous faudra retoruver l'IP via la commande

   ifconfig

et pointer votre navigateur vers une adresse du genre:

   http://192.168.0.8



Vous pouvez remplacer la commande vim par nano si vous n'aimez pas les éditeurs modaux.

Trucs & astuces

  • Pour retrouver l'adresse IP du Pi dont on a désactivé l'interface graphique, on peut utiliser la commande nmap qui nous listera toutes les IP des machines du réseau. Ensuite, avec un peu de jugeote, on devrait retrouver sa framboise assez vite.
 nmap -sP 192.168.0.0/24
  • Pour programmer l'extinction du Pi (ou toute autre tâche régulière), il suffit d'installer un cron. Par exemple, pour programmer une extinction de la machine tous les jours à 7h moins 5:
 sudo crontab -e

On rajoute la ligne suivante à la fin:

 55 18 * * * shutdown -h now

Doc en français ici: http://generation-linux.fr/index.php?post/2009/02/11/Cours-Linux-%3A-Automatisation-de-taches-avec-Cron



  • Pour pouvoir se connecter à sa framboise sans connaître du tout sans adresse Ip mais juste par une commande du type

(informations suivantes obsolètes depuis Juillet 2013 dans Raspbian et depuis toujours dans Occidentalis, il suffit désormais de passer par raspi-config)

 ssh pi@raspberrypi.local

il faut installer le package avahi-daemon et le configurer pour qu'il démarre tout seul:

 sudo aptitude install avahi-daemon
 sudo update-rc.d avahi-daemon defaults

Et voilà!

Limitations

Le GPIO ne dispose que d'un seul PWMmatériel sur le port 18. Il est possible de faire du PWM logiciel sur les autres ports, mais la charge CPU augmente alors beaucoup.

ressources



faire bouillir un raspberry