wiki:IOC_mode_projet

Version 4 (modified by franck, 14 months ago) (diff)

--

Projet IOC

Présentation générale

Pour la fin de ce module, vous allez faire en sorte d'accéder aux modules ESP32 en lecture et, si possible, en écriture depuis un navigateur WEB. Ce que j'attends c'est un système minimal, mais si vous êtes intéressé, vous pouvez complexifier chaque élément du système. Vous ne serez pas pénalisé si vous faites le minimum, mais si vous faites plus, vous aurez un bonus :-)

Votre plateforme matérielle se compose de:

  • 1 ou 2 modules ESP32 sur lesquels vous avez comme capteur une photorésistance et 2 boutons-poussoirs (1 sur le module, 1 sur la carte), et comme "actionneurs" un écran, une led et, pour certains, un buzzer.
  • Une raspberry pi 3.

Sur la raspberry pi 3, vous devez créer:

  • 1 serveur HTTP pour répondre au client navigateur WEB et récupérer les valeurs des capteurs ou envoyer des commandes sur les actionneurs.
    • Vous pouvez utiliser le serveur HTTP en Python déjà vu, ou un autre serveur tel qu'Appache avec un serveur en PHP ou un framework tel que Django.
  • 1 application gateway qui fait le lien entre le serveur HTTP et les capteurs.
    Cette application est composée de:
    • un client MQTT qui récupère des data (par subscribe) ou émet des commandes (par publish) aux clients MQTT présents sur les ESP32.
    • un broker MQTT qui assure le "routage" des messages entre les clients
    • une "base de données" qui enregistre les valeurs envoyées par les ESP32.
      Cette base de données peut être un simple fichier contenant seulement la dernière valeur envoyée par une ESP32 (donc il peut y avoir autant de fichiers que d'ESP32) ou être une vraie base de données telle que sqlite-3. Ce choix dépend du temps que vous voulez consacrer et de vos compétences initiales dans ce domaine.

Sur les ESP32, vous devez créer:

  • Un client MQTT qui "publish" et si possible "subscribe" des messages destinés ou provenant du client MQTT s'exécutant sur la raspberrypi 3.
  • Des taches qui interfacent les capteurs et les actionneurs

Étapes proposées

Pour faire fonctionner l'ensemble du système, vous devez procéder par étapes. Vous pouvez faire vos choix ou changer l'ordre des étapes, mais voici ce que je vous propose:

  • Créer l'application ESP32