Simulation en JavaScript

Introduction

Bonjour à tous. Nous sommes Paul Bodin et Romain Taillet, étudiants à Polytech Angers.
Notre projet de deuxième année avait pour but de produire un outil permettant de créer des simulations de lignes de production sur une page web. Pour cela, nous étions encadré par M. Cottenceau et nous avons utilisé le langage informatique JavaScript.

Le projet de deuxième année prend place durant le quatrième semestre de cycle préparatoire. Nous avons une centaine d’heures marquées sur nos emplois du temps qui y sont consacrées.

Pour réaliser ce travail, nous avons donc dû nous organiser pour remplir le cahier des charges de notre projet en temps et en heure.

Une bonne organisation du travail avec ses camarades fait partie de la réussite du projet

Une bonne organisation du travail avec ses camarades fait partie de la réussite d’un projet.

Notre travail

  • Pour commencer, nous avons créé des classes d’objets pouvant représenter des machines que l’on peut retrouver sur des lignes de production en usine.
    • Le séparateur séquentiel est une des machines. Elle sépare les pièces en entrée sur deux convoyeurs en sortie selon une séquence définie en attribut.

      Le séparateur séquentiel est une des machines. Elle sépare les pièces en entrée sur deux convoyeurs en sortie selon une séquence définie en attribut.

      • Ensuite, nous avons défini des attributs pour toutes ces classes et nous avons codé la manière dont elles doivent interagir entre elles.
        • Enfin, nous laissons un outil permettant à l’utilisateur de définir les objets qu’il souhaite mettre dans sa simulation ainsi que leurs attributs. Il pourra également changer de simulation aisément depuis le site.
          • Le bouton de sélection permet de choisir la simulation de notre choix. Nous proposons également deux exemples pour les utilisateurs.

            Le bouton de sélection permet de choisir la simulation de notre choix. Nous proposons également deux exemples pour les utilisateurs.

              Résultats

              Nous pouvons donc vous présenter le résultat de notre projet avec le second exemple créé sur notre site. Il montre toutes les machines que nous avons créé, dans une configuration que nous avons prédéfinie.

                  Toutes les machines et les convoyeurs peuvent être réarrangés pour donner une autre simulation. Nous avons donc respecté notre cahier des charges. Vous pouvez retrouver notre projet ci-joint.

                    Conclusion

                    Le projet nous a permis de développer des qualités nécessaires au métier d’ingénieur telles que l’organisation et la communication. De plus, nous avons pu étudier et améliorer nos connaissances sur un sujet précis durant une centaine d’heure.

                    Le choix du thème du projet se fait parmi une longue liste et la répartition des élèves avec un algorithme de mariage stable. La probabilité que chacun tombe sur un sujet qu’il aime est alors élevé et cela permet de bien mieux s’investir.

                    Pour en savoir plus sur notre projet ou le travail de compte-rendu demandé, regardez notre compte-rendu ci-après.

                      Contrôle d’accès salle 214

                      Bonjour,
                      Je suis étudiant en deuxième année de cycle préparatoire à Polytech Angers. J’ai choisi de travailler sur le projet de contrôle d’accès à la salle 214.

                      Objectif du projet

                      La salle 214 est une salle de Polytech Angers dédiée aux projets. Cette salle contient beaucoup de matériel. Il est donc important de laisser la porte de cette salle fermée lorsque personne n’y travaille.
                      Actuellement, les étudiants qui veulent accéder à la salle 214 doivent demander la clé à l’accueil en échange de leur carte étudiante. Ils peuvent ensuite rapporter cette clé quand ils ont terminé.
                      Le but de mon projet est de simplifier cette démarche en rendant automatique l’ouverture de la porte grâce aux cartes étudiantes.

                      En effet, les cartes étudiantes contiennent une puce RFID. En scannant une carte à l’aide d’un lecteur de cartes, il est possible de récupérer un numéro unique pour chaque carte. Il y avait déjà un ancien système pour ouvrir la porte de la salle 214, mais il fonctionnait avec des badges et n’est plus utilisé. Je réutilise donc ce système pour déclencher l’ouverture de la porte.

                      Le premier ojectif de mon projet est de créer une base de données avec les numéros des cartes étudiantes pour gérer qui a accès à la salle. Un programme relié à cette base de données déclenchera un relais qui laisse passer le courant pour ouvrir la porte de la salle 214. Le second objectif est de créer un site web pour pouvoir contrôler facilement les accès et voir l’historique de toutes les entrées dans la salle.

                      Étapes du projet

                      Pour ce projet, j’ai utilisé deux Raspberry Pi. Une Raspberry Pi est un petit ordinateur de la taille d’une carte bancaire. On peut programmer une Raspberry Pi de la manière qu’on le souhaite. De plus, la Raspberry Pi possède des broches GPIO que l’on peut alimenter avec un programme. J’utilise donc ces broches pour relier la Raspberry Pi au relais qui ouvre la porte.

                      Une Raspberry Pi utilisée durant ce projet.

                      Une Raspberry Pi utilisée durant ce projet.

                      J’ai commencé par écrire un programme en langage Python qui récupère le numéro de la carte. J’ai ensuite créé une base de données. Une base de données peut être composée de plusieurs tables, j’ai donc créé une table composée comme ceci :

                      id Nom Prénom Numéro de carte Date de début d’entrée autorisée Date de fin d’entrée autorisée
                      1 DURAND Martin 00123456789ABCDE 2019-03-01 2019-06-30

                      Dans l’exemple ci dessus, Martin DURAND peut accéder à la salle 214 du 1er mars au 30 juin 2019.

                      J’ai donc intégré cette base de données à mon programme Python pour qu’il cherche si le numéro scanné par le lecteur est présent dans la base de données et si la personne a le droit d’entrer.
                      Pour activer le relais, j’ai déclenché l’alimentation d’une broche GPIO à partir du programme Python. Ainsi, tout fonctionnait avec une seule Raspberry Pi.

                      Test du programme avec une seule Raspberry Pi.

                      Test du programme avec une seule Raspberry Pi.

                      Une des contraintes de ce projet est que le déclenchement de l’ouverture de la porte de la salle 214 se fait sur un tableau électrique présent en salle 212. C’est pour cela que j’ai besoin de deux Raspberry Pi qui doivent communiquer entre elles pour ouvrir la porte. Ainsi, j’ai fait deux programmes Python :

                      • Un pour la Raspberry Pi en salle 214 qui scanne la carte et regarde dans la base de données si la personne a le droit d’entrer
                      • Un autre pour la Raspberry Pi en salle 212 qui déclenche l’ouverture de la porte

                      Le programme Python de la salle 214 envoie un message d’ordre d’ouverture à l’autre programme quand la personne est autorisée à entrer.

                      J’ai ensuite installé tous les composants dont j’avais besoin sur le tableau électrique en salle 212 avec l’aide de M. Bouljroufi.

                      Composants installés sur le tableau électrique

                      Composants installés sur le tableau électrique

                      Ainsi, j’ai pu tester que le programme fonctionnait correctement. Voici une vidéo de l’ouverture de la porte avec une carte étudiante :

                      J’ai ensuite créé le site web. J’ai pour cela installé un serveur web sur la Raspberry Pi de la salle 214. J’ai utilisé le langage php pour relier la base de données au serveur web. J’ai aussi créé une deuxième table dans la base de données pour avoir un historique de toutes les ouvertures de la porte de la salle.

                      Voici une démonstration du fonctionnement de ce site web :

                      Conclusion

                      Le résultat de ce projet est satisfaisant. On peut désormais ouvrir la porte de la salle 214 à l’aide d’une carte étudiante. De nombreux points restent à améliorer. Le site web pourrait avoir plus de fonctionnalités et être plus esthétique. Mais globalement ce projet a été une très bonne expérience. Cela m’a permis d’apprendre plein de nouvelles connaissances. J’ai appris les langages Python et php. J’ai découvert comment gérer des bases de données et j’ai amélioré mes compétences en électricité.