Logo ÉTS
Session
Cours
Responsable(s) Tony Wong

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Tony Wong


PLAN DE COURS

Automne 2021
GPA788 : Conception et intégration des objets connectés (3 crédits)





Préalables
Programme(s) : 7485,7885
             
  Profils(s) : Tous profils  
             
    GPA434    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 66,7 % 33,3 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

À la fin de ce cours, l’étudiant sera en mesure :

  • de concevoir des systèmes constitués d’éléments physiques connectés à des services infonuagiques;
  • d'intégrer des modules de mise en forme du signal, d’acquisition et transferts de données;
  • d'appliquer des techniques de traitement prédictif aux données enregistrées;
  • de générer des indicateurs de performance et des tableaux de bord.

Microcontrôleur open source Arduino : caractéristiques matérielles et méthode d’échantillonnage. Système sur une puce Raspberry PI : techniques d’interfaçage, gestion des signaux d’interruption et d’entrée/sortie; contrôle des opérations par sketch, python et la technologie orientée-objet; techniques d’accès aux services infonuagiques à l’aide des protocoles de données : REST et MQTT. Application des méthodes prédictives dans le traitement des données : partitionnement, classification et estimation.

Séances de laboratoire : oeuvrer, au sein d’une équipe, dans des projets de conception, realization et implantation intégrant modules d’acquisition des signaux, microcontrôleur Arduino, système Raspberry PI et services infonuagiques ThinkSpeak de MATLAB; application et comparaison des méthodes prédictives dans le forage des données.




Objectifs du cours

Les séances de cours et de laboratoire seront dédiées à la réalisation du projet de session. Cette approche permettra aux étudiants d’apprendre et d’appliquer les étapes de conception dans la réalisation des systèmes d'objets connectés. Plus spécifiquement, au terme de ce cours, les étudiants devront être capables :

  • De reconnaître les éléments d’un système IIoT (Internet industriel des objets);
  • De réaliser les interconnexions matérielles et logicielles;
  • D’adapter des techniques du domaine des systèmes embarqués;
  • De concevoir des objets connectés selon le paradigme orienté-objet;
  • D’interagir avec des services infonuagiques;
  • D’implanter des solutions utilisant l’apprentissage automatique.



Stratégies pédagogiques

39           heures de cours

24           heures de laboratoires

3 heures de travail personnel par semaine

 

La lecture des notes de cours est obligatoire pour la réussite de ce cours.

 

Trois (3) heures de cours par semaine. Les séances de cours sont des moments privilégiés pour présenter et expérimenter différentes techniques de conception. Les difficultés rencontrées et les approches de contournement seront discutées afin d’identifier les solutions les plus efficientes.

 

Deux (2) heures de laboratoire par semaine serviront à poursuivre l’expérimentation et l’application des techniques de conception. Les solutions identifiées en classe seront déployées. Les résultats obtenus seront analysés et discutés.

 




Utilisation d’appareils électroniques

Pas d'enregistrement audio/vidéo sans autorisation de l'enseignant.




Horaire
Groupe Jour Heure Activité
01 Jeudi 08:30 - 12:00 Activité de cours
Jeudi 13:30 - 15:30 Laboratoire



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Tony Wong Activité de cours Tony.Wong@etsmtl.ca A-3633
01 Tony Wong Laboratoire Tony.Wong@etsmtl.ca A-3633



Cours
Séance Sujets traités Heures

(1)

Objets connectés
  • Mise en contexte;
  • Processus industriels et modèles;
  • Sécurité.

Présentation du projet à réaliser

 

3

(2)

Modules μContrôleur
  • Matétiel d'Arduino;
  • IDE d'Arduino.

Capteurs

  • Température et humidité;
  • Niveau sonore;
  • Tension à CC;
  • Images. 

Extension Arduino pour Visual Studio Code

 

3

(3)

Conception OO sous Arduino (I)
  • Éléments de programmation embarquée;
  • Interruptions matérielles;
  • Étapes de conception.
3

(4)

Conception OO sous Arduino (II)
  • Gestion des interruptions;
  • Conception utilisant le sous-système ADC;
  • Conception utilisant le capteur de niveau sonore.
3

(5)

Réalisation de l'environnement du coordonnateur
  • Survol de Raspberry Pi;
  • Installation du Raspbian;
  • Accès au Pi par le laptop.
3

(6)

Développement de programmes Python sur Pi
  • Langage Python;
  • IDLE;
  • Déboggage.

Développement à l'aide de Visual Studio Code

 

