Login

Raspberry PI et DS18B20

Il existe de nombreux article sur le sujet, ici je me contente de signaler les petits points de détails qui font que cela fonctionne.

http://www.sbprojects.com/projects/raspberrypi/temperature.php

Installation sur une raspbian.
Il faut au préalable installer les modules qui gèrent le syteme 1 WIRE

sudo modprobe w1-gpio && sudo modprobe w1_therm

maintenant si vous faites la commande vous devriez voir tous les capteurs detecter.
ls -l /sys/bus/w1/devices/

Depuis le PI 2 (version > 3.18) il faut rajouter au ficher /boot/config.txt
sh -c "echo '#one wire\ndtoverlay=w1-gpio\n' >> /boot/config.txt"

 

GPIO Wirinpi

WiringPi vs. BCM_GPIO Pin numbering  Model B
       WiringPi   GPIO-r1   GPIO-r2   P1-Phys   Function
       ───────────────────────────────────────────────────
           0            17           17           11
           1            18           18           12          (PWM)
           2            21           27           13
           3            22           22           15
           4            23           23           16
           5            24           24           18
           6            25           25           22
           7             4             4             7
           8             0             2             3         I2C: SDA0
           9             1             3             5         I2C: SCL0
          10            8             8           24         SPI: CE0
          11            7             7           26         SPI: CE1
          12          10            10          19         SPI: MOSI
          13            9             9           21         SPI: MISO
          14          11           11           23         SPI: SCLK
          15          14           14            8         TxD
          16          15           16           10        RxD
          17           -            28
          18           -            29
          19           -            30
          20           -            31

WiringPi vs. BCM_GPIO Pin numbering Model B+

root@raspberry41 ~ # gpio readall
 +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+

Init des gpio d'abord ecrire 1 puis les mettre en sortie

gpio write 0 1
gpio write 1 1
gpio write 2 1
gpio write 3 1
gpio write 4 1
gpio write 5 1
gpio write 6 1
gpio write 7 1

gpio mode 0 output
gpio mode 1 output
gpio mode 2 output
gpio mode 3 output
gpio mode 4 output
gpio mode 5 output
gpio mode 6 output
gpio mode 7 output


Fermer le relais 2 : Il faut écrire 0 sur la sortie 2
gpio write 2 0
Ouvrir le relais 2 : Il faut écrire 1 sur la sortie 2
gpio write 2 1

Fermer le relais 2 pendant 1 seconde puis l'ouvrir
gpio write 2 0
sleep 1s
gpio write 2 1

Fermer le relais 2 pendant 0.5 seconde puis l'ouvrir
gpio write 2 0
sleep 0.5s
gpio write 2 1

 

Activer le watchdog du Raspberry Pi

Le watchdog permet de surveiller le circuit BCM2708 du rapsberry Pi. Pour activer celui-ci sur le raspberry pi, on procède de la manière suivante :

Chargement du module       man de modprobe
# sudo modprobe bcm2708_wdog

Édition du module avec ajout de la ligne suivante :
# sudo nano /etc/modules
bcm2708_wdog

Définition du démon du watchdog (installation et configuration au démarrage du raspberry Pi man de chkconfig) :
# sudo apt-get install watchdog chkconfig
# sudo chkconfig watchdog on
# sudo /etc/init.d/watchdog start

Configuration du fichier de config du watchdog :
# sudo nano /etc/watchdog.conf
Dé-commenter la ligne # watchdog-device = /dev/watchdog
Verifier que interval est bien de 10 secondes, si ce n'est pas le cas dé-commenter la ligne et mettre 10

Voila le watchdog est démarré et scrute toute les 10 secondes.
Si la commande /dev/watchdog ne reçoit pas de signal au bout de 10secondes, le raspberry pi redémarre.

Enfin tester votre  chien de garde en plantant le sytème avec un Forkbomb taper la commande ci dessous
# :(){ :|:& };:

 

Note importante : le re-démarrage du rapsberry pi est brutale et peut dans certain cas corrompre les fichiers de démarrage.

 

sources:

http://pi.gadgetoid.co.uk/post/001-who-watches-the-watcher

http://linux.die.net/man/5/watchdog.conf

 

Prises radio commandées

projet

Voir l'article dans magpi en francais n8 page 8: ici

http://www.hoagieshouse.com/RaspberryPi/RCSockets/RCPlug.html

Raspberry PI et teleinfo

En revanche ce port série est utilisé par la console, donc il faut le désactiver à 2 endroits
1) dans le fichier /boot/cmdline.txt tu supprimes la partie

Code:
console=ttyAMA0,115200 kgdboc=ttyAMA0,115200


ce qui doit te donner un ligne du type (en tout cas chez moi)

Code:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

2) Ensuite dans le fichier /etc/inittab tu commentes la ligne qui référence le ttyAMA0 (ci dessous la ligne chez moi) en mettant un # devant.

Code:
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Puis tu rebootes le Pi

 

Configuré le port série avant le cat avec une commande similaire à celle-ci.

Code:
stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts

Puis un cat

Code:
cat /dev/ttyAMA0

Contrôle des GPIO via le Web

Liste des utilitaires permettant de contrôler les GPIO du Rpi via le Web

1) PiStatus WiringPI

http://www.windon.themoon.co.uk/NVSM/WebControl#Home

 

 

2)WebIOPi

http://code.google.com/p/webiopi/

 

3) Wiringpi

https://projects.drogon.net/raspberry-pi/wiringpi/