• Aucun résultat trouvé

Serveur VoIP sur platine ARM et CANOpen

N/A
N/A
Protected

Academic year: 2022

Partager "Serveur VoIP sur platine ARM et CANOpen"

Copied!
24
0
0

Texte intégral

(1)

51, rue Barth´el´emy de Laffemas 26901 Valence Cedex 9

Z.I. Les Illons, 07250 Le Pouzin

Serveur VoIP sur platine ARM et CANOpen

Rapport de Stage

ROGER Mathieu

Licence Pro. SIL option SIRE

Maˆıtre de Stage : M. Christophe Duhoux Professeur tuteur : M. Denis Genon-Catalot Ann´ee Universitaire 2007-2008

Rapport r´edig´e avec LATEX

(2)

Remerciement

Je souhaite remercier :

S´ebastien Jean et Denis Genon-Catalot pour leurs aides et conseils lors de mon stage.

Christophe Duhoux pour son aide sur le protocole CANOpen.

L’ensemble des stagiaires pour leur aide et le partage de comp´etences aussi bien pour mon projet que pour le leur.

(3)

Table des mati` eres

Introduction 1

1 Pr´esentation du stage 2

1.1 Le lieu . . . 2

1.2 L’entreprise . . . 3

2 La platine ARM 4 2.1 Sp´ecifications mat´erielles . . . 4

2.2 Sp´ecifications logicielles. . . 5

2.2.1 Boot loader . . . 5

2.2.2 Noyau Linux . . . 6

2.2.3 Syst`eme de fichiers . . . 7

2.3 La chaine de compilation crois´ee . . . 8

3 Le serveur t´el´ephonique 9 3.1 Pr´esentation . . . 9

3.1.1 La VoIP . . . 9

3.1.2 Asterisk . . . 10

3.2 Architecture . . . 11

3.3 Les signaux DTMF . . . 12

4 Autres travaux 14 4.1 Interface Web pour Asterisk . . . 14

4.2 T´el´ephone IP . . . 15

4.3 CANOpen . . . 16

4.3.1 CanFestival . . . 16

4.3.2 Ethernet Powerlink . . . 17

Conclusion 18

Bibliographie 19

(4)

Table des figures

2.1 Carte Olimex . . . 5

3.1 Logo d’Asterisk. . . 10

3.2 Architecture du syst`eme . . . 12

3.3 Nouvelle architecture du syst`eme . . . 13

4.1 Interface d’administration Internet . . . 15

(5)

Introduction

Etant en fin de cycle de Licence Professionnelle Syst`´ eme Informatique et Logi-

ciel option Syst`eme Informatique et R´eseaux Embarqu´es `a l’IUT Pierre-Mend`es- France de Valence, j’ai ´et´e amen´e `a effectuer un stage de fin d’ann´ee pour finaliser ma formation. J’ai effectu´e celui-ci au laboratoire valentinois LCIS (plateforme technique), pour l’entreprise Sprinte : entreprise sp´ecialis´ee dans les armoires d’as- censeur.

Le sujet du stage est «Utilisation de la VoIP sur platine ARM et module CANOpen pour ascenseur». La voix sur IP est destin´ee `a la t´el´esurveillance de l’ascenseur, c’est-`a-dire les appels d’urgence dans le cas o`u une personne serait bloqu´ee dans l’ascenseur. Le but de l’impl´ementation du CANOpen est la prise de contrˆole et la reconfiguration de l’ascenseur `a distance via l’Internet n´ecessaire pour les appels d’urgence.

Ce rapport va donc s’ordonner en trois parties : tout d’abord, nous verrons une pr´esentation de la plateforme technique de Valence et de l’entreprise sprinte, ensuite nous nous pencherons sur le choix de la plateforme, du serveur de VoIP et de son impl´ementation sur la carte. Enfin, nous finirons par une partie sur la configuration et la prise de contrˆole de l’ascenseur via CanFestival et Ethernet Powerlink

(6)

1. Pr´ esentation du stage

1.1 Le lieu

Mon stage s’est donc effectu´e sur la plateforme technique de valence, c’est une structure de transfert technologique. Elle h´eberge ´egalement les activit´es de recherche fondamentale de deux enseignants-chercheurs du groupe CTSYS du la- boratoire LCIS (S´ebastien JEAN et Denis GENON-CATALOT). On y trouve des stagiaires de diff´erentes fili`eres de l’IUT tel que DUT Informatique option SI et GI, DUT R&T, Licence Pro SIRE.

