Protocole de communication Smart-Devices – Client

Protocole de communication Smart-Devices – Client

Protocole de communication Smart-Devices – Client

Le contrรดle des diffรฉrentes expรฉriences se faisant via une interface web, la communication entre le client et le Smart Devices est basรฉe sur un protocole IP (Internet Protocol). ยซ Internet est un rรฉseau de rรฉseaux dรฉveloppรฉ par le ministรจre de la Dรฉfense aux ร‰tats-Unis dans la fin des annรฉes 70 et le dรฉbut des annรฉes 80 pour interconnecter les diffรฉrentes machines informatiques de ce ministรจre. La solution a รฉtรฉ de dรฉvelopper un protocole commun que lโ€™ensemble des rรฉseaux et des machines connectรฉes doit possรฉder. Ce protocole commun, cโ€™est prรฉcisรฉment le protocole IP (Internet Protocol). Les rรฉseaux interconnectรฉs, que nous avons appelรฉs les sousrรฉseaux, peuvent รชtre quelconques. Il leur est juste demandรฉ de transporter dโ€™une extrรฉmitรฉ ร  lโ€™autre des paquets IP, cโ€™est-ร -dire des paquets conformes aux spรฉcifications du protocole IP.ยป [4] Pour que cette communication virtuelle puisse avoir lieu, les deux appareils doivent parler le mรชme langage et suivre les mรชmes rรจgles. Pour ce faire, chaque appareil possรจde des composants qui implรฉmentent ces diffรฉrentes rรจgles plus communรฉment appelรฉes protocoles. Un appareil qui possรจde plusieurs composants peut donc communiquer avec un autre appareil sous diffรฉrents protocoles. Les protocoles HTTP, TCP, UDP et IP font partie des plus utilisรฉs. LabVIEW, qui peut รชtre considรฉrรฉ comme un composant, est capable de communiquer avec, entre autres, les protocoles prรฉcรฉdemment citรฉs. Il sโ€™agit donc ici de dรฉterminer quel est le meilleur protocole ร  adopter dans le cas des laboratoires ร  distance. 5.1 Architecture de la communication La communication peut รชtre sรฉparรฉe en deux parties. Il y a tout dโ€™abord une communication entre les diffรฉrents ยซย Smart-Devicesย ยป et le serveur, puis une autre communication entre le serveur et les diffรฉrents clients. Le Web-Server ainsi que les Smart-Devices sont programmรฉs en LabVIEW. Cรดtรฉ client, la programmation est exclusivement faite en HTML5. Le schรฉma suivant reprรฉsente les canaux de transmission des donnรฉes entre les diffรฉrents acteurs du MOOLs. La machine virtuelle permet aux clients dโ€™accรฉder depuis lโ€™extรฉrieur aux Smart-Devices qui sont dans lโ€™infrastructure rรฉseau de la HES-SO Valais ร  Sion. Pour des questions de sรฉcuritรฉ, les automates cRIO ne peuvent pas รชtre visibles depuis un rรฉseau externe ร  lโ€™รฉcole. La solution proposรฉe par le service informatique de lโ€™รฉcole est de passer par une machine virtuelle. Celle-ci est accessible depuis lโ€™extรฉrieure par le port TCP 8793 ร  lโ€™adresse ยซย remotemools.hevs.chย ยป. Cette adresse est le nom DNS publique visible depuis lโ€™extรฉrieur donnรฉ ร  la machine pour les MOOLs. En interne, la machine virtuelle accรจde aux automates via le port TCP 8792. Lโ€™adresse IP de ces automates est fixe et dรฉpend de leur emplacement physique dans lโ€™infrastructure de lโ€™รฉcole. Dans le but de simplifier la programmation, un nom DNS leur est attribuรฉ et a la forme suivante : ยซย moolscrioxx.hevs.chย ยป. Comme il est prรฉvu de connecter plusieurs automates au laboratoire, deux caractรจres sont rรฉservรฉs (ยซย xxย ยป) pour le numรฉro de lโ€™automate. Pour que cette communication soit possible, le service informatique a ajoutรฉ des rรจgles aux Firewalls situรฉs entre les automates et le serveur, ainsi quโ€™entre le serveur et lโ€™extรฉrieur. 5.2 Communication Smart-Devices – Serveur Plusieurs types de communications peuvent รชtre implรฉmentรฉs entre les deux applications LabVIEW du SmartDevice et du serveur. Il sโ€™agit ici de dรฉterminer lequel des protocoles de communication est le plus adaptรฉ pour cette application. Pour ce faire, diffรฉrents protocoles sont implรฉmentรฉs est comparรฉs. 5.2.1 TCP Le premier protocole ร  faire lโ€™objet dโ€™une รฉtude est le TCP/IP. Son implรฉmentation est native ร  LabVIEW et est relativement simple ร  mettre en place. ยซ Le protocole TCP (Transmission Control Protocol) a รฉtรฉ initialement dรฉfini dans la RFC 793 de lโ€™IETF (Internet Engineering Task Force). Le protocole TCP fournit un service de transport fiable, basรฉ sur la connexion et le ยซย bytestreamย ยป, en plus des connexions non fiables service rรฉseau fourni par IP. TCP est employรฉ par un grand nombre dโ€™applications comme par exemple : โ€” Email (SMTP, POP, IMAP) โ€” World Wide Web ( HTTP, …) Sur internet, la plupart des applications utilises le protocole TCP. De nombreuses รฉtudes ont rapportรฉes que TCP รฉtait responsable de plus de 90% des donnรฉes รฉchangรฉes sur Internet.ยป

