RaspberryPi : Différence entre versions

De fablabo
Aller à : navigation, rechercher
(preparation de la carte SD)
(ressources)
 
(56 révisions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Nous avons reçu un Raspberry PI
+
{{Documentation
http://elinux.org/images/thumb/9/96/RpiFront.jpg/800px-RpiFront.jpg
+
|entree=[[entree::Gpio]],
 +
[[entree::clavier]],
 +
[[entree::souris]],
 +
[[entree::son]],
 +
[[entree::USB]],
 +
[[entree::ethernet]]
 +
|sortie=[[sortie::son]],
 +
[[sortie::ethernet]],
 +
[[sortie::Gpio]],
 +
[[sortie::USB]],
 +
[[sortie::Hdmi]],
 +
[[sortie::ethernet]]
 +
|site=http://www.raspberrypi.org/
 +
|logo=RaspBerryPI.jpg
 +
|licence=cc-by-sa
 +
}}
 +
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.  
  
mini ordinateur pas cher et minimaliste destiné à servir à apprendre aux enfants l'informatique.
 
  
http://www.raspberrypi.org/
 
  
 
==premiers pas==
 
==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. [http://www.raspberrypi.org/archives/tag/noobs via le site Raspberrypi.org]
  
 
===câblage===
 
===câblage===
  
vous aurez besoin de câbler  
+
Vous aurez besoin de câbler au minimum :
au minimum :
+
* une souris USB
- une souris USB
+
* un clavier 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)
- un écran câblé en HDMI ou en rca (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)
- une alimentation 5V (+ou- 0.25V) microUSB
+
''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 (réseau)
 
  
 +
Éventuellement
 +
* un câble Ethernet RJ45 (réseau)
  
 
===preparation de la carte SD===
 
===preparation de la carte SD===
  
en suivant [http://elinux.org/RPi_Easy_SD_Card_Setup la documentation du site PI]   , tout se passe bien
+
une page spéciale dédiée à [[RaspberryPi/raspbian|raspbian]], la distribution debian spéciale Raspberry.
 +
 
 +
En suivant les instructions de [http://elinux.org/RPi_Easy_SD_Card_Setup la documentation du site PI], tout se passe bien.
 +
Ou en français [http://raspbian-france.fr/creation-carte-sd-raspberry-raspbian-sous-gnulinux/] et plus complet, notamment sur le formattage préalable de la carte
  
 
ensuite il faut juste changer le clavier en azerty :
 
ensuite il faut juste changer le clavier en azerty :
Ligne 30 : Ligne 47 :
 
http://virtualmin.wordpress.com/2010/06/08/configurer-le-clavier-francais-au-demarrage-sous-debian-5-lenny/
 
http://virtualmin.wordpress.com/2010/06/08/configurer-le-clavier-francais-au-demarrage-sous-debian-5-lenny/
  
Si d'autres problèmes surgissent, le [http://elinux.org/R-Pi_Troubleshooting guide de dépannage] est correctement renseigné
+
Si d'autres problèmes surgissent, le [http://elinux.org/R-Pi_Troubleshooting 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 [https://github.com/EnotionZ/GpiO EnotionZ/Gpio] donne la possibilité d'interagir avec ces entrées/sorties, à travers  [http://nodejs.org/ 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
  
==test de programmes==
+
Pas encore testé, on attend des retours de votre part...
  
Java ne semble pas bien tourner sur un processeur ARM, donc processing ne fonctionnera pas
+
==Puredata==
  
===pure data===
 
  
il existe un paquet experimantal disponible ici :
+
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
  
http://puredata.info/downloads/pd-extended-rpi/releases/1.0
+
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  [http://puredata.info/docs/raspberry-pi ici]
  
mais ce paquet réclame jackd
+
La plupart de ces paquets réclament le serveur audio jackd si l'on souhaite faire de l'audio temps réel.
  
des problèmes à l'installation montent que le disque est rapidement plein...
+
Pour ceux qui veulent compiler eux-même:
  
 
http://log.liminastudio.com/writing/tutorials/how-to-build-pd-extended-on-the-raspberry-pi
 
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 activer l'autologin''' de la session pi , les instructions se trouvent sur le site de elinux: http://elinux.org/RPi_Debian_Auto_Login
 +
 +
* '''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==
 
==ressources==
  
tutoriel minimaliste pour utiliser un raspberry comme n arduino : http://log.liminastudio.com/writing/tutorials/tutorial-how-to-use-your-raspberry-pi-like-an-arduino
+
* [http://elinux.org/FR:R-Pi_Hub Le Wiki] du Pi
 +
 
 +
* la [http://wiki.labomedia.org/index.php/Raspberry_Pi page wiki] du Labomédia d'Orléans
 +
 
 +
* tutoriel minimaliste pour utiliser un raspberry à la place d'un arduino : http://log.liminastudio.com/writing/tutorials/tutorial-how-to-use-your-raspberry-pi-like-an-arduino
 +
 
 +
 
 +
* wiki ressource sur raspberry et linux embarqués en général http://elinux.org/Main_Page
 +
 
 +
* [http://www.adafruit.com/blog/2012/09/14/controlling-a-prusa-3d-printer-with-a-raspberry-pi-piday-raspberrypi-raspberry_pi/ controller une imprimante 3D] avec un raspberry
 +
 
 +
* [http://alexandre.alapetite.fr/doc-alex/raspberrypi-nodejs-arduino/ tutoriel raspberrypi-nodejs-arduino]
 +
* [http://blog.tfrichet.fr/premier-contact-avec-un-raspberry-pi-b-conseils-et-retours-pour-bien-debuter/ Blog de T Frichet: conseils et retours pour bien débuter]
 +
* [https://www.4dsystems.com.au/group/Arduino_Display_Modules_and_Shields/ 4d systems fourbisseur australien d'écrans tactiles pour Arduino & Raspberry Pi.
 +
 
 +
 
 +
===faire bouillir un raspberry===
  
 +
* http://en.wikipedia.org/wiki/File:Blowing_a_raspberry.ogv
  
wiki ressource sur raspberry et linux embarqués en général http://elinux.org/Main_Page
+
[[Catégorie:Pi]]
 +
[[Catégorie:Hardware]]

Version actuelle en date du 28 février 2018 à 22:46


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.


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