Le laboratoire valentinois LCIS (sous tutelle de l’INPG et de l’UPMF) compte une vingtaine de chercheurs permanents et une dizaine de doctorants. Ses axes de recherche couvrent la conception et le test des syst`emes complexes, l’´etude des syst`emes coop´erants (multiagents), la conception de syst`emes opto´electroniques et de radiofr´equences et enfin le contrˆole des syst`emes dynamiques (automatiques).

Le groupe CTSYS s’inscrit dans l’axe «conception et test de syst`emes» et compte cinq enseignants-chercheurs permanents et un doctorant.

Les activit´es de recherche men´ees sur la plateforme (et physiquement sur la plateforme technologique) se focalisent notamment sur la conception de passe- relles embarqu´ees (pour applications d’informatique ambiante ou industrielles), en traitant `a la fois des aspects syst`eme, intergiciel et r´eseau.

(7)

1. Pr´esentation du stage 3

1.2 L’entreprise

Le travail a ´et´e effectu´e pour l’entreprise SPRINTE Electra Vitoria (SPRINTE E.V.). Cette entreprise est sp´ecialis´ee dans la conception et la fabrication d’´equi- pements ´electriques pour les ascenseurs neufs ou `a r´enover de mani`ere `a ce qu’ils soient compatibles avec les nouvelles normes en vigueur.

La soci´et´e SPRINTE a ´et´e cr´e´ee en 1978 par M. G´erard CHOLVY, qui poss´e- dait d´ej`a des comp´etences dans le domaine de l’ascenseur. D`es 1980, SPRINTE propose, des armoires int´egrant des microprocesseurs. En 1996, la soci´et´e rejoint le groupe espagnol Electra Vitoria bas´e `a Vitoria (Catalogne) ainsi SPRINTE devient SPRINTE Electra Vitoria. Elle d´eveloppe ainsi un savoir-faire dans le domaine des armoires de commande et de la filerie des ascenseurs.

L’entreprise est maintenant reconnue pour son activit´e dans les armoires de r´enovation et les installations neuves par des clients tels que OTIS, KONE, SCHINDLER, ...

SPRINTE E.V. d´eveloppe des syst`emes ´electriques et ´electroniques pour le contrˆole des ascenseurs. La soci´et´e a mis en place une nouvelle gamme d’´el´ements de commandes et de capteurs permettant de r´eduire la longueur des cˆables ainsi que leurs nombres en utilisant notamment des bus de terrain tels que le CAN et le protocole CANOpen.

L’utilisation du CANOpen a permis `a SPRINTE E.V. d’obtenir des architec- tures plus robustes (s´ecurit´e et maintenance) avec des interfaces de communica- tion ´evolu´ees (USB, Ethernet).

(8)

2. La platine ARM

La plus grande partie de mon stage s’est d´eroul´ee sur l’installation et la confi- guration de la carte et du serveur de Voix sur IP. Dans cette partie, nous allons aborder les sp´ecifications de la platine sur laquelle j’ai travaill´e.

La plateforme ARM a ´et´e choisie par Denis GENON-CATALOT, pour sa puissance, sa polyvalence et son faible coˆut (environ 90 euros).

2.1 Sp´ ecifications mat´ erielles

La carte d’´evaluation est une platine Olimex SAM9-L9260. Celle-ci dispose de :

– Un processeur ARM9 `a 200 MHz – 64Mo de SDRAM

– 512 Mo de NAND Flash (fait office de disque dur) – Un port Ethernet 100Mbits

– Un port USB 2.0 maˆıtre (permet de brancher des clefs USB par exemple) – Un port USB 2.0 esclave (permet de se servir de la carte comme carte r´eseau

USB)