3

(7)

Communication I2C (Inter-Integrated Circuit)
  • Principe et techniques;
  • Côté Arduino;
  • Côté Pi.
3

(8)

Style REST (REpresentational State Transfer)
  • Point de vue de l'utilisateur;
  • Contraintes;
  • Programmation.

Services infonuatiques ThingSpeak

 

3

 (9)

Techniques d'objets connectés pour le déploiement
  • Exécution au démarrage;
  • Sleep mode et Watchdog;
  • Exécution périodique;
  • Fils d'exécution.
  3

(10)

Apprentissage automatique: outils et  techniques
  • Anaconda;
  • Keras et Tensorflow;
  • CPU et GPU;
  • RNN et LSTM.
3

(11)

Apprentissage automatique pour signaux temporels (I)
  • Étapes d'application;
  • Mesures de performance;
  • Prédiction de séquences.

Anaconda pour l'apprentissage automatique

 

3

(12)

Apprentissage automatique pour signaux temporels (II)
  • Algorithmes LSTM (Long Short Term Memory);
  • Limitations des LSTM;
  • NumPy et Keras.
3

(13)

Apprentissage automatique pour signaux temporels (III)
  • LSTM;
  • Stacked LSTM;
  • CNN LSTM;
  • Encoder-Decoder LSTM.

Révision pour l'examen final

 

3
  Total 39



Laboratoires et travaux pratiques

Durant les séances de laboratoire, les étudians doivent oeuvrer, au sein d’une équipe, dans un projet de conception, realisation et implantation intégrant le montage électronique, modules d’acquisition des signaux, microcontrôleur Arduino, système Raspberry PI,  services infonuagiques ThinkSpeak et apprentissage automatique. Ils doivent appliquer et comparer des méthodes prédictives dans le traitement des données en langage Python.




Utilisation d'outils d'ingénierie
  • Cartes Arduino et Raspberry Pi;
  • Capteurs analogiques et numériques;
  • C/C++, Python 3, Visual Studio Code;
  • Algorithmes d'apprentissage automatique.



Évaluation
Activité Description %
Projet de session

Conception d'un système d'objets connectés utilisant des cartes électroniques Arduino et Raspberry Pi. Réaliser l'interconnexion I2C et le transfert des données aux services infonuatiques ThinkSpeak. Étudier et implanter l'analyse prédictive des données temporelles à l'aide des réseaux LSTM. (Livrables exigés tout au long du trimestre sous forme d'articles techniques)

45
Quiz Quatre (4) quiz (5% chacun) portant sur les concepts et techniques de conception présentés. 20
Final L'examen final est d’une durée de trois heures avec documentation permise. L’examen final porte sur l’ensemble des matières vues durant le trimestre. 35



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Une pénalité de 10 % par jour sera imposée à tous travaux en retard.




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire
  • Vidéos et notes de cours disponibles sur le site Moodle du cours



Ouvrages de références

Internet Industriel des objets

  • Veneri, G., Capasso, A. (2018). Hands-On Industrial Internet of Things: Create a powerful Industrial IoT infrastructure using Industry 4.0, Packt Publishing, 556 pages, ISBN-13 ? : ? 978-1789537222.

Arduino

  • Steven Barrett, (2009), Embedded System Design with the Atmel AVR Microcontroller: Part I," in Embedded System Design with the Atmel AVR Microcontroller: Part I, Morgan & Claypool.
  • Richard Blum, (2014), Arduino Programming in 24 Hours, Sams Teach Yoursel, Sams Publishing.

Raspberry Pi

  • Derek Malloy, (2016), Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux, Wiley.  
  • Richard Blum, Christine Bresnahan,  (2015), Python Programming for Raspberry Pi, Sams Teach Yourself in 24 Hours, Sams Publishing.

REST et MQTT

  • Gastón Hillar, (2018), Hands-On MQTT Programming with Python: Work with the lightweight IoT protocol in Python, Packt Publishing.
  • Sam Ruby, Leonard Richardson, (2007), RESTful Web Services, O'Reilly.

Apprentissage automatique

  • Aurélien Géron, (2017), Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, O'Reilly.
  • Andreas C. Müller, Sarah Guido, (2016), Introduction to Machine Learning with Python: A Guide for Data Scientists, O'Reilly

D'autres références (en-ligne) sont citées sur le site Moodle du cours.




Adresse internet du site de cours et autres liens utiles

Site Moodle du cours: https://ena.etsmtl.ca/

 




Autres informations

Ne s'applique pas