Logo ÉTS
Session
Cours
Responsable(s) Tony Wong

Se connecter
 

École de technologie supérieure
Département de génie des systèmes
Responsable(s) de cours : Tony Wong


PLAN DE COURS

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



Préalables
Programme(s) : 7485
             
  Profils(s) : Tous profils  
             
    GPA434    
             
Unités d'agrément
Données non disponibles




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; intégrer des modules de mise en forme du signal, d’acquisition et transferts de données; appliquer des techniques de traitement prédictif aux données enregistrées; 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; Le contrôle des opérations par sketch, python et la technologie orientée-objet; Les techniques d’accès aux services infonuagiques à l’aide des protocoles de données : REST et MQTT. L’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 IoT (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 IoT;
  • 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 Mardi 18:00 - 21:30 Activité de cours
Jeudi 18:00 - 22:00 Laboratoire



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



Cours
Cours Sujets traités Heures

(1)

7 jan.

Objets connectés
  • Concepts;
  • Techniques.

Présentation et démonstration du projet à réaliser

3

(2)

14 jan.

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

Capteurs

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

(3)

21 jan.

Conception OO sous Arduino (I)
  • Classes et objets;
  • Programmation embarquée;
  • Développeurs versus utilisateurs;
  • Étapes de conception.
3

(4)

28 jan.

Conception OO sous Arduino (II)
  • Design selon le point de vue développeur;
  • Conception utilisant le sous-système ADC;
  • Conception utilisant le capteur de niveau sonore.
3

(5)

04 fév.

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

(6)

11 fév.

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

Développement à l'aide de Visual Studio Code

 

3

(7)

18 fév.

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

(8)

25 fév.

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

Services infonuatiques ThingSpeak

 

3

 (9)

04 mars

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)

11 mars

Analyse des signaux temporels
  • Processus stationnaire  et hypothèse d'ergodicité;
  • Autocorrélation et corrélation croisée;
  • Modèles AR, MA, ARMA et ARIMA;
  • Méthodes classiques de prévision.
3

(11)

18 mars

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

Anaconda pour l'apprentissage automatique

 

3

(12)

25 mars

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

(13)

01 avr.

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 modules d’acquisition des signaux, microcontrôleur Arduino, système Raspberry PI et services infonuagiques ThinkSpeak. 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;
  • Storage SD et Caméra numérique;
  • Capteurs analogiques et numériques;
  • C/C++, Python 3, Visual Studio Code.



Évaluation
Activité Description %
Projet 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. 45
Quiz Quatre (4) quiz 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
• Pour les départements à l'exception du SEG :
Dans les cinq (5) jours ouvrables suivant 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. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. 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 ou autre) à un examen entraînera l’attribution de la note zéro (0).

• Pour SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence auprès de son enseignant. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. 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 ou autre) à un examen entraînera l’attribution de la note zéro (0).



Plagiat et fraude
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/A-propos/Direction/Politiques-reglements/Infractions_nature_academique.pdf ) 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
  • Documentation disponible sur le site Moodle du cours



Ouvrages de références

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