– 3 ports RS232

– Un lecteur de SD/MMC

– Un bouton r´eglable (valeure atteignable dans un registre) et un bouton reset – Une led power, deux leds configurables

Cette architecture dispose donc d’une puissance de calcul non n´egligeable pour un prix vraiment attractif, de plus celle-ci dispose de nombreuses entr´ees-sorties,

(9)

2. La platine ARM 5

Fig. 2.1 – Carte Olimex

convertisseur analogique num´erique et autres fonctions ce qui la rend vraiment polyvalente et apte `a beaucoup d’usages.

2.2 Sp´ ecifications logicielles

La carte est livr´ee avec un CD contenant tous les utilitaires n´ecessaires `a un flashage (´equivalent du formatage) de celle-ci. On y trouve le code permettant de g´erer la flash et la RAM, le boot loader, le noyau Linux et le syst`eme de fichiers.

2.2.1 Boot loader

Le code permettant de g´erer la flash et la ram est en fait un mapping des re- gistres, c’est-`a-dire une mani`ere plus ou moins mat´erielle de rediriger les registres du processeur vers les composants flash et ram. Ce code ´etant d´ej`a compil´e, nous n’avons pas senti le besoin de l’ouvrir, ni de l’´editer.

(10)

2. La platine ARM 6

Le boot loader est un morceau de code qui se charge de lancer le noyau Linux, sur un PC se serait le Bios (Award, Phoenix. . .), sur notre platine plusieurs sont possibles : RedBoot, U-boot,. . .celui-ci ´etant d´ej`a livr´e et configur´e par Olimex nous n’avons pas non plus ressenti le besoin de le modifier ou de le changer.

2.2.2 Noyau Linux

En ce qui concerne le noyau Linux, la version livr´ee avec la carte ´etait un 2.5.x.x, le deuxi`eme nombre ´etant impaire cela signifie que c’est une version in- stable et en d´eveloppement. Cela est principalement dˆu au fait que la majorit´e des drivers n´ecessaires pour la carte n’ont ´et´e ajout´e que dans cette version, or lors du d´ebut de mon stage la version 2.6.x.x ´etait sortie en version stable, en cons´equence les drivers ´et´e int´egr´es et fonctionnel. Apr`es application d’un patch n´ecessaire au fonctionnement du noyau sur la carte, nous avons lanc´e une compi- lation qui marcha directement.

Apr`es plusieurs jours de tests et de d´eveloppement sur le noyau, nous avons remarqu´e plusieurs bugs : tout d’abord toutes actions sur la MMC (insertion, lecture, ´ecriture) ´etaient ´ecrite dans un fichier journal par le noyau, cela avait pour cons´equence de prendre une place cons´equente sur la carte et surtout de ralentir les acc`es (en moyenne 30ko/s). Ceci est dˆu au fait que le driver du lecteur de carte MMC n’est pas encore tout `a fait stable, et donc la fonction de debug de celui-ci est activ´ee dans le noyau, il a donc suffi de la d´esactiver. Le deuxi`eme souci

´

etait le fait que l’horloge ´etait mal r´egler : le temps passait plus lentement sur la carte, cela du `a un mauvais cadencement au niveau du noyau, la modification de la RTC (Real Time Clock) dans les options du noyau `a permit de r´egler le probl`eme.

(11)

2. La platine ARM 7

2.2.3 Syst` eme de fichiers

Le syst`eme de fichiers (ou distribution) est l’ensemble des ex´ecutables per- mettant le fonctionnement de Linux, entre les diff´erents syst`emes de fichiers il y a beaucoup de points communs, par exemple on retrouve tout le temps les com- mandes ls, mkdir,. . ., qui sont les commandes de bases. En revanche suivant le syst`eme de fichiers certaines commandes plus complexes ne sont pas pr´esentes.