Communication Serveur – Client

La communication serveur-client se situe entre la machine virtuelle et la page Web de contrรดle (voir fig. 5.1). Le protocole de communication entre ces deux parties ne peut รชtre le mรชme que celui utilisรฉ entre le serveur et les Smart-Devices, etant donnรฉ que de lโ€™interface client programmรฉe en HTML5 nโ€™intรจgre pas directement le protocole TCP ยซย brutย ยป. Cโ€™est pour cette raison quโ€™une couche additionnelle (WebSocket) est implรฉmentรฉe par-dessus le TCP. 5.3.1 WebSocket Le protocole WebSocket est celui employรฉ pour les laboratoires distants de lโ€™EPFL. Il est donc judicieux de lโ€™employer plutรดt quโ€™un autre afin de se standardiser avec le travail dรฉjร  effectuรฉ par lโ€™EPFL et ainsi de faciliter la mise en commun des ressources entre cette รฉcole et la HES-SO Valais. Le WebSocket, qui est un standard du Web, a รฉtรฉ normalisรฉ en 2011. Il est dรฉveloppรฉ par-dessus une connexion TCP. ยซ Le protocole WebSocket permet une communication bidirectionnelle entre un client exรฉcutant du code non fiable dans un environnement contrรดlรฉ vers un hรดte distant qui a optรฉ pour les communications de ce code. Le model de sรฉcuritรฉ utilisรฉ pour cela est le modรจle ยซย origin-based security modelย ยป couramment utilisรฉ par les navigateurs Web. Le protocole envoi tout dโ€™abord un ยซย handshakeย ยป (รฉtablissement dโ€™une liaison) suivi dโ€™un message de base, superposรฉ sur TCP. Lโ€™objectif de cette technologie est de fournir un mรฉcanisme pour navigateur basรฉ sur les applications qui nรฉcessitent une communication bidirectionnelle avec des serveurs qui ne compte pas sur lโ€™ouverture de plusieurs connexions HTTP. ยป [3] Dans le cadre des MOOLs, lโ€™intรฉrรชt principal de ce protocole est le fait que le client nโ€™a pas besoin dโ€™envoyer une requรชte au serveur pour recevoir un paquet de donnรฉes. En dโ€™autres termes, aprรจs avoir รฉtabli la communication avec le serveur, le client peut recevoir les donnรฉes du ยซย SmartDeviceย ยป sans envoyer une requรชte pour chaque mesure ou chaque image. Ce type de communication est appelรฉe ยซย Real-timeย ยป. La figure 5.8 reprรฉsente ce type dโ€™รฉchange de donnรฉes en comparaison avec des รฉchanges traditionnels. Un autre avantage de ce protocole est le fait quโ€™il soit directement intรฉgrรฉ ร  HTML5. Lโ€™application du client peut ainsi รชtre dรฉveloppรฉe en HTML5 et รชtre plus facilement intรฉgrรฉe ร  une page web existante qui serait hรฉbergรฉe dans le cours en ligne du laboratoire. Le client doit simplement ouvrir une page web pour accรฉder aux infrastructures du MOOLs et nโ€™a pas besoin de tรฉlรฉcharger dโ€™application. Cela permet รฉgalement une compatibilitรฉ maximale entre avec le diffรฉrents systรจmes dโ€™exploitation. La seule condition requise est dโ€™avoir un navigateur web ร  jour. Pour les raisons รฉvoquรฉes en dรฉbut de chapitre, ce protocole est choisi pour la communication entre le serveur et le client et aucun autre protocole nโ€™est รฉtudiรฉ. 5.3.2 WebSocket et LabVIEW Le protocole WebSocket nโ€™est pas nativement intรฉgrรฉ ร  LabVIEW. Les paquets doivent par consรฉquent รชtre mis en forme avant dโ€™รชtre envoyรฉs via une connexion TCP. Pour la rรฉception, ils doivent รฉgalement รชtre dรฉcryptรฉs pour pouvoir exploiter leurs donnรฉes. De plus, ร  lโ€™initialisation de la communication, une clรฉ doit รชtre รฉchangรฉe entre le serveur et le client pour que la communication puisse avoir lieu. Ces diffรฉrentes fonctionnalitรฉs ont รฉtรฉ dรฉveloppรฉes ร  lโ€™EPFL dans le cadre de leurs MOOLs. Ce projet se faisant en collaboration avec eux, leur dรฉveloppement LabVIEW sur le WebSocket nous a รฉtรฉ fourni. La figure suivante reprรฉsente le principe de programmation de la communication cรดtรฉ serveur.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

