Enregistreur de données – Etape 2 – Le matériel

Dans ce deuxième article, je vais vous décrire le matériel que j’utilise pour le moment et comment celui-ci est configuré

composants

Voici la liste des différents composants que j’ai actuellement sur mon enregistreur :

  • Deux boutons poussoirs. Le premier permet de démarrer ou arrêter l’enregistrement de données. Le second par pression longue permet d’éteindre le système.
  • Une LED verte pour signaler que le système est prêt pour commencer un enregistrement
  • Une LED rouge pour signaler que l’enregistrement est en cours
  • Une horloge RTC DS1307 pour avoir la bonne heure lorsque le système n’est pas connecté à Internet
  • Un gyroscope/accéléromètre MPU6050 pour mesurer l’inclinaison sur 3 axes de l’enregistreur de données
  • Un GPS. J’ai fait le choix de mettre un GPS USB comme celui que j’ai présenté ici. Le coût est le même qu’une carte et surtout le GPS peut être déporté de l’enregistreur ce qui permet de le fixer ailleurs si besoin.
  • Une sonde DS18B20 pour enregistrer la température. J’ai pris ce modèle (par rapport aux sondes DHT22 par exemple) car elle peut comme le GPS être sortie de l’enregistreur grâce à un câble assez long et elle est étanche
  • Une résistance entre 4.7KΩ et 10KΩ pour le branchement de la sonde sur le Raspberry
  • Un boitier 6 piles AA
  • Un régulateur de tension LM2596 pour réguler la tension en provenance des piles
  • Une breadboard
  • Des fils

En dehors du GPS à 37$, l’ensemble des composants sont peu couteux et en se débrouillant bien avec ebay ou dx.com on doit pouvoir limiter la facture à moins de 50$ ou 60$ (sans le Raspberry).

Pour le branchement voici le schéma de l’enregistreur :

RaspMobile

Attention, Fritzing n’a pas tous les composants de la liste donc j’ai pris au plus proche concernant le gyroscope (pas de MPU6050). Il y a d’ailleurs une « astuce » concernant ce gyroscope. J’ai ajouté un câble entre Vcc et l’entrée Add pour lui faire changer d’adresse sur le bus i2c (0x68 au lieu de 0x69) sinon il y avait un conflit avec l’adresse de l’horloge.

Même chose pour le DC-DC Step down. J’ai mis des fils mais si vous avez un LM2596, vous avez toutes les informations pour le brancher dans cet article.

Il nous reste maintenant à configurer le Raspberry Pi pour pouvoir utiliser ses nouveaux amis !

Au 19/03/2014, il y a un bug dans la Raspbian qui empêche l’utilisation simultanée du bus i2c et du bus 1-wire. Il faut utiliser une ancienne version que vous pouvez télécharger ici.

  1. Télécharger et installer Raspbian. Prendre la version du 25 septembre 2013
    http://downloads.raspberrypi.org/raspbian/images/raspbian-2013-09-27/2013-09-25-wheezy-raspbian.zip
  2. Mettre à jour le système mais sans faire d’upgrade
     apt-get update
  3. Désactiver les modules dans le fichier /etc/modprobe.d/raspi-blacklist.conf. Voici le contenu du fichier :
    # blacklist spi and i2c by default (many users don't need them)
    blacklist spi-bcm2708
    #blacklist i2c-bcm2708
  4. Activer les modules nécessaires. Voici le contenu du fichier /etc/modules :
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.
    # Parameters can be specified after the module name.
    snd-bcm2835
    i2c-bcm2708
    i2c-dev
    rtc_ds1307
    w1-gpio
    w1-therm

    Voici la liste des modules en mémoire après un redémarrage
    1__ssh

  5. Redémarrer le système
    reboot
  6. Installer les outils pour le bus i2c
    apt-get install i2c-tools

    Vous pouvez vérifier que votre horloge est bien détectée en position 68 et l’accéléromètre en position 69 :
    1__sshLe 50 vient du deuxième port possible de mon horloge.

  7. Installer et configurer l’horloge (Remplacez le 0 par 1 si vous avez un modèle B révision 2)
    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
    hwclock -r

    1__sshComme vous êtes connectés à Internet, votre système doit être à l’heure. Il faut envoyer l’heure système à l’horloge

    hwclock -w

    La commande ne retourne aucune information. Vous pouvez vérifier le résultat avec la commande de lecture

    hwclock -r

    Pour faire la synchronisation automatiquement au démarrage du Raspberry, vous devez modifier le fichier/etc/rc.local en y ajoutant les lignes suivantes avant le exit 0 de la fin

    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
    sudo hwclock -s

    1__ssh

  8. Installer les outils pour le GPS
    apt-get install -y gpsd gpsd-clients

    Vous pouvez tester que le GPS est bien connecté

    cgps -s

    1._ssh-6

    Modifier le fichier /lib/udev/gpsd.hotplug en ajoutant la ligne

    chmod a+rw $DEVNAME

    avant la ligne

    gpsdctl $ACTION $DEVNAME
  9. Tester la sonde DS18B20. Dans le répertoire /sys/bus/w1/devices, vous devez y retrouver votre sonde sous la forme d’un répertoire dont le nom commence par 28-. Dans ce répertoire vous aurez un fichier contenant la température mesurée. Elle sera mise à jour à chaque fois que vous irez lire le contenu du fichier. Voici un exemple complet pour avoir la température :
    1._ssh-11
  10. Tester l’accéléromètre MPU6050
    i2cget -y 0 0x69 0x75

    La commande doit afficher 0x68

Votre matériel est maintenant prêt ! Prochaine étape, utiliser Python pour enregistrer les données

Vous aimez cet article ? Supportez-moi sur Patreon!

Vous aimerez aussi...