Projet INF1 Présentation Divernois Julien Novac Laurent Stalder Alan Wenk Nicolas
Plan de présentation Outils collaboratifs Nos besoins Services Google Versionning Protocole RS232 Branchement Description du protocole Tests M-Bus Modèle OSI Topologie (Bus, Master-Slave), Physical Layer Description du Protocole Data Link Layer Application Layer API en C Architecture future du projet
Outils collaboratifs Nos besoins : Les outils de communication Agenda partagé Documents partagés Mail Les outils d’accès au savoir Wikis Les outils de travail partagé Serveur de versioning Il y a plusieurs types d’outils collaboratifs : 1>Les outils de travail partagé serveurs de versionning + explications 2>Les outils de communication de base. mail 3>Les outils d’accès au savoir Wiki 4>Les outils de Workflow Agenda partagé
Notre choix pour les outils de communication : Google Donne accès à : Outils collaboratifs Notre choix pour les outils de communication : Google Donne accès à : Google Agenda Google documents Google Mail Notre choix : Google La raison : « Sa seule contrainte, nous donne accès à tous les outils collaboratifs que nous désirions » C’est-à-dire : Contrainte : Avoir un adresse google >Outils de communication de base : MAIL Cette contrainte donne accès à: Google agenda >Outils de workflow : AGENDA PARTAGÉ Google document (échange de documents) >Outils d’accès au savoir : PARTAGE DE DOCUMENTS Google code (serveur de versionning svn) >Outils de travail partagé :SERVEUR DE VERSIONNING >Donne également un WIKI (Outils d’accès au savoir) *Il nous reste plus qu’un moyen d’accès au serveur de versionning * clic *
Outils collaboratifs Versionning Nos essais : SVN Git Mercurial Notre choix : SVN avec le programme Tortoise SVN. Raisons : Interface graphique simple intégrée à Windows Google propose le service avec Google Code et donne accès à d’autres outils Wikis, Bug Tracker,… Configuration facile Expériences personnelles Nos essais D’après nos recherches, 3 bon : svn, git et mercurial. Notre choix : svn avec le programme Turtoise svn. Raisons : Interface graphique simple. Accessible via clic droit sur les fichiers du projets Mercurial : tout en lignes de commandes git : ~émulation du terminal linux => élimination Configuration facile mercurial : Config. Du proxy à la main dans un fichier de config => élimination Expériences personnelles
Protocole RS-232 Branchement: Null Modem Inverse les différents pin Gender Changer Indispensable pour connecter le tout
Protocole RS-232 Protocole de communication: Baudrate Bit de start, bit de stop et bit de parité (optionnel) La configuration peut se faire directement dans windows
Protocole RS-232 Tests: Utilisation d’un convertisseur USB-Serie (Port virtuel) Hyperterminal Utilisé au début entre deux ordinateurs pour envoyer des caractères entre les deux machines. Programme en C Remplace Hyperterminal, permet d’envoyer des blocs de caractères. Permet de dialoguer avec d’autres appareils qu’un ordinateur.
M-Bus Le protocole M-Bus est un protocole spécialement conçu pour communiquer avec des appareils de mesure. Il suit le modèle OSI
M-Bus Physical Layer Topologie en Bus Maître-Esclave avec 2 cables (Entrée-Sortie) Communication Half Duplex Modèle « Send/Confirm » & « Request/Response » .
Trames M-Bus Transmission asynchrone Bits de Start et de Stop pour la synchronisation Le silence sur la ligne est à 1 -> Bit de start à 0 Master pas à la même tension que les slaves, ses états sont lus en fonction de la tension et les esclaves en fonction du courant ->Il faut une interface entre le bus et les slaves.
M-Bus Trames M-BUS
M-Bus Field M-BUS Single Character: Acknowledge Start : Constante CFIELD: Spécifie la direction de la communication AFIELD: Adresse (0-250) 251 252 -> future application 253 (Adresse codé en couche Network 254-255 (Broadcast) CIFIELD(Couche Application, Management) Configuration(Selection of Slave, Baudrate,…) LFIELD: Nombre de byte de donnée (Long Frame). Checksum: Vérifier l’intégrité des données (Somme arithmétique). Stop Char: Constante
M-Bus Exemple de trame: Long Frame
API en C Nous fournissons une API écrite en C s
API en C Avantage de notre API Offre une interface pour coder et décoder (lecture et écriture) de trame en respectant le codage M-Bus Bas Niveau Permet ainsi de créer n’importe quelle trame M-Bus Donne une couche de base pour créer des programmes M-Bus plus haut niveau Bien documentée Utilisation de l’outil Doxygen pour la documentation s
API en C Exemple de programme Décodage d’un Long Frame
API en C
Architecture future du projet Architecture Serveur PHP-Mysql, CGI Ajax Multi-plateformes (Windows, OSX, Linux, iOS, etc.) Plusieurs interfaces Page Web Desktop, Mobile (C, Iphone)
Questions Questions?