# Partie VII

## **<span style="color: rgb(55, 190, 140);">Présentation de la sonde BMP280</span>**

Le **BMP280** est un petit capteur environnemental, capable de mesurer :

- La **pression atmosphérique** (en hPa)
- La **température de l'air** (en °C)

C’est un capteur léger, peu gourmand en énergie et parfaitement adapté aux stations météo autonomes.

### <span style="color: rgb(115, 100, 100);">Câblage du BMP280 sur le Raspberry Pi</span>

Le BMP280 communique avec le Raspberry Pi via le **protocole I2C**, qui utilise **2 fils de données**, plus l'alimentation et la masse.

<table border="1" id="bkmrk-broche-bmp280" style="border-collapse: collapse; width: 100%; height: 149px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><thead><tr style="height: 29.8px;"><td class="align-center" style="height: 29.8px;">Broche BMP280</td><td class="align-center" style="height: 29.8px;">Broche Raspberry PI</td><td class="align-center" style="height: 29.8px;">Rôle</td></tr></thead><tbody><tr style="height: 29.8px;"><td>VCC

</td><td>Broche 17 (3.3V)</td><td>Alimentation</td></tr><tr style="height: 29.8px;"><td>GND</td><td>Broche 9 (GND)</td><td>Masse</td></tr><tr style="height: 29.8px;"><td>SCL</td><td>Broche 5 (GPIO3)</td><td>Horloge (Clock)</td></tr><tr style="height: 29.8px;"><td>SDA</td><td>Broche 3 (GPIO2)</td><td>Données (Data)</td></tr></tbody></table>

### <span style="color: rgb(115, 100, 100);">Activation du protocole I2C sur le Raspberry Pi</span>

Le protocole I2C est désactivé par défaut sur Raspberry Pi OS. Il faut l’activer manuellement.

**Ouvrir la configuration du Raspberry Pi :**

```bash
sudo raspi-config
```

**[![raspi-config.png](https://doc.arles-linux.org//uploads/images/gallery/2025-08/scaled-1680-/pYzhv5Vk42pLGjHp-raspi-config.png)](https://doc.arles-linux.org//uploads/images/gallery/2025-08/pYzhv5Vk42pLGjHp-raspi-config.png)**

**Aller dans le menu :**

```
3 Interface Options
I2C → Enable
```

[![interface-option.png](https://doc.arles-linux.org//uploads/images/gallery/2025-08/scaled-1680-/GNHBJyYtVCdf4gfT-interface-option.png)](https://doc.arles-linux.org//uploads/images/gallery/2025-08/GNHBJyYtVCdf4gfT-interface-option.png)

**Redémarrer le Raspberry Pi :**

```bash
sudo reboot
```

### <span style="color: rgb(115, 100, 100);">Vérifier si le BMP280 est détecté</span>

Installer les **outils I2C** :

```bash
sudo apt install i2c-tools
```

**Scanner le bus I2C** pour vérifier que le capteur est bien détecté :

```bash
i2cdetect -y 1
```

Exemple de retour :

[![scan-i2c.png](https://doc.arles-linux.org//uploads/images/gallery/2025-08/scaled-1680-/s82PK8rb3GFfOJ5G-scan-i2c.png)](https://doc.arles-linux.org//uploads/images/gallery/2025-08/s82PK8rb3GFfOJ5G-scan-i2c.png)

👉 Ici, on voit bien 76, ce qui indique que le BMP280 est bien détecté.

### <span style="color: rgb(115, 100, 100);">Test de la sonde en mode interactif</span>

Dans votre **environnement virtuel Python**, commencer par installer la **bibliothèque pour la sonde BMP280** :

```bash
 pip3 install adafruit-circuitpython-bmp280
```

Test en mode interactif :

```python
python3
 
import board
import busio
import adafruit_bmp280

i2c = busio.I2C(board.SCL, board.SDA)
bm280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address=0x76)

print(bme280.pressure)
print(bme280.temperature)
```

Si le scan de votre bus i2c à donné 77 comme résultat, remplacer address=0x76 par address=0x77