1 Introduction
2 Cahier des charges
3 Description gรฉnรฉrale de lโ€™infrastructure des MOOLs
3.1 Web Server
3.2 Smart Devices
3.3 Moodle
3.4 Clients
4 Environnement de dรฉveloppement LabVIEW
5 Protocole de communication Smart-Devices – Client
5.1 Architecture de la communication
5.2 Communication Smart-Devices – Serveur
5.2.1 TCP
5.2.2 DataSocket
5.2.3 UDP
5.2.4 Comparaison des ressources et choix du protocole
5.3 Communication Serveur – Client.
5.3.1 WebSocket
5.3.2 WebSocket et LabVIEW
5.3.3 WebSocket et HTML5
6 Web Serveurย 
6.1 Gestion des connexions client
6.2 Gestion des connexions des Smart-Devices
6.3 Installation du programme LabVIEW sur la machine virtuelle
7 Smart-Devices
7.1 Maquette de rรฉgulation du moteur DC
7.2 Rรฉgulation en vitesse (tachymรจtre) du moteur D .
7.2.1 Dimensionnement du rรฉgulateur
7.2.2 Simulations
7.2.3 Mesures
7.2.4 Calcul de la rรฉsolution de la vitesse
7.3 Rรฉgulation de vitesse (codeur) du moteur DC
7.3.1 Dimensionnement du rรฉgulateur
7.3.2 Simulations
7.3.3 Mesures
7.3.4 Calcul de la rรฉsolution de la vitesse .
7.4 Rรฉgulation en position (potentiomรจtre) du moteur D
7.4.1 Dimensionnement du rรฉgulateu .
7.4.2 Simulations
7.4.3 Mesures
7.4.4 Calcul de la rรฉsolution
7.5 Rรฉgulation de position (codeur) du moteur DC
7.5.1 Dimensionnement du rรฉgulateur
7.5.2 Simulations .
7.5.3 Mesures
7.5.4 Calcul de la rรฉsolution
Thomas Moniquet 1 16 aoรปt 2018
Travail de bachelor Power & Control
7.6 Maquette de rรฉgulation de systรจme instable ร  bille
7.6.1 Dimensionnement du rรฉgulateur
7.6.2 Simulations
7.6.3 Mesures
8 Programmation du cRIOย 
8.1 Programmation de la FPGA .
8.1.1 Algorithme des codeurs incrรฉmentaux
8.1.2 Boucle de rรฉgulation de lโ€™entraรฎnement รฉlectrique
8.1.3 Boucle de rรฉgulation du systรจme instable ร  bille
8.2 Programmation de la CPU
8.2.1 Communication avec la FPG.
8.2.2 Acquisition des images de la Webcam
8.2.3 Communication avec le Web-Serveur
9 Interface Clientย 
9.1 HTML
9.2 CSS
9.2.1 Position du ยซย parentย ยป
9.2.2 Position des ยซย enfantsย ยป
9.3 JavaScript
9.3.1 JSON
9.3.2 Initialisation
9.3.3 Programme en fonctionnement
9.3.4 Fermeture
10 Tests de lโ€™infrastructure
10.1 Mesures du temps entre les paquets
10.2 Mesures de lโ€™utilisation de la CPU du cRIO
10.3 Mesures de lโ€™utilisation rรฉseau et processeur de la machine virtuelle
11 Conclusion et perspectives
12 Annexes
A Planning
B Datasheet capteur optique
C Datasheet Webcam Logitech C270
D Datasheet cRIO-9067, NI-9201, NI-9263, NI-94
E Crรฉation dโ€™un exรฉcutable LabVIEW
F Crรฉation dโ€™un installeur LabVIEW
G Entraรฎnement Electrique Open-Loop
H Systรจme instable ร  bille Open-Loop
I Systรจme instable ร  bille Closed-Loop

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *