/ python

Prise en main du RaspberryPi Zero W & IMU GY-801

Hello world !

Cet article récapitule la prise en main du RaspberryPi Zero W, couplé au multi capteur IMU GY-801 qui rassemble un accéléromètre, un gyroscope, un capteur de pression, de température et d'altitude (oui oui, tout ça regroupé sur un petit circuit de 1.5cm x 2cm).

#1 Le RaspberryPi Zero W

Première chose à savoir : les 2 ports USB sont bien distincts. L'un sert uniquement à l'alimentation, l'autre aux périphériques. Aussi, il reconnait surtout les hub USB 2 et seulement quelques hub USB 3.

Petit inconvénient, vous devrez forcément y brancher un écran, une souris et un clavier pour le configurer avec le réseau la première fois.

Une fois setup, c'est un vrai confort d'avoir le wifi ainsi que le bluetooth d'intégrés nativement.

Sur le réseau local de l'agence il y a plus de 40 postes, pas évident d'y retrouver l'ip du Raspberry. Pour m'aider dans cette tâche, j'ai trouvé la commande magique :

sudo nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'

Elle permet d'afficher l'ip du raspberry sur le réseau local, en combinant le scan d'ip à l'adresse MAC, qui pour un Raspberry commence toujours par B8:27:EB.

192.168.*.0 est votre masque de sous réseau local, ensuite le pipe détecte l'adresse mac des Raspberry.

Maintenant, pour pouvoir utiliser le capteur, il faut activer l'I2C.
Pour cela rendez vous dans le menu de configuration en tapant la commande sudo raspi-config. Naviguez jusqu'au menu Interfacing Options puis sélectionnez l'option P5 I2C et activez la.
Il reste alors quelques commandes à effectuer, qui sont détaillées dans ce tutoriel. Chez moi, tout s'est déroulé normalement.

#2 Le capteur IMU GY-801

Pour faire fonctionner le capteur vous aurez besoin de relier les pins suivants au ports GPIO correspondant sur le Raspberry :

  • VCC_IN : GPIO pin 1, 3.3V
  • GND : GPIO pin 6, Ground
  • SCL : GPIO pin 5, I2C serial clock (SCL)
  • SDA : GPIO pin 3, I2C serial data (SDA)

Pour récupérer la température, la pression et l'altitude, j'utilise la librairie d'Adafruit Python_BMP.

Pour récupérer les données de l'accéléromètre à 3 axes, c'est aussi une librairie d'Adafruit : Python ADXL345.

Chacune de ces librairies possède un dossier /examples, pour pouvoir lire les valeurs de base.

Ici une capture des valeurs de la librairie ADXL345 :

Voilà pour ce tutoriel, j'espère qu'il vous aura éclairé dans vos recherches :)