Se coucher tard nuit
  1. Vous êtes ici :  
  2. Accueil
  3. Uncategorised

Uncategorised

Formation sur l'électronique (ADESFA)

Détails
Clics : 2358

Bienvenue dans le module de cours sur les bases de l'électronique, autour des microcontrôleurs

1ère séance: Mardi 31 octobre

Il s'agit de la présentation sur la commande d'actionneurs avec les cartes à microcontrôleurs. Cette séance s'est passée en présentiel à l'ENIT

Le document de cours est ici

 

 

ADESFA

Détails
Clics : 94722

Kamal:

Cours

TP1

TP2

Olivier:

Bienvenue sur cette page consacrée à l'ADESFA (Appui au développement de l’enseignement supérieur français en Afrique) et la formation qui me concerne autour des microcontrôleurs et les bases de l'électronique et également la formation autour du langage Python

Formation sur l'électronique (ADESFA)

Formation Python (ADESFA)

SEE3

Détails
Clics : 2359

C++ & POO:

Programmation Orientée Objet (POO) & C++

1er cours

2nd cours

3ème cours

4ème cours: les pointeurs

5ème cours: Rappels, le pointeur this, les getters et setters

Algorithmie:

Cours 1: les exercices

Cours 2: quelques algorithmes de tri

Cours 3: les arbres

La récursivité: le calcul du factoriel

 

Algo 1:

Exercice : La recette du parfait cuisinier

Contexte : Vous dirigez un club de cuisiniers à votre école d'ingénieurs. Vous décidez de créer un programme pour aider les membres à choisir une recette en fonction des ingrédients qu'ils ont.

Partie 1 - Stockage des recettes :

  1. Créez une structure de données pour stocker plusieurs recettes. Chaque recette doit avoir un nom, une liste d'ingrédients nécessaires et une courte description. Par exemple :
    python
    { "nom": "Spaghetti Carbonara",
    "ingredients": ["spaghetti", "oeufs", "lardons", "parmesan"],
    "description": "Un plat italien délicieux avec des pâtes, des œufs, des lardons et du parmesan!" }

Partie 2 - Sélection d'une recette :

  1. Écrivez une fonction recette_disponible() qui prend en entrée une liste d'ingrédients disponibles et retourne toutes les recettes que l'on peut réaliser avec ces ingrédients. Par exemple :
    python
    recette_disponible(["spaghetti", "oeufs", "lardons", "parmesan", "tomate"])
    Cette fonction pourrait retourner la recette du "Spaghetti Carbonara".

Partie 3 - Bonus :

  1. Étendez votre programme pour qu'il puisse suggérer des recettes même si certains ingrédients manquent, mais indiquez combien et lesquels manquent. Cela aidera vos amis cuisiniers à savoir s'ils sont proches de pouvoir cuisiner un plat ou s'ils doivent se rendre au magasin.

Tests :

  • Ajoutez au moins 3 recettes dans votre structure de données.
  • Testez votre fonction avec différentes combinaisons d'ingrédients pour vous assurer qu'elle fonctionne correctement.

Conseils :

  • Commencez par créer une structure de données adaptée (par exemple, une liste de dictionnaires).
  • Parcourez chaque recette et comparez ses ingrédients avec ceux disponibles pour déterminer si la recette peut être réalisée.

Bonne cuisine et bon codage!

Cours 2: Mercredi 25 octobre: le cours est ici

Le programme:

#include <iostream>
using namespace std;

// Fonction récursive pour calculer le n-ième terme de la suite de Fibonacci
int fibonacci(int n) {
    if (n <= 1) {
        return n;
    }
    return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
    int n;
    cout << "Entrez le rang du terme de la suite de Fibonacci que vous souhaitez obtenir: ";
    cin >> n;
    if (n < 0) {
        cout << "Veuillez entrer un nombre positif." << endl;
    } else {
        cout << "Le terme de rang " << n << " de la suite de Fibonacci est: " << fibonacci(n) << endl;
    }
    return 0;
}

SNPI3 - Réseaux & Python

Détails
Clics : 4138

Réseau:

Cours 1

Cours 2

Cours 3 - IPv6

TD IPv6

TP2

TP3

IE1

IE1 bis

lien TinkerCAD

TP1 - Linux

Python:

Cours magistral 1

Vidéo 1 & Vidéo 2 pour le cours magistral 1

Cours magistral 2

Vidéo 1 & Vidéo 2 pour le cours magistral 2

Cours magistral 3

Vidéo 1 & Vidéo 2 & Vidéo 3 & Vidéo 4 pour le cours magistral 3

Cours magistral 4

Les dictionnaires

Réseau 2 - le projet

Sujet de Projet : Système de Surveillance Environnementale Connecté pour une Maison Intelligente

Description du Projet :

Ce projet consiste à concevoir et réaliser un système de surveillance environnementale pour une maison intelligente. Le système utilisera les différents composants que vous avez mentionnés pour collecter des données et contrôler des éléments à distance via le protocole MQTT.

