Installer et configurer un Raspberry Pi         

Définition : le but est d'installer un Raspberry Pi sans écran, essentiellement pour exploiter ses GPIO, et quelques services (Apache, DHCP, Proxy, ...).

Description : le Raspberry Pi est un petit ordinateur à base de CPU ARM; il possède des "GPIO", c'est à dire des ports I/O génériques utilisables dans tout projet électronique

Information sur : Raspberry Pi

==============================

Voir le site officel du Raspberry Pi : raspberrypi.org/



Installation de l'O.S.
Brancher le Raspberry Pi sur un écran HDMI ou DVI avec l'adaptateur HDMI<=>DVI
Se procurer un carte SD de 4Go minimum (suffisant juste pour tester, sinon prendre au 8Go)


1ère méthode (pour les nuls... ;-) :
Télécharger NOOBS à partir de:  http://downloads.raspberrypi.org/noobs
Dé-zpipper le fichier (unzip ...)
Copiez les fichiers sur la carte SD
Insérer la carte SD dans le Raspberry Pi et connecter l'alimentation 
Suivre l'assistant de NOOBS

2ème méthode (cette méthode fonctionne même sans écran) :
Télécharger l'image RASPBIAN "lite" à partir de:  http://www.raspberrypi.org/downloads/

Dé-zpipper le fichier (unzip ...)
unzip   2016-09-23-raspbian-jessie-lite.zip
où "2016-09-23-raspbian-jessie-lite.zip" est le nom de l'image téléchargée

Copier cette image sur la carte SD :
dd   bs=4M   if=2016-09-23-raspbian-jessie-lite.img   of=/dev/mmcblk0
où "2016-09-23-raspbian-jessie-lite.img" est le nom de l'image décompressée
et "/dev/mmcblk0" est le nom du périphérique SD

Remarque : le périphérique SD peut parfois avoir un nom différent; ex : /dev/sdb

Insère la carte SD dans le Raspberry Pi et connecte l'alimentation...
 
C'est prêt! connecte-toi en SSH si tu n'a pas d'écran (voir Chap.2)

Après l'installation :
Après t'être correctement connecté avec le login "pi" et le mot de passe "raspberry", tu dois lancer "raspi-config" pour :
- Dans "Internationalisation", changer "locales" en "fr_FR.UTF-8" et "timezone" en "Europe=>Paris"
raspi-config

Chapitre 1.

=========================================

La 1ère étape consiste à installer un O.S. sur la carte SD qui fait office de disque dur


=========================================
Prise de controle à distance
Connecte-toi au RaspberryPi en SSH avec Putty (au choix sous Windows ou Linux).

# Il sera pratique de pouvoir se connecter en "root" au RasPi; on va donner un mot de passe à "root", puis autoriser la connexion SSH avec "root" :


sudo su
passwd
(Entrer un mot de passe pour root)

nano  /etc/ssh/sshd_config
(modifier le paramètre :  PermitRootLogin  yes)
service ssh restart


# Si tu veux travailler plus "confortablement", le logiciel WinSCP te permettra de gérer les fichiers du Raspi depuis une interface graphique lancée sur un poste Windows ou Linux;

# A ce moment de l'installation, il est temps de mettre une IP fixe au RasPi :

Connecte-toi au RasPi avec WinSCP (login : "root")


Remarque : à partir de la version de Raspbian "Jessie", ce n'est plus le fichier "/etc/network/interface" qui gère la configuration réseau, mais le fichier : "/etc/dhcpcd.conf"; il faut y rajouter (en modifiant les valeurs en fonction de ton réseau) :

# Custom static IP address for eth0.
interface eth0
static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8


#De même, tu peux changer le nom d'hôte du RasPi :

- Remplacer "rasberrypi" par le nom que tu as choisi dans les fichiers "/etc/hosts" et "/etc/hostname"


# installation de vnc (pour se connecter au RasPi à distance en mode graphique)

Elle n'est plus nécessaire dans les dernières versions de RASPBIAN, puisque RealVNC est installé par défaut; il faut juste l'activer en passant par "raspi-config"

Chapitre 2.

=========================================

