Uncategorised
SNPI3 - Réseaux & Python
- Détails
- Clics : 4005
Réseau:
lien TinkerCAD
Python:
Vidéo 1 & Vidéo 2 pour le cours magistral 1
Vidéo 1 & Vidéo 2 pour le cours magistral 2
Vidéo 1 & Vidéo 2 & Vidéo 3 & Vidéo 4 pour le cours magistral 3
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
etmosquitto_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 :
- 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.
- Vérifiez et validez toutes les fonctions 1 par 1 de votre projet: 1 séance de 4 heures
- 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).
- Planifiez vos topics MQTT : Définissez une structure claire pour vos topics (par exemple,
maison/temperature/salon
,maison/bouton/entree
,maison/relais/lumiere
). - Testez vos topics MQTT: 1 séance de 4 heures
- Documentez votre code et vos branchements : C'est essentiel pour vous y retrouver et pour le débogage.
- évaluation:
- Oscillogrammes i2c, LM35, carte à relais, boutons poussoirs, 1-wire, .... avec des explications
- Vos schémas
- Vos programmes commentés (en python et parfois, C++ et autres langages)
- Votre fiche de cours: MQTT, web, capteurs, afficheurs, flux vidéo
- Durée du projet: 3 ou 4 séances de 4 heures
SNPI4 - Réseaux 3
- Détails
- Clics : 2011
TP1 suite récurrentes
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
Introduction
- Détails
- Clics : 1635
Ce site est un site personnel dans lequel, je dépose quelques documents qui me sont utiles et que je partage
Le nom du site est une citation de Raymond Devos: voici son sketch et sa biographie
Olivier Snoeck

Formation Python (ADESFA)
- Détails
- Clics : 4882
Bienvenue dans le module de cours sur la programmation Python
1ère séance: Vendredi 13 octobre
Il s'agit de la présentation de python et d'1 exemple. J'ai proposé quelques exercices que l'on corrigera le 20 octobre
Le document de cours ici (Cours magistral 1)
La vidéo du cours ici
La vidéo du cours avec les collègues ici
2nde séance: Vendredi 20 octobre
Correction des exercices ici avec une introduction sur l'utilisation des listes et de Numpy.
Plus tard: Présentation des tableaux, tuples et tableaux de tableaux
3ème séance: Jeudi 2 novembre à Tunis (ENIT) - Les listes et Tkinter
Voici le sujet du TP sur Tkinter ici et ensuite, pour le projet, le fichier des collègues a été envoyé par mail.
La vidéo d'une méthode de travail rapide est là
Le programme est ici
Le fichier SNPI3.csv peut être créé avec le nom dans la 1ère colonne et le prénom dans la 2nde colonne
4ème séance: Mardi 26 mars
Echange autour du TP Tkinter
5ème séance: Vendredi 29 mars
Vidéo 1 & Vidéo 2 pour le cours magistral 2
6ème séance:
Vidéo 1 & Vidéo 2 & Vidéo 3 & Vidéo 4 pour le cours magistral 3
7ème séance: