Skip to content

cchanche/esp32iot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Projet IoT 3A IBDIoT

CHANCHEVRIER KANANE BRANTHONNE EGRETEAU BOURY

A propos du projet

L'idée principale de ce projet était d'utiliser un microcontrôleur ESP32 pour l'envoi de mails. Pour la construction du code, nous avons utilisé le code source constructeur.

Client mail

L'objectif était, tout d'abord, de construire un mail de toute pièce, c'est-à-dire spécifier un ou plusieurs destinataires, un objet, le contenu textuel ainsi qu'une ou des pièces jointes à partir d'un script C++. Par la suite, le microcontrôleur, connecté en WIFI au point d'accès d'un de nos smartphones, pouvait se connecter auprès du serveur SMTP de gmail et donc envoyer ce précédent mail en tant que client mail.

Serveur Web

A la suite de cela, nous avons décidé d'ajouter une certaine flexibilité au corps du mail que l'on envoyait. En effet, l'idée était de laisser le choix à l'utilisateur du corps du mail. Pour cela, nous avons utilisé notre carte ESP32 en tant que serveur web. Chaque requête de l'utilisateur vers notre carte ESP32 (à l'aide d'un quelconque navigateur) engendrait une réponse contenant une page web simple permettant de remplir les différentes parties du mail (citées précédemment). Par la suite, notre serveur web "ESP32" pouvait récupérer et envoyer le mail de la même manière que dans la partie précédente.

Communication LoRa

Pour finir, la dernière fonctionnalité implémentée sur notre microcontrôleur ESP32 était la communication pair-à-pair à l'aide du protocole LoRaWAN avec un autre microcontrôleur du même type. L'objectif était, ici, de se placer dans un cas d'utilisation où notre microcontrôleur se trouverait en extérieur ou du moins dans une zone non couverte par le WIFI et qu'il voudrait envoyer un signal/une alerte par mail (d'où l'utilisation d'un protocole longue distance tel que LoRaWAN).

On a donc mis en place cette communication entre les deux microcontrôleurs, puis, implanté le tout sur le serveur web.


Logo
Exemple avec capteur d'humidité

Résultats

Voici donc l'interface web finale. On peut voire, à gauche, les informations concernant le capteur. Le RSSI correspond à l'atténuation du signal LoRa et permet d'évaluer la bonne transmission des paquets.

La partie centrale permet de rédiger et d'envoyer un mail à n'importe qui.

Et la partie droite met en évidence notre inspiration principale pour le projet.


Logo
Interface Web du receveur

Pour aller plus loin : capteurs et applications

Malheureusement, nous n'avons pas eu l'occasion d'implanter la lecture d'un véritable capteur. Le projet peut donc servir de point de départ pour quelqu'un qui souhaite implanter de l'IoT dans un cas d'utilisation quelconque.

On peut par exemple imaginer :

  • Capteur de température
  • Capteur d'humidité
  • Accéléromètre / Gyroscope
  • Capteur de lumière
  • etc...

Cloner le projet

Prérequis

Installation

  1. Télécharger et installer VS Code
  2. Installer l'extension Platform.io
  3. Cloner le projet avec git
  4. Importer le projet dans Platform.io
  5. Téléverser le code sur l'emmetteur en changeant dans /src/board_def.h
#define LORA_SENDER 1
  1. Téléverser le code sur le serveur en changeant dans /src/board_def.h
#define LORA_SENDER 0

About

ESP32 project for ENSEEIHT

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published