Voir aussi mon dernier livre sur le sujet (janvier 2019) 

Cet article va sans doute disparaître rapidement car j'ai passé fin 2017 au modèle Pi 3.

L'installation du logiciel de base sur un un Raspberry B+ est similaire à l'installation sur un ancien modèle de Raspberry comme décrit ici, dans un de mes articles: Starting with the Raspberry Pi - SD card

Le système d'exploitation se trouve sur le site http://www.raspberrypi.org/downloads/ et nous choisirons la version Raspian Wheezy  la plus utilisée pour le développement de petites applications avec des interfaces électroniques comme des capteurs ou relais. 

Après téléchargement nous unziperons le fichier .zip et copierons l'image, par exemple 2014-12-24-wheezy-raspbian.img, dans un répertoire bien identifiable, chez moi D:\Raspberry\_B+
Le nom pourrait changer si une nouvelle version était disponible.

Sur un PC Windows nous utiliserons Win32DiskImager.exe pour copier le système d'exploitation sur la micro carte SD que nous aurons placer préalablement dans un support SD  (micro SD adapter) et fait glisser dans le lecteur SD du PC ou d'un adaptateur USB.

On cliquera alors sur le bouton "Write" et attendrons patiemment la fin de la copie:

Il faudra alors retirer correctement la carte de son support (commande "Éjecter" dans "Retirer le périphérique"  

Lorsque le système d'exploitation a été copié, il faudra:
- insérer la micro SD dans son support enfin métallique du B+ situé dessous
- connecter un écran avec un câble HDMI 
- connecter un clavier USB (plug and play: donc peut se faire après le démarrage)
- inclure un module USB pour le WiFi
- démarrer le Raspberry en y connectant l'alimentation via le câble mini USB 

Une longue liste de message va apparaître et l'outil de configuration raspi-config sera présenté à l'écran.

La première chose à faire sera d'étendre le système (menu 1 de raspi-config) afin d'utiliser tout l'espace de la carte. Nous attendrons le prochain reboot pour que le redimensionnement soit effectif.

Nous changerons évidemment le mot de passe avec le menu 2.

Avec le menu 3, nous activerons la première option pour le mode console.   

Le menu 4 nous permettra de mettre correctement le langage, les options régionales, la zone de l'heure (option I2, par exemple Europe et Paris) et le clavier (option I3, par exemple 105 keys et German Switzerland French pour les suisses romands).
Nous laisserons pour l'instant les autres aspects de configuration comme le touches de contrôles.

Le menu 8 (Advanced Options) sera utilisé pour activé (enabled) le SSH que nous utiliserons pour l'accès depuis un PC. 

Lorsque ces options de configuration sont terminée, nous utiliserons <Finish> pour terminer. 
Le système redémarra et nous pourrons alors entrer pour l'utilisateur pi, le mot de passe précédemment choisi.  

Si nous avons oublié de mettre correctement une option, nous pourrons toujours revenir à la configuration avec la commande sudo raspi-config.

 

Installation du WiFi: plusieurs méthodes sont possible, mais le mode graphique reste le plus simple.

Mode graphique, reprendre raspi-config et mettre le démarrage grapphique avec le menu 3.
Il nous faudra une souris que nous pourrons connecter sans reboot (plug-and-play).

A l'écran nous aurons un icône WiFi Config que nous utiliserons.

Nous cliquerons sur scan pour sélectionner notre accès WiFi actuellement disponible.
Il faudra entrer la clé PSK pour obtenir la connexion.

 

Une première vérification avec un senseur de mouvement.

Il nous faudra tout d'abord identifier le numéro du Pin où notre senseur sera connecté.
Une bonne référence http://pi4j.com/pins/model-b-plus.html où nous trouverons les numéros des pins à utiliser.
Pour notre senseur nous utiliserons les pins 2 (5V), 6 (Gnd) et 12 (le GPIO BCM 18 (RPi.GPIO) tous situés sur le connecteur côté extérieur.

Notre script python senseur_mvt_2.py:

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
PIR_PIN = 7
GPIO.setup(PIR_PIN, GPIO.IN)
nbmvt = 1
try:
    print "PIR Module Test (CTRL+C to exit)"
    time.sleep(1)
    print "Ready"
    while True:
       if GPIO.input(PIR_PIN):
         print "Mouvement %d!" % nbmvt
         nbmvt = nbmvt + 1
         time.sleep(.3)
except KeyboardInterrupt:
    print " Quit"
    GPIO.cleanup() 

et un script shell pour le faire exécuter, senseur_mvt_2.sh:

sudo /home/pi/jbb_python/senseur_mvt_2.py

Le time.sleep(.3) est relativement petit (0.3 sec) et le senseur réagira rapidement.

 

Senseur de lumière: https://www.circuitlab.com/circuit/hpwha3/screenshot/540x405/

 

Installation de la librairie Pi4J sur le Raspberry.

Elle est décrite en détail sur le site http://pi4j.com/install.html#Java_Runtime_JREJDK.
Nous exécuterons donc le script curl -s get.pi4j.com | sudo bash

 

Démarrage automatique de l'application: par exemple /home/pi/jbb_java/SystemControl.sh & dans le fichier /etc/rc.local

Exemple de SystemControl.sh:

cd /home/pi/jbb_java
while true
do
        sudo java -classpath .:classes:/opt/pi4j/lib/'*' SystemControl
        sleep 100
done

Ceci va assurer que si SystemControl stoppe, aussi si un crash, il sera redémarrer automatiquement