This commit is contained in:
2023-06-10 20:23:22 +02:00
parent c3a93c6365
commit ffd3e1729c

View File

@@ -1,4 +1,4 @@
# Mini réseau d'objets connectées # Mini réseau d'objets connectés
<img src="./Images/iot-logo.png" align="right" width="50"> <img src="./Images/iot-logo.png" align="right" width="50">
Projet Universitaire, ayant pour but de créer un mini réseaux d'objets connectées. Projet Universitaire, ayant pour but de créer un mini réseaux d'objets connectées.
@@ -179,12 +179,97 @@ en temps réel et de stocker les données pour une analyse ultérieure.
Pour vous donner une idée de notre flux final sur Node-RED, voici une image de notre flow Pour vous donner une idée de notre flux final sur Node-RED, voici une image de notre flow
final : final :
<img src="./Images/flow-nodered.png" width="500">
Une fois tous les services installés et configurés, nous avons connecté le Raspberry PI au
réseau de la box ”PT4ObjConnect” en utilisant la commande
```Bash
sudo dietpi-config
```
Et en spécifiant le mot de passe ”Admin2022”. Pour cela utiliser la commande
```Bash
sudo dietpi-config
```
Puis aller dans ”Network Options” :
<img src="./Images/dietpi-config.png" width="500">
Ensuite choisir loption :
```Bash
WiFi : Available | [On] | Connected
```
Puis mettre ladresse IP en DHCP avec loption ”Change mode” afin que le RPI se connecte
au réseau automatiquement.
### Programmation des ESP32
Nous avions à notre disposition deux ESP32, lun faisant tourner des programmes en Micropython à laide de lIDE Thonny et lautre faisant tourner des programmes en C à laide
de lIDE Arduino.
Limage ci-dessous montre les différents pins des deux ESP32 utilisés dans ce projet. Il est
important de noter que certains des pins indiqués sur cette image ne correspondent pas exactement à leur emplacement réel sur le module ESP32 utilisé dans ce projet. Cependant, cette image fournit une vue densemble des fonctions des différents pins et permet
de comprendre comment ils ont été utilisés dans notre projet.
<img src="./Images/shema-esp32.jpg" width="500">
#### ESP32 Micropython
Sur lESP32 sous Micropython, nous avons utilisé les capteurs BME680, Oled, Servo
FS90R ainsi quune LED. Nous avons utilisé lIDE Thonny pour écrire et téléverser les
codes sur lESP32. Pour configurer Thonny afin dutiliser MicroPython sur lESP32, nous
avons suivi les étapes suivantes :
- Aller dans le menu Outils > Options > Interpréteur
- Sélectionner MicroPython (ESP32)
Avant de pouvoir téléverser nos codes sur lESP32, il a fallu installer le firmware. Pour ce
faire, nous avons utilisé les étapes suivantes :
- Sélectionner le port série connecté à lESP32
- Sélectionner le firmware approprié (dans notre cas, esp32-idf3-20191220-v1.12.bin)
- Cliquer sur installer pour téléverser le firmware sur lESP32
Une fois ces étapes effectuées, nous étions prêts à écrire et à téléverser notre code sur
lESP32.
Limage ci-dessous est un schéma qui montre comment les différents composants utilisés
dans le projet ont été connectés à lESP32 ([fichier .fzz](fritzing/micropython.fzz)). On peut voir sur limage comment les broches de lESP32 sont connectées aux broches des différents capteurs pour établir les communications I2C. Cette image donne une vue densemble visuelle de la configuration des différents composants.
<img src="./Images/micropython.png" width="500">
Le tableau suivant montre les connections des différents capteurs (BME280, LED, OLED
et Servo FS90R) sur lESP32. Les broches GND et 3.3 V sont connectées respectivement
aux broches GND et VCC des capteurs. Les broches SCL et SDA (GPIO22 et GPIO21) sont
connectées respectivement aux broches SCL et SDA des capteurs pour la communication
I2C. La broche GPIO14 est connectée à lanode (+) de la LED. La broche VIN (5V) est
connectée à la source dalimentation. La broche RX2 (GPIO16) est connectée entre S et
G pour le servo moteur.
| ESP32 | BME680 | LED | Oled | Servo FS90R |
|--------------|--------|-------------|-------------|-------------|
| GND | GND | Cathode (-) | GND | G |
| 3.3V | VCC | X | VCC | X |
| SCL (GPIO22) | SCL | X | SCL | X |
| SDA (GPIO21) | SDA | X | SDA | X |
| GPIO14 | X | Anode (+) | X | X |
| VIN (5V) | X | X | X | entre S et G |
| RX2 (GPIO16) | X | X | X | S |
Codes utilisés pour programmer lESP32 en utilisant Thonny (MicroPython) :
Boot : [boot.py](ESP-codes/MicroPython/boot.py)
Librairies :
- [bme680.py](ESP-codes/MicroPython/bme680.py)
- [ssd1306.py](ESP-codes/MicroPython/ssd1306.py)
Main : [main.py](ESP-codes/MicroPython/main.py)