Notre syst`eme ´etant minimal (serveur de voix sur IP plus quelques autres ser- vices), nous avons essay´e d’utiliser un syst`eme de fichier ultral´eger : BusyBox, celui-ci ne p`ese que 2 Mo au lieu des 120 Mo utilis´es par le syst`eme fourni avec la carte. Nous n’avons malheureusement pas r´eussit `a le mettre sur la carte, le noyau Linux n’arrivait pas `a lire la partition dans la flash. Nous sommes donc retourn´e au syst`eme de fichiers livr´e avec la carte et l’avons all´eg´e : suppression de certains fichiers/ex´ecutables inutiles, suppression des services inutiles au d´emarrage. . .

(12)

2. La platine ARM 8

2.3 La chaine de compilation crois´ ee

La platine ´etant ´equip´ee d’un processeur ARM, les jeux d’instruction mat´eriels pour faire ex´ecuter des op´erations au processeur sont diff´erents que sur une archi- tecture x86 (architecture PC). De ce fait, le compilateur est diff´erent de mani`ere

`

a ˆetre capable de compiler `a partir d’une architecture x86 vers un autre type de processeurs, ici ARM, c’est cette notion que nous appelons la compilation crois´ee.

Plusieurs compilateurs crois´es existent pour ARM, nous avons commenc´e par celui livr´e par Olimex. Apr`es plusieurs jours de tests, nous nous sommes rendu compte que celui-ci ne marchait pas (impossibilit´e de lancer les ex´ecutables cr´e´es).

Nous avons donc fait le choix de ELDK (Embedded Linux Development Kit) qui est une panoplie d’utilitaires pour la compilation crois´ee pour Linux, et ceci pour diff´erents types de processeurs dont bien sˆur l’architecture ARM. Apr`es installation et compilation d’un Hello World pour les tests, nous avons pˆut grˆace

`

a ce compilateur recompil´e le noyau, le serveur de voix sur IP,. . .

(13)

3. Le serveur t´ el´ ephonique

La majeure partie du stage s’est d´eroul´ee sur le d´eveloppement, l’installation et la configuration du serveur de Voix sur IP. Le but ´etant de mettre en place un syst`eme de t´el´esurveillance pour les ascenseurs, c’est-`a-dire le bouton d’appel d’urgence pr´esent dans les ascenseurs. Suite `a une nouvelle norme, l’appui sur le bouton doit obligatoirement appeler quelqu’un, par exemple les pompiers, la soci´et´e d’ascensoriste. . .De plus, plusieurs prises sont pr´esentes pour les pompiers, les techniciens. . .

3.1 Pr´ esentation

Pour essayer d’innover un peu dans le monde de la t´el´esurveillance et sur- tout pour r´eduire les coˆuts inh´erents aux appels par France Telecom, nous avons souhait´e une solution num´erique. Une solution s’est tr`es vite impos´ee : la VoIP, qui est une technique permettant d’effectuer des appels num´eriques en restant de bout en bout sur le r´eseau num´erique. Cela permet donc de s’affranchir de l’abonnement France Telecom, bien qu’un abonnement `a Internet soit n´ecessaire, mais le principal avantage est que France Telecom facture les appels alors qu’en g´en´eral les appels num´eriques vers un poste analogique sont gratuits.

3.1.1 La VoIP

Pr´esentation inspir´ee de Wikip´edia

La VoIP pour Voice Over IP, litt´eralement Voix sur IP est une technique permet- tant de communiquer la voix sur les r´eseaux informatiques tels que les r´eseaux d’entreprise, Internet, ADSL. . .Elle est utilis´ee pour supporter le service de t´el´e-

(14)

3. Le serveur t´el´ephonique 10

phonie IP (ToIP pour Telephony over IP).

