====== Raspberry PI B+ ======
{{::raspberrypib.jpg?400|}}
Énormément de sites proposent des informations, des tutos, des explications sur le Raspberry PI.\\ Cette page regroupe juste quelques informations utiles pour ceux qui ne savent pas par ou commencer
===== Caracteristiques =====
* Processeur (Enfin [[SoC]] pour être précis): Broadcom **BCM2835** [[SoC]]
* Qui intégre:
* [[CPU]] : **ARM1176JZFS** @ 700Mhz
* [[GPU]] : Dual Core VideoCore IV® (Co processeur multimédia qui support l'OpenGL ES 2.0, le HDMI 1080p et le décodage H264)
* SDRAM : 512 Mo
* Alimentation : Micro USB 5V, 650mA
* 4 Ethernet 10/100Mbits
* 1 sortie video + audio analogique via un connecteur jack 4 pt
* 4 ports USB 2.0
* 1 HDMI (rev 1.3 & 1.4)
* 1 connecteur micro SD
* 1 Connecteur camera MIPI 15 pin
* 1 Connecteur écran DSI (Display Serial Interface) 15 pin
===== Systeme d'exploitation =====
Le site officiel propose différent [[OS]] :
* NOOBS (Prendre la version Offline network install) - 1.4Go
* Raspbian //Debian// (Recommandée) - 800Mo
{{::raspbian_mate.png?400|}}
* Pidora //Fedora//
{{::rpi-pidora.png?400|}}
* OpenElec
{{::openelec.jpg?400|}}
* RaspBMC
* RISC OS
{{::riscos.jpg?400|}}
* Arch Linux
Version linux légère\\
{{::archlinux.png?400|}}
[[http://www.raspberrypi.org/downloads/|Ensemble des versions proposées par Raspberry]]
A savoir qu'il est possible d'installer d'autre [[OS]], comme [[https://www.youtube.com/watch?v=i6eCKLkxHWk|Android]], [[https://www.youtube.com/watch?v=rk1oTO6cYH0|Firefox OS]] (toujours en cours de développement ?), [[https://www.youtube.com/watch?v=O7ZELOUIyvw|Plan 9]],
===== Installation =====
==== Version NOOBS ====
La version NOOBS integre les [[OS]] les plus courament utilisés. Elle a également l'avantage de pouvoir être directement copiée sur un micro SD. Les autres versions demanderont une écriture d'un fichier .img avec un logiciel spécifique. (Pas très compliqué cela dit)\\
Elle a l'inconvénient de nécessiter d'une SD d'au moins 8Go. (Normal, elle intègre plusieurs [[OS]])
* Télécharger [[http://downloads.raspberrypi.org/NOOBS_latest|le fichier ZIP]]\\
* Formater une micro SD \\
* Copier les fichiers sur cette micro SD de 8Go ou plus\\
* Mettre en place la micro SD sur la carte \\
* Brancher un clavier, une souris et un écran en HDMI à la carte\\
* Brancher le cable miro USB pour alimenter la carte\\
* Suivez les étapes d'installations
==== Version Raspbian ====
* Télécharger [[http://downloads.raspberrypi.org/raspbian_latest|le fichier ZIP]]\\
* Télécharger et installer [[http://sourceforge.net/projects/win32diskimager/files/latest/download|Win32 Disk Imager]]\\
* Décompresser le fichier ZIP\\
* Démarrer Win32DiskImager en mode administrateur
* Sélectionner le fichier image dans Win32DiskImager et le nom du lecteur correspondant à votre micro SD de 4Go ou plus\\
Il est possible d'installer Rasbian sur une micro SD de 4Go mais vous allez vite vous trouver à court de place. La premier mise à jour risque de ne pas aboutir par un manque place. Je vous conseille donc plutot une carte d'au moins 8Go
* Mettre en place la micro SD sur la carte \\
* Brancher un clavier, une souris et un écran en HDMI à la carte\\
* Brancher le cable miro USB pour alimenter la carte\\
* Suivez les étapes d'installations
Dans la fenetre de configuration \\
* Aller dans "Enable Boot to Desktop ..." et selectionner "Desktop Log as user 'pi'\\
* Aller dans le menu "Internationalisation ..." et "changer local" et sélectionner avec la barre d'espace "fr_FR@euro ISO-8859-15"\\
* A la question : "Deflaut locale for system ...", mettez également FR\\
* Utiliser la touche TAB pour aller jusqu'au bouton "Finish" et relancer le Rasp
Après le demarrage vous devriez vous retrouver sous l'interface graphique. Si ce n'est pas le cas tapez startx
===== 1er démarrage =====
==== Sur le bureau vous trouverez ====
{{::raspbian.png?400|}}
Lors du demarrage des applications patienter un peu si l'application ne se démarre pas (Le Rasp n'est pas non plus une bête de course) \\
* LX Terminal est la console sous linux (Ligne de commandes) \\
* Wolfram est un outil de calcul. Si vous faites 1+1, il vous répondra 2 ! \\
* IDLE 3 est l'environnement de développement pour le langage Python (Ca nous servira surement pour la suite) \\
* Python Games sont des petits jeux développés en Python (A essayer) \\
* Mathematica est apparemment l'interface graphique pour Woldram \\
* Scratch est un petit logiciel de progranimation. Déplacé des blocs de programme, cliquez dessus et Scrach fera ce que vous avez programmé. \\
*
==== Clavier en QWERTY ====
Après le demarrage je me suis rendu compte que le clavier était en QWERTY. Pour changer cela, démarrer LXTerminal et taper sudo dpkg-reconfigure keyboard-configuration
vous pouvez utiliser la touche TAB pour la complétion automatique.\\
Apres la configuration, redemarrer le Rasp
==== Arrêter votre Rasp ====
Il est important d’arrêter votre Rasp "proprement" surtout lors du 1er démarrage.\\
Pour cela, taper la commande :
sudo halt
====== Réseau et Internet ======
===== Ethernet =====
Si votre réseau dispose d'une plage d'adresse en DHCP (Attribution automatique d'une adresse IP), vous n'avez qu'à connecter votre Rasp à votre switch ou routeur pour être connecté à un internet.
Pour votre culture général, vous pouvez ouvrir un terminal (LXTerminal) et taper la commande
ifconfig
pour voir votre configuration réseau.
eth0 correspond à l'interface Ethernet de la carte. Vous pouvez voir si une adresse IP lui a bien été attribuée.
pi@raspberrypi ~ $ ifconfig
eth0 Link encap:Ethernet HWaddr aa:bb:cc:70:f0:43
inet adr:192.168.0.13 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:33 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:3588 (3.5 KiB) TX bytes:4612 (4.5 KiB)
Vous pouvez vérifier que vous être bien connecté à internet avec la commande
pi@raspberrypi ~ $ ping google.fr
PING google.fr (74.125.206.94) 56(84) bytes of data.
64 bytes from 74.125.206.94: icmp_req=1 ttl=41 time=45.3 ms
64 bytes from 74.125.206.94: icmp_req=2 ttl=41 time=45.7 ms
64 bytes from 74.125.206.94: icmp_req=3 ttl=41 time=50.3 ms
===== SSH =====
La connexion SSH vous permet d'avoir un accès à la console de votre Rasp via le réseau. \\
Pour l'activer, taper la commande
sudo raspi-config
Aller dans le menu SSH et sélectionner ENABLE\\
Télécharger et démarrer [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|Putty]]\\
Entrer l'adresse IP de votre Rasp et cliquer sur **Open**
Pour le login, il faudra saisir **pi** et pour le mot de passe **raspberry**
Si vous activez la connexion ssh, je vous conseille vivement de changer le mot de passe de votre compte avec la commande "passwd"
==== Transfert de fichier ====
La connexion SSH peut également être utilisée pour les échanges de fichier. Le principe est le même mais avec un logiciel différent [[http://winscp.net/eng/download.php|WinSCP]]
===== VNC =====
La connexion VNC vous permet d'établir une connexion du type "bureau à distance". \\
La premiere chose à faire est d'installer une serveur VNC sur votre Rasp. Pour cela taper la commande :
sudo apt-get install tightvncserver
Pour démarrer le serveur, taper
vncserver :1
Il vous sera demandé de définir un mot de passe.
Une fois l'installation terminée. Télécharger un [[https://www.realvnc.com/download/viewer/|client VNC]] (Sachez qu'il en existe sous android, ios etc ...)
Entrer l'adresse IP de votre Rasp suivi de **:1**
{{::raspberry_vnc_1.png?300|}}
Puis valider la connexion
{{::raspberry_vnc_2.png?600|}}
===== WIFI =====
Il est possible de connecter votre Rasp en WIFI via un dongle USB.\\
Je vous conseil tout d'abord d'en selectionner un dans [[http://elinux.org/RPi_VerifiedPeripherals#USB_Wi-Fi_Adapters|la liste des périphériques qui ont été testés]]
Le TP-Link **TL-WN725N** (~10€) est préconisé sur les forums. Certaines clés consomment plus que ce que le port USB du Rasp peut fournir. Il faut donc intégrer un hub alimenté entre le Rasp et le dongle USB. La consommation de ce dongle est faible, il est donc possible de le connecter directement sur le Rasp.
Brancher votre dongle WIFI et tapez la commande
pi@raspberrypi ~ $ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
S'il n'apparait pas dans la liste, c'est que le driver n'est pas installé.
==== Installation du driver ====
La première chose à faire est de mettre à jour votre version de Rasbian. Pour cela :
sudo apt-get update
Puis
sudo apt-get upgrade
La deuxième chose à faire est de récupérer le driver de votre dongle. Ce driver peut varier en fonction de votre version de Kernel.
Pour connaitre la version de votre kernel, vous pouvez taper la commande
upi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU/Linux
Dans le cas du TL-WN725N vous trouverez directement les liens vers le driver qui va bien en fonction de votre version à cette adresse :
http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=62371
Exemple pour moi : \\
3.12.22+ #690, #691 - 8188eu-20140616.tar.gz
Le lien de téléchargement est donc : \\
https://dl.dropboxusercontent.com/u/80256631/8188eu-20140616.tar.gz
Pour télécharger ce fichier sur votre Rasp, vous devez taper la commande :\\
pi@raspberrypi ~ $ wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20140616.tar.gz
--2014-08-11 22:11:49-- https://dl.dropboxusercontent.com/u/80256631/8188eu-20140616.tar.gz
Résolution de dl.dropboxusercontent.com (dl.dropboxusercontent.com)... 204.236.226.117, 50.16.243.41, 54.235.132.16, ...
Connexion vers dl.dropboxusercontent.com (dl.dropboxusercontent.com)|204.236.226.117|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 300458 (293K) [application/octet-stream]
Sauvegarde en : «8188eu-20140616.tar.gz»
100%[======================================>] 300 458 563K/s ds 0,5s
2014-08-11 22:11:56 (563 KB/s) - «8188eu-20140616.tar.gz» sauvegardé [300458/300458]
Les fichiers .tar.gz sont des fichiers compressés. L'étape suivante est donc sa décompression :\\
pi@raspberrypi ~ $ tar -xvf 8188eu-20140616.tar.gz
8188eu.ko
Le fichier .ko devra ensuite etre copié dans le répertoire /lib/modules etc ...
pi@raspberrypi ~ $ sudo cp 8188eu.ko /lib/modules/3.12.22+/kernel/net/wireless/
Il faut ensuite charger le driver avec les commandes :\\
pi@raspberrypi ~ $ sudo depmod -a
pi@raspberrypi ~ $ sudo modprobe 8188eu
Si tout se passe bien, vous deviez voir une interface Wlan0 (votre dongle Wifi) en exécutant la commande iwconfig
pi@raspberrypi ~ $ iwconfig
wlan0 unassociated Nickname:""
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
Votre dongle Wifi est maintenant opérationnel. Il ne reste plus qu'à configurer votre réseau WIFI.\\
Pour cela, le plus simple est d'utiliser l'application "Wifi Config" qui se trouve sur le bureau.
Démarrer l'application, aller dans Manage Networks >> Scan\\
Faites un double clic sur votre réseau WIFI et indiquer votre mot de passe dans le champs **PSK**\\
Aller dans l'onglet "Current status", si vous voyez une IP apparaitre, c'est gagné ! Votre dongle est bien connecté à votre réseau qui lui a attribué une IP.
Vous pouvez ensuite déconnecter votre câble RJ45, recliquer sur connect dans l'onglet "Current status" pour réinitialiser la connexion.
Dès que vous voyez une IP, c'est que vouus êtes connecté ! (Je vous écris ces quelques lignes de mon Rasp en wifi :-P)
Vous pouvez également définir une adresse IP fixe pour votre Rasp. Pour cela éditer le fichier
pi@raspberrypi ~ $ sudo nano /etc/network/interfaces
Nano est un petit éditeur de texte en ligne de commande. Voici quelques commandes utiles :\\
ctrl+x : Quitter\\
ctrl+w : Rechercher\\
ctrl+o : Enregistrer\\
et modifier la ligne
iface default inet dhcp
par
iface default inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
Pour redemarrer votre wifi avec la nouvelle configuration
sudo ifdown wlan0
sudo ifup wlan0
====== Webcam ======
Si votre webcam est compatible, vous devriez la trouver dans [[http://elinux.org/RPi_USB_Webcams|cette liste]].
Pour vérifier si elle est bien détectée taper la commande
lsusb
Ensuite installer le logiciel motion
sudo apt-get install motion
Editer le fichier de configuration et modifier la ligne **webcam_localhost** pour la faire passer de off à **on**.
sudo nano /etc/motion/motion.conf
Pour démarrer le streaming :
pi@raspberrypi ~ $ sudo motion
[0] Processing thread 0 - config file /etc/motion/motion.conf
[0] Motion 3.2.12 Started
[0] ffmpeg LIBAVCODEC_BUILD 3482368 LIBAVFORMAT_BUILD 3478785
[0] Thread 1 is from /etc/motion/motion.conf
...
[1] Started stream webcam server in port 8081
Pour accéder aux images de votre camera, il ne reste plus qu'à taper dans votre navigateur internet l'adresse suivante :
http://ip_de_votre_rasp:8081
Pour stopper la diffusion : ctrl+c
====== Piloter les entrées/sorties ======
Brochage du connecteur\\
{{::raspberryb_plus_io.png?800|}}
{{::raspberrypi_b_piout.jpg?500|}}
Les entrées du processeur fonctionnent en **3.3V**. **N'utilisez pas le 5V !**
Le courant max qu'on puisse tirer sur le **3.3V** est de **50mA** (Ceci inclut les GPIO)
Le courant de sortie est programmé softwarement entre 2mA et 16mA. Ne connaissant pas le courant programmé, je vous conseille donc de vous limiter à **2mA par sortie**)
===== Bus I2C =====
La carte intégré 2 résistances de tirage de 1.8KΩ
====== Émulation ======
Il est possible de faire tourner Rasbian, ou un autre [[OS]], sur une machine virtuelle. QEMU est apparemment la solution la plus utilisée pour émuler une machine [[ARM]].\\
Vous trouverez tous les détails sur la page suivantes :
http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/
====== Datasheet et documentation ======
Le fabricant du BCM2835 ne fournit pas de datasheet complet. Il est donc difficile de connaitre les caractéristiques électriques exactes des entrées sorties
{{::bcm2835-arm-peripherals.pdf|Datasheet du BCM2835}}\\
{{::pi-connectors_schematic.pdf|Schema des entrées / sorties}}\\
[[http://fr.scribd.com/doc/101830961/GPIO-Pads-Control2|Spécifications électriques des entrées/sorties]]\\
[[https://www.adafruit.com/datasheets/pi-mech_schematic.pdf|Plan mécanique de la carte]]
====== FAQ ======
* J'ai oublié de modifier un parametre lors de l'installation, comment le modifier sans tout réinstaller ?
sudo raspi-config
Comment connaitre la température du PSoC ? (La température normale de fonctionnement est généralement inférieur à 60°C)
/opt/vc/bin/vcgencmd measure_temp