La 2ème étape consiste à rendre le Pi indépendant de son écran...


=========================================
Les logiciels à installer

# nano
apt-get install nano


# Apache, PHP, MySQL
apt-get install apache2
apt-get install php5


Chapitre 3.

=========================================

Les logiciels indispensables


=========================================
N.C.


Chapitre 4.

=========================================

Obsolète..


=========================================
Wiring Pi

Wiring est une API qui contient aussi une commande en ligne : gpio pour controler les GPIO depuis un script.

http://wiringpi.com/

apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
gpio -v
gpio readall

Pour les futures mise-à-jour il fraudra faire :
cd wiringPi
git pull origin
./build

Exemple d'utilisation :
gpio -g mode 4 out  # broche 4 du chipset en mode sortie
gpio -g write 4 1      # broche 4 passe au niveau logique 1
gpio -g mode 17 in  # broche 17 du chipset en mode entrée
gpio -g read 4         # lire l'état logique de la broche 4
gpio readall            # Vérifier l'état des broches

Chapitre 5.

=========================================

Pour contrôler les GPIO : WiringPi


=========================================

PiFace

PiFace est une interface prête à l'emploi pour "jouer" avec les GPIO


http://mchobby.be/wiki/index.php?title=PiFace-Manuel

PiFace utilise uniquement les broches SPI du GPIO !!

Pour activer le bus SPI indispenssable au PiFace :

modprobe spi-bcm2708

PiFace peut être controlé par "gpio" :

gpio -p write [200-207] 0/1

[200-207] correspondant aux 8 sorties du PiFace (200 et 201 = 2 relais)


Mais PiFace est livré avec ses propres librairies en Python

Pour installer les librairies du PiFace :

apt-get install python3-pifacedigital-emulator


Chapitre 6.

========================================

Pour controler les GPIO : PiFace


========================================

Divers

Installer le serveur DHCP :

apt-get install isc-dhcp-server
nano /etc/dhcp/dhcpd.conf

Installer le proxy Squid/Squidguard :

apt-get install squid3
apt-get install squidguard
Dans "/etc/squid3/squid.conf", il faut au départ "http_access allow all", pour débloquer les accès (à peaufiner + tard )
et "url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf", "url_rewrite_children 5"
Tutoriel d'installation de Squidguard
Chapitre 7.

========================================

Divers


========================================

Annexes techniques
Son :
- Impédance de sortie audio : Zs = 50 ohms (B+) ou 100 ohms (B)
- Installation ALSA et PulseAudio :
https://sites.google.com/site/semilleroadt/home/raspberry-pi
- Documentation OMXPLAYER
http://elinux.org/Omxplayer
- lister les cartes son:  aplay -l
- utiliser une carte son usb par défaut : créer un fichier /etc/modprobe.d/alsa-base.conf :
#contenu du fichier alsa-base.conf
options snd_usb_audio index=0
options snd_bcm2835 index=1
options snd slots=snd-usb-audio,snd-bcm2835

Vidéo HDMI :
- lister les modes disponibles :  tvservice -m DMT
- lister le mode actif:  tvservice -s
- choisir un mode : tvservice -e "DMT 11"

GPIO :
www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi

BIOS :
Le RPi ne contient de Bios; les paramètres matériels sont donc conservés dans le fichier /boot/config.txt.

Ce fichier est lu par le GPU avant l'initialisation du processeur ARM
poour lire la configuration active  :
vcgencmd get_config int - lists all the integer config options that are set (non-zero)
vcgencmd get_config str - lists all the string config options that are set (non-null)
Source : http://elinux.org/RPiconfig

WIFI :
pour scanner les hotspots disponbiles  : iwlist scan
modifier le fichier/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_NETWORK_PASSWORD"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}
exemple : 
network={ ssid="secure" key_mgmt=WPA-EAP proto=WPA2 group=CCMP pairwise=CCMP eap=TLS         ca_cert="/etc/certs/cacert.pem"         client_cert="/etc/certs/client.pem"         private_key="/etc/certs/client.key" private_key_passwd="somepwd" identity="me" priority=5 }




Chapitre 8.

========================================

Annexes techniques


========================================