La technique se base sur un syst`eme de paquets tr`es l´egers contenant une pe- tite partie de la conversation (environ 30 `a 50 ms). De cette mani`ere, les paquets peuvent ˆetre achemin´es rapidement et si quelques-uns se perdent l’utilisateur ne s’en rend quasiment pas compte. G´en´eralement, le protocole est utilis´e pour une communication point `a point, mais il est aussi possible d’effectuer des conf´erences.

Un protocole va de pair avec la VoIP : le SIP (Session Initiation Protocol), ce protocole permet la signalisation des appels : d´ecrocher, raccrocher. . .Grˆace `a ce syst`eme nous pouvons passer des appels entre t´el´ephones IP gratuitement `a condition d’ˆetre reli´e `a un serveur, mais aussi certains serveurs tels que VoIPBus- ter ou Free permettent de passer des appels aussi sur les t´el´ephones fixes pour des coˆuts tr`es r´eduits (9 euros pour 6 mois chez VoIPBuster avec appels illimit´es)

3.1.2 Asterisk

Fig. 3.1 –Logo d’Asterisk

Une fois le principe de transmission de donn´ees arrˆet´ees il a fallu choisir un serveur supportant les appels internes, la connexion `a un serveur distant pour les appels externes, et si possible un syst`eme de conf´erence. Asterisk s’est tr`es vite d´epartag´e des autres solutions, car il existe un support tr`es actif y compris sur les diff´erentes m´ethodes permettant de l’int´egrer `a des processeurs embarqu´es, ce qui est notre cas, de plus celui-ci dispose de nombreux modules que l’on peut

(15)

3. Le serveur t´el´ephonique 11

activer, d´esactiver et configurer facilement tels que les conf´erences ou la gestion des diff´erents types de compression (codec) utilis´es pour la transmission de la voix.

Bien que de la documentation soit disponible pour la compilation d’Asterisk pour ARM, il y a eu n´eanmoins quelques probl`emes, tout d’abord il m’a fallu comprendre comment compiler pour ARM le programme, c’est-`a-dire l’argument

`

a donner pour que celui-ci compile correctement. Ensuite il y a eu un probl`eme de d´ependances cass´e, il manquait la biblioth`eque permettant la colorisation des textes dans la console, celui-ci ´etant n´ecessaire `a Asterisk, mais n’existant pas pour ARM, il a donc fallu t´el´echarger les sources et les compiler.

3.2 Architecture

Le syst`eme de t´el´esurveillance se comporte comme un vrai serveur t´el´epho- nique d’entreprise, plusieurs t´el´ephones sont pr´esents, ils sont capables de s’appe- ler entre eux. La principale diff´erence r´eside dans le fait que certains t´el´ephones (dans la cabine, sur la cabine. . .) ne disposent que d’un seul bouton qui compose automatiquement le num´ero.

Le syst`eme s’architecture comme d´ecrit sur le sch´ema ci-dessous :

On remarque donc quel les diff´erents t´el´ephones sont reli´es `a la platine ARM qui fait office de serveur Asterisk. Les t´el´ephones pompiers, par exemple, eux sont de vrai t´el´ephone SIP car ils ont la possibilit´e d’appeler une cabine en particulier, il leur faut donc avoir un vrai clavier pour pouvoir composer le num´ero. On remarque ensuite que la platine est reli´ee `a un provider SIP (fournisseur de service SIP), tels que VoIPBuster ou encore Freephonie, qui permettent d’effectuer des appels vers l’ext´erieur et notamment vers les lignes analogiques pour appeler les pompiers ou une soci´et´e sp´ecialis´ee en cas d’appui sur le bouton d’appel.

(16)

3. Le serveur t´el´ephonique 12

Fig. 3.2 –Architecture du syst`eme

3.3 Les signaux DTMF

Les signaux DTMF sont les tonalit´es que l’on entend lors de l’appui sur les boutons du t´el´ephone. Sur les t´el´ephones analogiques, ces signaux se traduisent par deux fr´equences envoy´ees sur la ligne en mˆeme temps que la voix. Dans le milieu de la VoIP il y a plusieurs possibilit´es : soit ils sont envoy´es en «in- band»c’est-`a-dire comme sur les t´el´ephones analogiques, soit en RFC2833 qui sont des paquets SIP envoy´es en mˆeme temps que la voix contenant le num´ero de la touche appuy´ee.

La m´ethode «inband»est encore tr`es utilis´ee, car elle permet une compati- bilit´e totale entre l’analogique et le num´erique : si on appelle ma platine `a partir d’un poste analogique les signaux seront en « inband». De ce fait la platine ARM doit ˆetre capable de les d´etecter, cela n’a pas ´et´e possible pour deux rai- sons : tout d’abord, le module ztdummy qui permet d’avoir une horloge interne

`

a Asterisk n’est pas compilable pour ARM de ce fait la base de temps n´ecessaire pour trouver les fr´equences n’est pas pr´esente, de plus le processeur ne g`ere pas nativement les calculs `a virgule flottante, une ´emulation par le noyau est donc

(17)

3. Le serveur t´el´ephonique 13

faite, cela est beaucoup trop long `a ex´ecuter en cons´equence le serveur n’arrive pas `a chercher la bonne fr´equence assez rapidement et s’arrˆete. Les diff´erentes tentatives de mise en place de ztdummy ont ´et´e une grosse perte de temps, envi- ron deux semaines et demi avant que l’on se d´ecide `a envisager une autre solution.

Pour pallier `a ce probl`eme, nous avons pens´e `a mettre un serveur central, bas´e sur un vrai PC, auquel toutes les platines se connecteront, lui fera la transition des signaux RFC2833 en«inband». Cela permet aussi d’avoir une centralisation des diff´erentes cartes et donc de savoir quand une a perdu la connexion de ma- ni`ere `a la r´eparer rapidement.

Ci-dessous l’architecture avec le serveur central :

Fig. 3.3 – Nouvelle architecture du syst`eme

Cette m´ethode permet donc `a une ligne analogique d’appeler un des t´el´ephones de l’ascenseur en composant le num´ero du serveur (num´ero classique offert par Freephonie par exemple) puis de composer le num´ero de la platine suivi du num´ero du t´el´ephone interne.

(18)

4. Autres travaux

Dans cette partie, nous allons aborder les autres travaux effectu´es pendant le stage. Nous verrons dans un premier temps l’interface Web pour faciliter l’admi- nistration d’Asterisk. Dans un deuxi`eme temps, nous verrons la pile CANOpen CanFestival, puis nous finirons par la technologie d’Ethernet Powerlink.

4.1 Interface Web pour Asterisk

De mani`ere `a simplifier l’installation des t´el´ephones sur le serveur, une inter- face sous forme de page Internet a ´et´e r´ealis´ee, celle-ci permet :

– D’ajouter et supprimer des t´el´ephones

– De configurer le provider SIP permettant les appels vers l’ext´erieur de r´eseau – D’attribuer un num´ero `a chaque t´el´ephone

– De configurer qui appeler en cas d’appui sur le bouton d’appel – De configurer la liaison au serveur central pour les appels entrants

– De demander `a la carte d’effectuer un appel entre un poste `a l’int´erieur du r´eseau et un num´ero de t´el´ephone fixe.

Des fonctions devraient ˆetre rajout´ees : la carte servira aussi probablement de passerelle CAN pour administrer l’ascenseur `a distance, de fait l’interface Web contiendra une section permettant d’envoyer des trames `a l’ascenseur.

En ce qui concerne le codage du site Web, le rendu est bien sur en HTML, langage de toutes les pages web, mais la g´en´eration de ce html peut se faire par plusieurs moyens : PHP, ASP, Python, ˇE sont des langages capables de g´en´e- rer de l’HTML. Pour ce site j’ai pr´ef´er´e l’utilisation du Python car celui-ci bien

(19)

4. Autres travaux 15

que gu`ere rapide, permet un temps de d´eveloppement r´eduit et propose de nom- breuses librairies facilitant la tˆache du programmeur. Il propose notamment des fonctions qui permettent de r´ecup´erer et de traiter les param`etres pass´es par la page web tr`es facilement, mais aussi une grosse librairie permettant de lire, ´ecrire et modifier les fichiers de configuration s’ils sont format´es d’une certaine mani`ere ce qui est le cas d’Asterisk.

Voici un aper¸cu de l’interface d’administration :

Fig. 4.1 – Interface d’administration Internet

4.2 T´ el´ ephone IP

Avoir le serveur embarqu´e pour la t´el´ephonie est bien, mais pas suffisant, il faut aussi les t´el´ephones capables en un seul bouton d’appeler et de composer.

Nous avons donc travaill´e sur un logiciel permettant de le faire (Softphone), le seul softphone capable de fonctionner sans interface graphique est Linphone. La compilation crois´ee de celui-ci n’est vraiment pas ais´ee, il a besoin de beaucoup

(20)

4. Autres travaux 16

de librairies qui doivent, elles aussi, ˆetre compil´ees pour le processeur ARM. La compilation du logiciel est encore en cours.

A terme celui-ci devrait ˆ` etre capable d’ˆetre int´egr´e sur un processeur de type

ARM7, et d’utiliser une des entr´ees/sorties de celui-ci pour le bouton. Lors de l’appui sur le bouton, celui-ci composera automatiquement le num´ero ad´equat.

Lors de la r´eception d’un appel vers le softphone celui-ci d´ecrochera automati- quement sans action n´ecessaire de la part de l’utilisateur

4.3 CANOpen

Une fois la mise en place du serveur Asterisk termin´ee, je me suis concentr´e sur les fonctions que l’on pouvait rajouter `a la carte ; c’est-`a-dire le contrˆole et la configuration de l’ascenseur `a distance. Les diff´erentes parties des ascenseurs (cabine, armoire) d´evelopp´es par Sprinte communiquent via le r´eseau CAN et le protocole CANOpen.

Le CANOpen est une couche applicative pour le r´eseau CAN, celui-ci fonc- tionne en temps r´eel. Il est utilis´e dans de nombreux domaines tels que l’auto- mobile, les ascenseurs, le domaine m´edical. Il est connu pour ˆetre une solution de communication ´economique et tr`es efficace. Le principe repose sur un dictionnaire d’objet propre `a chaque ´equipement qui lui dit les actions `a effectuer, les donn´ees, les entr´ees sorties, les actions `a effectuer `a intervalle r´egulier comme par exemple prendre une mesure ou encore envoyer une donn´ee sur le r´eseau, les valeurs des objets peuvent ˆetre lu et modifier par le maˆıtre du r´eseau.

4.3.1 CanFestival

CanFestival est une pile CANOpen open source et gratuite. La carte Olimex ne disposant pas de port CAN, il a fallu compiler les drivers du module USB-CAN

(21)

4. Autres travaux 17

PEAK. Une fois ceux-ci compil´es on `a put compiler CanFestival pour la platine.

Les tests effectu´es restent pour l’instant tr`es succincts, le programme se lance, on arrive `a changer l’´etat d’un des nIJuds du r´eseau : passage en pr´eop´erationnel, en op´erationnel, mais on n’arrive pas a effectuer des requˆetes de type SDO, par exemple lire l’identifiant du fabricant.

4.3.2 Ethernet Powerlink

Une autre m´ethode permet de faire du CANOpen, il s’agit d’Ethernet Power- link, cette technologie permet d’utiliser le r´eseau Ethernet/IP pour faire passer des donn´ees CANOpen. Cette technologie permet donc de reconfigurer et contrˆo- ler l’ascenseur `a distance, mais sans `a avoir `a utiliser l’interface web. Pour le moment, nous n’en sommes qu’`a la phase de compilation de celui-ci, sans avoir la certitude de r´eussir `a le faire marcher sur la plateforme Olimex.

(22)

Conclusion

Lors du stage, le serveur de VoIP a ´et´e le plus gros travail, celui qui a demand´e le plus de temps, notamment sur la d´etection des signaux DTMF. Ensuite, le tra- vail sur le noyau (am´elioration, ajout de fonctionnalit´e) s’est fait durant toute la dur´ee du stage. Ce travail a demand´e beaucoup de rigueur, car la compilation crois´ee n’est pas une chose facile `a cause de la multitude des librairies n´ecessaires.

Les travaux non finis pour l’instant sont principalement le Softphone et Can- Festival. Ceux-ci devraient ˆetre finis d’ici la fin de mon stage, ou sinon une solution alternative propos´ee. La majorit´e de mon travail s’effectue actuellement sur la pile CanFestival de mani`ere `a r´eussir `a lire et ´ecrire des valeurs dans les diff´erents mo- dules pour pouvoir les reconfigurer et diagnostiquer `a distance.

Ce stage m’a permis d’utiliser les comp´etences acquises lors de mon DUT et de ma Licence Professionnelle aussi bien pour mon projet que pour celui des autres. Le travail sur la plateforme a ´et´e tr`es b´en´efique, car bien que nous ayons des projets diff´erents, nous partagions nos opinions et comp´etences sur les projets de chacun.

(23)

Bibliographie

Wikip´edia (http ://fr.wikipedia.org) : Encyclop´edie en ligne. Utilis´ee pour les d´efinitions et quelques renseignements.

VoIP-info (http ://www.voip-info.org/wiki/) : Utilis´e pour toute la configura- tion d’Asterisk.

Asterisk (http ://www.asterisk.org/) : Aide pour la configuration d’Asterisk et sa compilation crois´ee.

CanFestival (http ://www.canfestival.org/) : Documentation de CanFestival.

ARM Linux Project (http ://www.arm.linux.org.uk/) : Mailing-list sur Linux sur processeur ARM

AT91 Linux Patch (http ://maxim.org.za/at91 26.html) : Patchs pour la com- pilation du noyau pour le processeur

(24)

D’ici quelques mois, les ascenseurs devront tous ˆetre ´equip´es d’un syst`eme de t´el´esurveillance, permettant lors de l’appui sur le bouton d’urgence d’appeler un num´ero. `A l’heure actuelle ce service est g´en´eralement propos´e en analogique, mais la technologie veut que cela change : ainsi mon projet a ´et´e de r´ealiser ce service de mani`ere totalement num´erique avec une compatibilit´e avec les lignes analogiques pour les fournisseurs non ´equip´es. De plus comme le syst`eme sera reli´e `a Internet, pourquoi ne faire passer que de la voix et pas aussi des donn´ees, nous avons donc regard´e `a d´evelopper un syst`eme permettant de diagnostiquer l’ascenseur et le configurer `a distance, sans a avoir `a faire d´eplacer un technicien.

Mots-clefs : ARM, VoIP, Asterisk, SIP, CAN, CANOpen, CanFestival, serveur SIP, client SIP, Linphone

In few months, the elevators should have a remote monitoring system, allowing making a call when a button is pushing. At this time, this service is commonly purposed in analog, but the technology like change, so my project was to accom- plish this service in a numerical way with a compatibility with the analog phone for the persons with only an analog phone. Moreover the system will be connected to the Internet, so why only use this for the voice and not for data, we have see to develop a system to diagnostics and configure the elevator without having to make move a technician.

Keywords : ARM, VoIP, Asterisk, SIP, CAN, CANOpen, CanFestival, SIP server, SIP client, Linphone

Références

Documents relatifs

Second week: getting GNU Radio running on the target system (Raspberry Pi4) – demonstration with FM broadcast radio demodulation and sound transfer to the host used as sound card

Nous parlerons donc ici de l'acheminement du mail, depuis le MTA, vers IMAP, vers votre client mail,

Le script accounts.py crée automatiquement un tel lien symbolique, lequel pointe vers un fichier qui s'appelle lui aussi background et qui est censé se trouver dans le

RedBoot apporte des fonctions intéressantes concernant des points comme le démarrage d’un système via réseau (bootp et tftpboot), la gestion de la mémoire flash, le télécharge-

Toute reproduction, même partielle, tout transfert à un tiers sous quelque forme que ce soit, sont strictement interdits sans autorisation écrite de STERIA... Installation,

GNU/Linux Magazine N°113 - Février 2009 - Chez votre marchand de journaux Linux Pratique Essentiel N°6 - Février/Mars 2009 - Chez votre marchand de journaux.. Le pavage

Cependant, il ne faut pas paniquer si votre serveur est la cible d’un simple scan de port, cela sera monnaie courante, et si vous êtes bien protégé, le pirate passera sa

Work queues defer work into a kernel thread—this bottom half always runs in process context.Thus, code deferred to a work queue has all the usual benefits of process context..