Fonctionnalités possibles :

  • Surveillance de la température :
    • Utiliser des capteurs LM35 (pour des mesures locales précises) et DS18B20+ (pour des mesures plus robustes et potentiellement à distance) pour surveiller la température dans différentes pièces de la maison ou à l'extérieur.
    • Publier les données de température sur des topics MQTT spécifiques.
  • Indication d'état via boutons poussoirs :
    • Utiliser des boutons poussoirs pour signaler des événements (par exemple, "porte ouverte", "présence détectée manuellement").
    • Publier l'état des boutons sur des topics MQTT.
  • Contrôle d'appareils via relais :
    • Utiliser une carte à relais pour contrôler des appareils électriques (portail automatique, pompes, etc.) à distance.
    • S'abonner à des topics MQTT pour recevoir des commandes d'activation/désactivation des relais.
  • Surveillance du vent (direction et vitesse) :
    • Utiliser les capteurs fournis (girouette et anémomètre) pour mesurer les informations météorologiques extérieures.
    • Publier les données de température sur des topics MQTT spécifiques.
  • Affichage d'informations locales :
    • Utiliser un afficheur LCD i2c pour afficher en temps réel les températures, l'état des boutons, ou l'état des relais.
    • S'abonner à des topics MQTT pour afficher les informations pertinentes.
  • Surveillance vidéo de base :
    • Intégrer une ou plusieurs caméras USB pour capturer des images ou des flux vidéo.
    • Publier des images (à intervalles réguliers ou sur événement) ou des liens vers des flux vidéo sur des topics MQTT spécifiques.
  • Interface utilisateur (optionnelle mais recommandée) :
    • Développer une interface utilisateur (web, application mobile) qui se connecte au broker MQTT pour visualiser les données des capteurs, contrôler les relais et afficher les flux vidéo.

Intérêt de ce projet:

  • Il est pertinent pour une application de maison intelligente: Réseau TCP/IP, bus i2c, bus 1-wire.
  • Proposez des possibilités d'extension (alertes, historique des données, automatisation plus complexe).
  • Il permet d'apprendre les bases de l'IoT et du protocole MQTT de manière pratique.

Documents et Ressources Utiles :

Voici une liste de ressources qui vous seront utiles pour chaque composant et pour l'ensemble du projet MQTT :

Général MQTT :

  • Le site officiel de MQTT : https://mqtt.org/ - La référence pour tout comprendre sur MQTT.
  • Tutoriels MQTT : Recherchez des tutoriels sur des plateformes comme YouTube, Instructables, et des blogs spécialisés en électronique et IoT.
  • Brokers MQTT :
    • Mosquitto : Un broker MQTT open-source très populaire et facile à installer. https://mosquitto.org/
    • CloudMQTT (HiveMQ Cloud) : Un service de broker MQTT hébergé dans le cloud, souvent avec un plan gratuit pour commencer. https://www.hivemq.com/cloud/
  • Clients MQTT (pour interagir avec le broker) :
    • mosquitto_pub et mosquitto_sub : Outils en ligne de commande pour publier et s'abonner à des topics MQTT (inclus avec Mosquitto).
    • MQTT Explorer : Une interface graphique pour visualiser les topics et les messages MQTT. http://mqtt-explorer.com/
    • Paho MQTT : Une librairie cliente MQTT open-source disponible dans plusieurs langages (Python, Java, C, etc.). https://www.eclipse.org/paho/

Capteur de température LM35 :

  • Fiche technique (datasheet) du LM35 : Recherchez "LM35 datasheet" sur Google. C'est le document de référence pour comprendre le fonctionnement et les caractéristiques du capteur.
  • Tutoriels LM35 avec Arduino ou Raspberry Pi : De nombreux tutoriels en ligne expliquent comment connecter et lire les données du LM35 avec différentes plateformes de microcontrôleurs.

Capteur de température DS18B20+ :

  • Fiche technique (datasheet) du DS18B20+ : Recherchez "DS18B20+ datasheet". Ce capteur utilise le protocole 1-Wire.
  • Librairies pour DS18B20+ : Des librairies existent pour Arduino (OneWire, DallasTemperature) et Raspberry Pi (w1thermsensor) pour faciliter la lecture des données.
  • Tutoriels DS18B20+ avec Arduino ou Raspberry Pi : Nombreux exemples disponibles en ligne.

Boutons Poussoirs :

  • Principes de base des boutons poussoirs : Comprendre comment ils fonctionnent (normalement ouvert/fermé).
  • Tutoriels de connexion avec des microcontrôleurs : Apprendre à gérer les états des boutons (pull-up/pull-down resistors, anti-rebond).

Carte à Relais :

  • Fonctionnement des relais : Comprendre comment ils permettent de contrôler des circuits de puissance avec un signal de faible puissance.
  • Précautions de sécurité avec les circuits de puissance : Il est crucial de bien comprendre les risques liés à la manipulation de tensions secteur et de prendre toutes les précautions nécessaires.
  • Tutoriels de contrôle de relais avec des microcontrôleurs : Apprendre à activer et désactiver les relais via des signaux numériques.

Afficheur LCD i2c :

  • Fonctionnement du protocole I2C : Comprendre comment communiquer avec l'afficheur via les broches SDA et SCL.
  • Librairies pour LCD i2c : Des librairies existent pour Arduino (LiquidCrystal_I2C) et Raspberry Pi (python-smbus, RPLCD) pour simplifier l'affichage de texte.
  • Tutoriels d'utilisation des LCD i2c : De nombreux exemples montrent comment afficher du texte et des variables.

Caméras USB :

  • Pilotage de caméras USB sur Raspberry Pi (souvent utilisé pour ce type de projet) :
    • fswebcam : Un utilitaire en ligne de commande pour capturer des images.
    • mjpg-streamer : Pour diffuser un flux vidéo sur un réseau.
    • Librairies Python (OpenCV, Pygame) : Pour un contrôle plus avancé et le traitement d'images.
  • Publication d'images sur MQTT : Vous devrez encoder les images (par exemple en base64) pour les publier sous forme de texte sur un topic MQTT.
  • Streaming vidéo via MQTT (plus complexe) : Cela peut impliquer la publication de trames vidéo individuelles ou de liens vers un flux.

Plateformes de Développement (Microcontrôleurs) :

  • Arduino : Facile à prendre en main, large communauté, nombreuses librairies disponibles. Idéal pour commencer avec les capteurs, les boutons et les relais.
  • Raspberry Pi : Plus puissant, capable de gérer la caméra USB plus facilement et de faire tourner un broker MQTT ou une interface utilisateur. Peut également interagir avec les capteurs et les actionneurs.
  • ESP32/ESP8266 : Microcontrôleurs avec Wi-Fi intégré, très adaptés aux projets IoT et à la communication MQTT directe.

Conseils pour démarrer :

  1. Commencez petit : Testez chaque composant individuellement (lire la température, contrôler un relais, afficher du texte sur l'écran) avant de les intégrer dans le projet MQTT.
  2. Vérifiez et validez toutes les fonctions 1 par 1 de votre projet: 1 séance de 4 heures
  3. Choisissez votre plateforme de développement : Arduino/ESP32 et Raspberry Pi sont de bons choix pour débuter. Vous pouvez même les combiner (Arduino pour les interactions temps réel avec les capteurs/actionneurs, Raspberry Pi pour le broker MQTT et la caméra).
  4. Planifiez vos topics MQTT : Définissez une structure claire pour vos topics (par exemple, maison/temperature/salon, maison/bouton/entree, maison/relais/lumiere).
  5. Testez vos topics MQTT: 1 séance de 4 heures
  6. Documentez votre code et vos branchements : C'est essentiel pour vous y retrouver et pour le débogage.
  7. évaluation:
    1. Oscillogrammes i2c, LM35, carte à relais, boutons poussoirs, 1-wire, .... avec des explications
    2. Vos schémas
    3. Vos programmes commentés (en python et parfois, C++ et autres langages)
    4. Votre fiche de cours: MQTT, web, capteurs, afficheurs, flux vidéo
  8. Durée du projet: 3 ou 4 séances de 4 heures

SNPI4 - Réseaux 3

Détails
Clics : 2118

TP1 suite récurrentes

TP1

TP2 détection faciale

TP2: voici le lien de ce TP/projet au format .pdf et ici pour l'avoir au format .odt

TP3 reconnaissance faciale

Lien TP3 Machine Learning: le compte-rendu de ce TP est un tutoriel explicatif de "comment fonctionne le prog?", "comment faire fonctionner le programme pour les nuls?" -> Vidéos possibles (moins de 10 minutes)

TP4 Machine Learning (72 pages):

TP - Machine Learning - Regressions avec le fichier data.csv

travaux à rendre:

-> TD1 Régression et le fichier csv (données consommations) pour la fin du TD1 (pour lundi 29 septembre) à mon mail en pdf.

-> TP2 "Détection faciale" (pour lundi 29 septembre) à mon mail en pdf.

-> Projet "reconnaissance d'images et caractères avec IA" sur le GIT à rendre pour le 23 novembre

 

Base de données:

SQLite portable (à tester)

Le diaporama sur les BDD + Sujet du TP + BDD Simpsons

 

  1. Introduction
  2. Formation Python (ADESFA)

Page 3 sur 3

  • 1
  • 2
  • 3

Menu

  • Introduction
  • ADESFA
  • Linux
  • RoboCamp
  • ROS2
  • SEE
    • SEE3
    • SEE4
  • MT
    • MT3 - Cours & TD
    • Projets MT3
    • MT4
    • MT5
  • SNPI
    • SNPI3
    • SNPI4
    • SNPI5
  • ROS1
    • Projets (ROS1)
    • Projet Sabertooth 2x12
    • AX12
    • Calibrage ESC
  • AR3
  • Les dictionnaires en Python

Login Form

  • Mot de passe perdu ?
  • Identifiant perdu ?