Guide de mise en oeuvre de PEGASE Plateforme Experte Générique pour Applications Sans- l Embarquées
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
www.ifsttar.fr vincent.le-cam@ifsttar.fr www.a3ip.com 02-40-84-57-78 benoit.mathonnet@a3ip.com 02-40-94-78-41 Guide de mise en oeuvre de PEGASE Plateforme Experte Générique pour Applications Sans-l Embarquées Vincent LE CAM. William MARTIN. Octobre 2011 - Version 1.F
Versions du document V1.F, le 28 octobre 2011 1. Correction et remise en forme pratique du document 2. Intégration du passage de 32 Mo à 64 Mo de RAM V1.E, le 17 septembre 2010 1. Ajout de SSH client et serveur 2. Ajout de stratégies d'économie d'énergie 3. Ajout de l'authentication sur les sessions telnet 4. Ajout du support de la carte lle 8 voies analogiques bipolaire 5. Modication de la mise en place de la toolchain 6. Ajout de la librairie PEGASE 7. Mise a jour de la version de uClinux (2009R1.1-RC4) V1.D 1. Ajout de la procédure d'extinction du module WiFi 2. Mise a jour de la version de uClinux (2008R1.5) V1.C 1. Ajout de la FAQ 2. Amélioration de l'exemple TestServeurTCPIP 3. Amélioration de l'exemple Envoi de signaux à un superviseur V1.B 1. Remplacement de l'exemple TestGPS par un exemple plus complet TestHeureAb- solue V1.A 1. Création du document II
Ce document est distribué sous licence Creative Commons Paternité-Partage des Condi- tions Initiales à l'Identique (http://creativecommons.org/licenses/by-sa/2.0/). Vous êtes libres de : reproduire, distribuer et communiquer cette création au public modier cette création Selon les conditions suivantes : Paternité. Vous devez citer le nom de l'auteur ori- ginal de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autori- sation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre). Partage des Conditions Initiales à l'Identique. Si vous modiez, transformez ou adaptez cette créa- tion, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci. III
Table des matières 1 Présentation générale 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Un concept phare: la généricité . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Protocole TCP/IP via WiFi 802.11g . . . . . . . . . . . . . . . . . . . . 5 1.4 PEGASE: une plateforme télé-opérable . . . . . . . . . . . . . . . . . . . 7 1.5 Contenu du kit PEGASE . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Présentation détaillée de PEGASE 8 2.1 Principaux composants de la carte mère . . . . . . . . . . . . . . . . . . 8 2.2 Caractéristiques de consommation électrique . . . . . . . . . . . . . . . . 8 2.3 Mode de Démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Connectique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Démarrage rapide 13 4 Mise en place de l'environnement de travail 14 4.1 Principe de la compilation croisée . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Installation d'outils annexes . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3 Installation du Kit de développement . . . . . . . . . . . . . . . . . . . . 15 4.4 La distribution LCPC 2011.1 . . . . . . . . . . . . . . . . . . . . . . . . 16 5 Decouvrir et exploiter la distribution LCPC 2011.1 18 5.1 Compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Partitionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.3 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.4 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.4.1 Réseau - Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . 19 5.4.2 Réseau - Stratégies de connexion . . . . . . . . . . . . . . . . . . 21 5.4.3 Démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.5 Services réseau de PEGASE . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.5.1 Service Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.5.2 Service SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.5.3 Service FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.5.4 Serveur Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.6 Mettre à jour la distribution Linux - Télécharger une application métier . 30 5.6.1 Mettre à jour la distribution Linux . . . . . . . . . . . . . . . . . 30 5.6.2 Télécharger une application métier . . . . . . . . . . . . . . . . . 30 5.7 Diérence entre la distribution principale et celle de secours . . . . . . . 31 5.8 Gestion de l'énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.8.1 Le module WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.8.2 La mise en veille . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.8.3 Le réglage de la fréquence coeur du Blackn . . . . . . . . . . . . 33 5.8.4 Allumage/extinction du module GPS . . . . . . . . . . . . . . . . 34 5.8.5 Introduction pour un fonctionnement sur panneau solaire . . . . . 34 IV
6 Développer ses propres applications 37 6.1 Description générale de la librairie PEGASE . . . . . . . . . . . . . . . . 37 6.2 Description du contenu de la librairie PEGASE . . . . . . . . . . . . . . 38 6.3 Exemples d'utilisation de la librairie PEGASE . . . . . . . . . . . . . . . 41 6.4 Préambule à l'utilisation de la librairie dans son application . . . . . . . 42 6.4.1 Compiler une fois la distribution LCPC 2011.1 . . . . . . . . . . . 42 6.4.2 Repartir systématiquement de l'exemple donné . . . . . . . . . . . 42 6.4.3 Zoom sur le chier Makele donné . . . . . . . . . . . . . . . . . 43 6.5 Procédure pour créer et compiler son application . . . . . . . . . . . . . . 45 6.6 Commandes d'accès distant depuis PEGASE . . . . . . . . . . . . . . . . 46 6.7 Utilisation du debugger GDB . . . . . . . . . . . . . . . . . . . . . . . . 48 7 Liste des cartes lles 50 7.1 Carte de débug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.2 Carte Multi-UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.3 Carte Controller Area Network (CAN) . . . . . . . . . . . . . . . . . . . 51 7.4 Carte Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.5 Carte Convertisseur Analogique-Numérique, 8 voies . . . . . . . . . . . . 52 8 Fabriquer une carte lle 52 9 FAQ 53 10 Annexes 55 10.1 Schémas de PEGASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.2 Schémas de la carte lle de debug pour PEGASE . . . . . . . . . . . . . 59 10.3 Implantation des composants . . . . . . . . . . . . . . . . . . . . . . . . 61 10.4 Dimentions de PEGASE . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 10.5 Détails des connecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Table des gures 1 Connecteurs d'extension de la carte mère . . . . . . . . . . . . . . . . . . 2 2 Exemples de cartes lles . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Architecture du système Linux . . . . . . . . . . . . . . . . . . . . . . . . 3 4 Origine de la distribution LCPC 2011.1 . . . . . . . . . . . . . . . . . . . 4 5 La pile TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 Modes de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7 Disposition des connecteurs de PEGASE . . . . . . . . . . . . . . . . . . 10 8 Alimentation directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9 Alimentation via une carte lle à concevoir . . . . . . . . . . . . . . . . . 11 10 La compilation croisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 11 Partitionnement de la mémoire NAND Flash . . . . . . . . . . . . . . . . 18 12 Adresse MAC d'un module WiFi sur une carte PEGASE . . . . . . . . . 20 13 Connexion au FTP de PEGASE . . . . . . . . . . . . . . . . . . . . . . . 26 14 Nautilus en mode FTP sur PEGASE . . . . . . . . . . . . . . . . . . . . 26 15 Serveur web - Page d'acceuil . . . . . . . . . . . . . . . . . . . . . . . . . 27 16 Serveur web - Script de démarrage . . . . . . . . . . . . . . . . . . . . . 27 V
17 Serveur web - Liste des processus . . . . . . . . . . . . . . . . . . . . . . 28 18 Serveur web - Conguration réseau . . . . . . . . . . . . . . . . . . . . . 28 19 Serveur web - Édition de la conguration réseau . . . . . . . . . . . . . . 29 20 Serveur web - Édition de chier . . . . . . . . . . . . . . . . . . . . . . . 29 21 Évolution du courant consommé lors de la dés/activation du module WiFi 32 22 Évolution du courant consommé lors de l'appel du script pegase-sleep.sh 33 23 Un panneau solaire polycristallin . . . . . . . . . . . . . . . . . . . . . . 35 24 Principe du montage Boost et du MPPT sur PEGASE . . . . . . . . . . 35 25 Future carte lle intermédiaire assurant l'autonomie de PEGASE . . . . 36 26 Accès SSH à PEGASE depuis le navigateur de chiers Nautilus du PC . 47 27 Carte lle - Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 28 Carte lle - Multi-UART . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 29 Carte lle - Controller Area Network . . . . . . . . . . . . . . . . . . . . 51 30 Carte lle - Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 31 Carte lle - Convertisseur Analogique-Numérique, 8 voies . . . . . . . . . 52 32 Schéma de PEGASE - CPU, RAM, Flash (1/4) . . . . . . . . . . . . . . 55 33 Schéma de PEGASE - GPS, Wi, RTC, Boot mode (2/4) . . . . . . . . . 56 34 Schéma de PEGASE - Connectique (3/4) . . . . . . . . . . . . . . . . . . 57 35 Schéma de PEGASE - Alimentation (4/4) . . . . . . . . . . . . . . . . . 58 36 Schéma de la carte lle de debug pour PEGASE (1/2) . . . . . . . . . . 59 37 Schéma de la carte lle de debug pour PEGASE (2/2) . . . . . . . . . . 60 38 Schéma d'implantation des composants de PEGASE . . . . . . . . . . . . 61 39 Dimensions globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 40 Emplacements des percages . . . . . . . . . . . . . . . . . . . . . . . . . 63 41 Emplacements des connecteurs d'extention . . . . . . . . . . . . . . . . . 64 Liste des tableaux 1 Limites électriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Consommation de la carte mère suivant l'utilisation des principaux péri- phériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Liste des connecteurs de PEGASE . . . . . . . . . . . . . . . . . . . . . . 10 4 Diérence entre le rmware principal et de secours . . . . . . . . . . . . . 31 5 Consommation du système PEGASE-CASC en fonction du temps d'ex- tinction du GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6 Description des connecteurs SV1 et SV2 . . . . . . . . . . . . . . . . . . 65 7 Détails du connecteur SV3 . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Liste des codes sources 1 Exemple d'écriture sur un port RS232 . . . . . . . . . . . . . . . . . . . . 5 2 Exemple d'écriture sur une socket . . . . . . . . . . . . . . . . . . . . . . 6 3 Fichier version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4 Fichier wi.conf avec une conguration par DHCP . . . . . . . . . . . . . 20 5 Fichier wi.conf avec une conguration manuelle . . . . . . . . . . . . . . 20 6 Fichier autorun.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7 Exemple d'utilisation de la librairie PEGASE . . . . . . . . . . . . . . . 41 VI
1 Présentation générale 1 1 Présentation générale 1.1 Introduction Ce document constitue le guide de mise en oeuvre de la plateforme PEGASE d'IFST- TAR. PEGASE signie Plateforme Experte Générique pour Applications Sans-l Embarquées. Le but est de présenter à l'utilisateur, de façon précise, le fonctionnement matériel et logiciel du système et de le rendre autonome, c'est à dire capable de l'utiliser pour y implémenter ses propres applications. Issue de la capitalisation des travaux développés au département Mesure, Ausculta- tion et Calcul Scientique d'IFSTTAR (Institut Français des Sciences et Techniques des Transports de l'Aménagement et des Réseaux), cette plateforme s'adresse à des entre- prises, bureaux d'études, laboratoires,... désirant développer des applications sur système embarqué intelligent de type Linux, communiquant sans-l et orant de grandes capacités réseau pour: L'instrumentation sans-l répartie Le monitoring / contrôle de structures La mesures hétérogènes / traitement de signal Les télécommunications, réseau IP Les communications Véhicules / Infrastructures Le géo-positionnement Le Prototypage sans-l etc. La mise en oeuvre, l'utilisation et le développement d'applications sur la base du sys- tème PEGASE impliquent que l'utilisateur possède des compétences en Informa- tique Industrielle, en programmation en langage C standard sous Linux. En revanche, l'un des points fort du concept est que l'utilisateur n'a pas à se familiariser avec le processeur retenu ni son mode de programmation spécique. 1.2 Un concept phare: la généricité PEGASE a été conçue pour factoriser les besoins redondants des projets d'instru- mentation tels que la communication sans-l, la datation, le traitement de signal,. . . Elle permet de mutualiser les coûts liés au choix des technologies à employer, les études ma- térielles et logicielles, ainsi que les mises au points. Cette plateforme permet donc de capitaliser un savoir faire entre de nombreux projets réduisant ainsi les coûts, et le cycle de développement d'un nouveau système. PEGASE peut être utilisée comme un moyen de prototypage rapide, ou bien comme solution technique dans un produit ni. Elle intégre une librairie partagée qui permet de piloter la plupart des ports d'entrées/sorties, an de simplier et d'accélerer le de- veloppement d'application. Elle permet aussi de gérer le fonctionnement des principaux périphériques comme le CPU, le WiFi et le GPS, an de maîtriser la consommation éner- gétique de PEGASE. Cette librairie PEGASE permet de concentrer principalement les eorts de developpement sur la partie métier et intelligence de l'application. Guide de mise en oeuvre de PEGASE Version: 1.F
1 Présentation générale 2 La solution 100% sans-l peut être optenue en dénissant l'alimentation de PEGASE sur un couple batterie et panneau solaire. Toutefois, PEGASE étant une plateforme gé- nérique, chaque solution sur panneau solaire et batterie doit faire l'objet d'une étude détaillée tenant compte du prol de consommation de l'application. Des éléments de réponse sont fournis dans ce document. Généricité matérielle An de couvrir un spectre d'applications le plus large possible, PEGASE s'articule autour d'un processeur DSP (Digital Signal Processor) c'est à dire un processeur orienté traitement de signal possèdant de nombreux ports d'entrées/sorties. Outre la variété de ses ports, le Blackn 537 d'Analog Device est un processeur 32 bits basse consommation dont le routage est optimisé pour adresser des mémoires RAM et FLASH et un module PCMCIA WiFi pour la communication sans-l (Voir 2). Sur une carte dite carte mère, PEGASE intègre le processeur Blackn 537, de la mé- moire, un module de communication sans-l WiFi 802.11g et un module GPS. L'ensemble des ports d'entrées/sorties du processeur sont routés sur deux connecteurs SV1 et SV2; l'alimentation est accessible via le connecteur SV3, comme le montre la gure ci-dessous. Figure 1 Connecteurs d'extension de la carte mère Ainsi, pour une application donnée, l'utilisateur aura à spécier et à concevoir une carte électronique dite carte lle mettant simplement en oeuvre les fonctionnalités d'acquisition (voire d'action) et le conditionnement associé. En général, la carte lle comprend quelques composants discrets tels que: des capteurs: accéléromètre, jauge de température, débimètre, inclinomètre,... des convertisseurs analogique/numérique et leur conditionnement des actionneurs des relais des leds etc. Guide de mise en oeuvre de PEGASE Version: 1.F
1 Présentation générale 3 La carte lle, de conception généralement simple, pourra être réalisée ou sous-traitée par l'utilisateur à bas coûts et dans des délais réduits. Elle s'interface avec la carte mère de PEGASE via les connecteurs normalisés SV1, SV2 et SV3. En fonction de l'application et des composants retenus pour concevoir la carte lle, l'utilisateur sélectionnera les ports d'entrée/sortie nécessaires de la carte mère sur les connecteurs SV1 et SV2: port SPI, GPIO, PWM, etc. Les dimensions de la carte mère, ainsi que le schéma de la carte lle de debug sont disponibles en annexe, an de pouvoir réaliser soi-même une carte lle. Figure 2 Exemples de cartes lles Généricité logicielle L'implémentation d'une couche d'abstraction logicielle entre les ressources physiques liées au processeur Blackn 537 et les codes applicatifs métiers à développer rendent ces codes sources indépendants des choix matériels. Cette couche d'abstraction correspond au système Linux embarqué sur PEGASE. En outre, l'ensemble des codes que l'utilisateur sera amené à développer sera portable et réutilisable sur d'autres plateformes à base de Linux. Application & Métier Abstraction Shell Noyau Linux Carte PEGASE (Matériel) Figure 3 Architecture du système Linux La carte PEGASE est fournie opérationnelle et donc pré-ashée d'un noyau Linux conguré pour les ressources de la carte. Cette conguration du noyau de base uClinux [3] version 2009R1.1-RC4 en une version adaptée à PEGASE est ici dénommée distribution LCPC 2011.1. Guide de mise en oeuvre de PEGASE Version: 1.F
1 Présentation générale 4 Linux uClinux LCPC 2011.1 Cible Multiple PEGASE Figure 4 Origine de la distribution LCPC 2011.1 Ainsi, pour une application donnée, l'utilisateur aura à spécier et à développer le code source permettant de piloter telle ou telle fonction de la carte mère ou de la carte lle. Exemples: ouverture d'un port série RS232 (TTY) lecture de la trame GPS lecture d'échantillons sur le port SPI mise en place d'une interruption sur la montée d'un port ag GPIO écriture d'un état 0 ou 1 sur une LED mise en oeuvre d'un algorithme de calcul/mesure utilisation des fonctions du DSP: implémentation d'un modèle, FFT, ltrage, calcul matriciel,. . . etc. Pour démarrer les premiers développements il est fortement recommandé de s'inspirer des exemples donnés dans le présent document au chapitre (Voir 6.1). Ils sont représenta- tifs de l'utilisation de la chaîne de développement et du pilotage des ressources du Blackn 537 via Linux. Les développements seront réalisés typiquement en langage ANSI C stan- dard, ou bien en language C++. Pour s'aider, l'utilisateur pourra également s'appuyer sur la communauté de l'open source très active sur Internet. D'une façon générale, le développement d'applications s'exécutant sur noyau Linux permet la production de codes sources concis et portables. Pour des applications très spéciques, l'utilisateur aguerri dispose de l'ensemble des sources du noyau uClinux et de sa conguration pour produire la distribution LCPC 2011.1. Il pourra ainsi modier la conguration du noyau pour modier la priorité d'une interruption, pour augmenter ou diminuer sa capacité à prendre en charge tel ou tel driver, tel ou tel périphérique, etc. De même, pour piloter diéremment un périphérique existant (exemple: les ports ag GPIO) ou pour que le noyau Linux embarqué pilote spéciquement un nouveau périphé- rique, l'utilisateur pourra développer ses propres drivers. Guide de mise en oeuvre de PEGASE Version: 1.F
1 Présentation générale 5 #include #include 1 < s y s / t y p e s . h> #include 2 < s y s / s t a t . h> #include 3 < f c n t l . h> 4 < u n i s t d . h> int int char 5 6 main ( argc , ∗∗ a r g v ) int 7 { const char 8 fd ; 9 buffer [ ] = " Hello world ! \ n" ; 10 11 / ∗ Ouverture ∗/ if 12 fd = open ( " / d e v / t t y S 0 " , O_RDWR) ; return 13 ( fd < 0) 14 − 1; 15 ∗ ∗/ sizeof 16 / Ecriture 17 write ( fd , buffer , ( buffer )); 18 19 / ∗ Fermeture ∗/ return 20 close ( fd ) ; 21 0; 22 } Code source 1 Exemple d'écriture sur un port RS232 1.3 Protocole TCP/IP via WiFi 802.11g Le mode de communication natif de PEGASE est l'Internet Protocol (IP). Ce protocole mondial et pérenne ( 40 ans) permet d'intégrer directement le système dans des réseaux hétérogènes, de grandes dimensions, c'est à dire indépendamment de la nature des autres entités du réseau IP: PC, imprimantes, routeurs, autres matériels IP. Le caractère stan- dard et massivement répandu de l'IP ( 98% des réseaux mondiaux) permet de déployer en quelques minutes et à bas coût un système à base de cartes PEGASE. Seuls un PC traditionnel et un point d'accès WiFi du commerce sont nécessaires. Physiquement, le protocole IP est indépendant de la solution matérielle choisie pour l'implémenter: Ethernet (802.3), TokenRing (802.5), GPRS, UMTS, WiFi (802.11x). Aussi, l'ensemble des codes développés sur PEGASE basés sur l'IP sera portable sur toute autre plateforme implémentant l'IP. Dans le cas de PEGASE, le standard physique d'implémentation est le WiFi 802.11b/g [4]. Cette norme est massivement déployée et permet d'envisager un débit théorique de 54 Mbits/s. Le protocole TCP/IP recommandé pour les développements permet d'établir des com- munications ables, haut débit, sans pertes de données, et avec vérication de l'intégrité de celle-ci. Guide de mise en oeuvre de PEGASE Version: 1.F
1 Présentation générale 6 Application 7 Application 6 Présentation 5 Session Transport 4 Transport Internet 3 Réseau 2 Liaison de donnée Accès réseau 1 Physique Figure 5 La pile TCP/IP #include #include 1 < n e t i n e t / i n . h> #include 2 < s y s / s o c k e t . h> 3 < u n i s t d . h> int int char 4 5 main ( argc , ∗∗ a r g v ) int 6 { struct 7 fd ; const char 8 sockaddr_in config ; 9 buffer [ ] = " Hello world ! \ n" ; 10 11 / ∗ Creation ∗/ if 12 fd = socket ( PF_INET , SOCK_STREAM, 0); return 13 ( fd < 0) 14 − 1; 15 16 / ∗ Connexion ∗/ 17 config . sin_family = PF_INET ; 18 c o n f i g . s i n _ a d d r . s_addr = inet_addr ( " 1 9 2 . 1 6 8 . 0 . 1 " ) ; sizeof 19 c o n f i g . sin_port = htons ( 2 2 ) ; 20 connect ( fd , &c o n f i g , ( config )); 21 ∗ ∗/ sizeof 22 / Envoie d ' un message 23 send ( fd , buffer , ( buffer ) , MSG_CONFIRM ) ; 24 25 / ∗ Fermeture ∗/ 26 shutdown ( fd , SHUT_RDWR) ; return 27 close ( fd ) ; 28 0; 29 } Code source 2 Exemple d'écriture sur une socket Guide de mise en oeuvre de PEGASE Version: 1.F
1 Présentation générale 7 1.4 PEGASE: une plateforme télé-opérable Dès son démarrage, PEGASE lance l'exécution du noyau Linux. Les applications mé- tiers peuvent être automatiquement lancées via les scripts de démarrage. La combinaison de la communication WiFi et du service Telnet, SSH nativement inclu dans tout noyau Linux, permet à l'utilisateur d'ouvrir à distance une session sur PEGASE. Exemple: de- puis le PC de supervision du réseau WiFi, l'utilisateur se connecte à PEGASE en lançant le client universel Telnet (disponible depuis tout PC sous Windows, Linux, Unix, etc.). Le développeur comme l'utilisateur nal pourra, à distance, arrêter une ap- plication, la supprimer, télécharger une nouvelle application, arrêter un ser- vice...sans avoir à démonter et à reprogrammer physiquement la plateforme PEGASE de son lieu d'usage. Aussi, sauf panne ou évolution matérielle sur la conception du produit, le système devient totalement téléopérable et permet d'envisager des économies vis à vis des coûts liés aux opérations d'installation/démontage de tels systèmes. 1.5 Contenu du kit PEGASE Pour toute acquisition du kit PEGASE auprès de la société A3IP 1 , la livraison com- prend : La (les) carte(s) PEGASE et les antennes GPS et WiFi Une carte lle de debug comportant : l'interface RS232, 6 leds, 3 boutons poussoirs (cf le détail en Annexes "Schémas") Le présent Guide de mise en oeuvre opérationnelle de PEGASE au format PDF Plusieurs documents techniques dont : La documentation du Blackn 537 distribué par Analog Device La documentation du module GPS Copernicus distribué par Trimble La toolchain uClinux : les compilateurs nécessaires au développement d'applications métier Les sources du noyau uClinux conguré pour PEGASE pour générer la distribution LCPC 2011.1 Les sources des programmes de démonstration complet utilisant la plupart des classes disponibles dans la librairie PEGASE. Ceux-ci sont réutilisables pour lancer de nouveaux développements rapidement. Le schéma type de la carte lle livrée permettant d'envisager rapidement le routage de nouvelles cartes lles (Voir Annexe 10.2) En option : Un boitier étanche IP68 (référence : Rolec EK0282) Deux paires de connecteurs étanches (embase mâle et che femelle) IP68 4 broches (référence : Hypertac CUO412340 et CXU041124014) 1. http://www.a3ip.com Guide de mise en oeuvre de PEGASE Version: 1.F
2 Présentation détaillée de PEGASE 8 2 Présentation détaillée de PEGASE 2.1 Principaux composants de la carte mère Les principaux composants de la carte mère sont : Processeur DSP, Blackn 537 64Mo de SDRAM 100MHz (nouveauté V1.F) 16Mo de NAND Flash (Système d'exploitation Linux) 512Ko de eeprom (Bootloader U-Boot) Récepteur GPS Trimble Copernicus, avec antenne déportée Module WiFi Libertas 802.11b/g, avec antenne déportée 3 connecteurs d'extentions : SV1, SV2, SV3 2.2 Caractéristiques de consommation électrique Le tableau ci-dessous présente les échelles de consommation de la carte PEGASE avec une carte lle de debug, suivant l'utilisation du module WiFi, du GPS, et du mode veille du DSP Blackn. Symbole Paramètre Minimum Typique Maximum Unité Vcc Alimentation de la carte 8 12 24 V Table 1 Limites électriques Core Tension Sleep Icc Power Clock WiFi GPS (V) mode (mA) (mW) (MHz) Xa X × 115 1380 Xb X × 130 1560 500 × X × 44 528 12 × × × 30 360 250 × × × 22 264 - × × X 16 192 a. Mesures éectuées sans activité notable sur la carte WiFi b. Mesures éectées lors du téléchargement d'un chier à la vitesse maximum de 54Mb/s. Table 2 Consommation de la carte mère suivant l'utilisation des principaux périphé- riques La consommation augmente lors d'une charge CPU importante. Le fonctionnement des programmmes doit donc être évènementiel et éviter toute forme de polling . Ce type de comportement est largement utilisé dans la librairie PEGASE grâce au mécanisme des Callback . Par défaut, le processeur Blackn 537 n'est pas en Sleep mode . L'utilisateur pourra activer celui-ci à l'aide du programme pegase-sleep.sh , celui-ci prend en paramètre le temps (en seconde) que la carte PEGASE passera dans ce mode endormi. Guide de mise en oeuvre de PEGASE Version: 1.F
2 Présentation détaillée de PEGASE 9 2.3 Mode de Démarrage La séquence de démarrage dépend de la présence, ou non, du jumper JP1(voir 2.4). Sans JP1 Le Blackn 537 démarre dans le mode SPI Maitre . Il exécute le programme U-Boot contenu dans la mémoire eeprom qu'il adresse via sur le bus SPI. Ce bootloader permet de mettre en place le noyau Linux et de l'exécuter. Ce mode est le mode par défaut qu'il est recommandé de conserver. Avec JP1 Le Blackn 537 démarre dans le mode UART Esclave . C'est un mode de secours qui permet de reprendre la main lorsque le bootloader est défaillant ou inexistant, lors du premier démarrage en usine par exemple. Le processeur démarre sur un programme qui lui est transféré par le port série. Au démarrage, le bootloader U-Boot cherchera un environnement Linux valide à l'adresse 0x300000 de la mémoire NAND Flash (partition mtd1 sous Linux). Si cet en- vironnement est endommagé alors le bootloader cherchera automatiquement à charger l'environnement de secours à l'adresse 0x0 (partition mtd0 sous Linux). Le partitionne- ment est expliqué dans la section 5.2. Les modes de démarrage sont détaillés dans la documentation ocielle du Blackn 537 [6]. PEGASE est livrée pré-ashée avec le bootloader U-Boot dans la mémoire ee- prom et la distribution LCPC 2011.1 dans la mémoire NAND Flash . L'utilisation du mode de démarrage de secours est exceptionnel (lors d'une défaillance du bootloader par exemple). Mise sous Tension présent JP1 ? UART Esclave absent SPI Maitre U-Boot non Autorun ? Console U-Boot oui Chargement de Linux Figure 6 Modes de démarrage Guide de mise en oeuvre de PEGASE Version: 1.F
2 Présentation détaillée de PEGASE 10 Désignation Description J1 Connecteur de l'antenne WiFi secondaire J2 Connecteur de l'antenne WiFi principale JP1 Mode de démarrage JP2 Connecteur JTAG (IEEE 1149.1) SV1 SV2 Connecteurs d'extension pour la carte lle SV3 X1 Connecteur de l'antenne GPS X2 Alimentation Table 3 Liste des connecteurs de PEGASE 2.4 Connectique Le détail des connecteurs SW1, SW2 et SW3 est donné en annexe (Voir 10.5). Figure 7 Disposition des connecteurs de PEGASE Les connecteurs d'antennes J1 et J2 ne sont pas représentés sur la gure, car ils se trouvent sur le module WiFi lui-même. En l'absence de carte lle, il est nécessaire de placer un jumper reliant SV3-3 (ou SV3- 5) à SV3-4 (ou SV3-6). Dans ce cas, la carte PEGASE est directement alimentée par le potentiel appliqué sur le bornier X2. D'une manière générale, PEGASE n'est pas prévue pour fonctionner sans carte lle. Il est vivement conseillé de garder la carte lle de debug livrée avec PEGASE pour débuter les développements. Gestion de l'alimentation - Connecteur SV3 PEGASE peut fonctionner sur une batterie (LiPo, Li-Ion, NiMH, Plomb) ou sur une source de tension continue DC (8/24 V). L'utilisateur a la possibilité d'alimenter la carte PEGASE: Guide de mise en oeuvre de PEGASE Version: 1.F
2 Présentation détaillée de PEGASE 11 directement et simplement en reliant la tension batterie aux bornes du connecteur X2 de la façon suivante: X2-1 au 8-24V et X2-2 au GND. Dans ce cas l'utilisateur connecte un jumper sur le connecteur SV3 pour relier: SV3-3 à SV3-4 ou bien (résultat identique) SV3-5 à SV3-6. par une gestion intelligente de l'alimentation via une carte lle à concevoir. En eet, la tension batterie appliquée sur X2-1 est reportée sur le connecteur SV3-4 (ou SV3-6), l'alimentation de la carte PEGASE dépend du potentiel appliqué sur SV3-3 (ou SV3-5). Aussi, la carte lle à concevoir intégrera une source additionnelle d'alimentation (panneau solaire, éolien,...) permettant l'alimentation de PEGASE sur SV3-3 (ou SV3-5) et la recharge de la batterie sur SV3-4 (ou SV3-6). Se rensei- gner auprès d'IFSTTAR pour obtenir du conseil dans le domaine de la récupération d'énergie. Les schémas ci-dessous illustrent ces 2 modes d'alimentation. Par défaut, la carte lle livrée dans le kit PEGASE relie directement SV3-3 à SV3-4, aussi la carte PEGASE est alimentée par le potentiel appliquée au bornier X2. Pas de carte fille (un cavalier) DC 8-24V 1 SV3.4 SV3.3 Alimentation carte X2 PEGASE 2 SV3.7 Figure 8 Alimentation directe Carte fille - Fusion d’énergie Panneau solaire Eolien + SV3.4 SV3.3 Alimentation Batterie 1 carte X2 PEGASE 2 SV3.7 Figure 9 Alimentation via une carte lle à concevoir Guide de mise en oeuvre de PEGASE Version: 1.F
2 Présentation détaillée de PEGASE 12 L'alimentation possible de PEGASE à l'aide d'un couple batterie et panneau solaire est illustré dans la librairie PEGASE dans la classe CSolarManager . Cette classe met en place un algorithme de MPPT (Maximum Power Point Tracking) et une solution matérielle autour d'un montage Boost à implémenter sur une carte lle. L'utilisation de cette solution nécessite une étude préalable, et il est conseillé de prendre contact avec IFSTTAR ou A3IP. Guide de mise en oeuvre de PEGASE Version: 1.F
3 Démarrage rapide 13 3 Démarrage rapide Avant de mettre en place les environnements et les outils permettant d'exploiter les ressources de la carte PEGASE, cette étape permet de mieux appréhender son bon fonc- tionnement. 1. Préparation de la carte Connecter prudemment la carte lle fournie dans le kit à la carte mère. Préparer (laisser OFF pour le moment) une alimentation stabilisée 12V DC sur le bornier X2 (12 Volts sur X2-1 et GND sur X2-2). Relier le port RS232 de la carte lle au port RS232 d'un PC à l'aide d'un câble série droit. Bien entendu, il est possible d'utiliser des adaptateurs USB vers port série si nécessaire. 2. Préparation du PC Depuis le PC, ouvrir une application de type hyperterminal (minicom, putty) sur le port série sélectionné et le congurer de la façon suivante: 115200 bauds, 8 bits de données, pas de parité, 1 bit de stop, pas de contrôle de ux (ni logiciel ni matériel). 3. Démarrage Alimenter la carte. Sur l'hyperterminal, l'utilisateur voit s'exécuter toute la sé- quence de démarrage: U-Boot, Linux (Voir ??). A l'issue de la séquence de dé- marrage, l'invite de console apparaît. L'utilisateur peut saisir quelques commandes Linux: ls, ps, cd,. . . En particulier les commandes ifcong et iwcong permettent d'acher et de paramétrer la conguration IP et WiFi (Voir 5.4.2). Guide de mise en oeuvre de PEGASE Version: 1.F
4 Mise en place de l'environnement de travail 14 4 Mise en place de l'environnement de travail Prérequis: La suite de ce document explique l'installation de l'environnement de travail sur un ordinateur fonctionnant avec la distribution Linux Ubuntu 10.04 Desktop i386 2 . Il est possible d'utiliser le système d'exploitation Microsoft Windows , toutefois ce document ne traite pas cette possibilité. 4.1 Principe de la compilation croisée Pour des raisons pratiques (absence de clavier, souris, compilateurs et de puissance de calcul), les applications métiers qui fonctionnent sur la carte PEGASE seront déve- loppées et compilées sur une autre machine, typiquement un PC. Une fois construites, ces applications sont téléchargées et exécutées sur la carte cible. C'est le principe de la compilation croisée. PC PEGASE Sources Compilation Exécution Figure 10 La compilation croisée La compilation croisée permet de construire, sur un processeur donné (un PC) des applications destinées à fonctionner sur processeur cible diérent. Ceci implique que l'or- dinateur qui a construit le programme ne pourra pas exécuter l'application; en eet, le programme utilise un jeu d'instruction propre à une architecture processeur diérente. Dans le cas de PEGASE, les programmes seront construits par un ordinateur compa- tible avec l'architecture x86 sous Ubuntu. Les chiers binaires issus de la construc- tion des programmes seront compatibles avec l'architecture Blackn . L'architecture Blackn n'est pas nativement supportée dans Ubuntu, il n'est donc pas possible d'uti- liser directement un compilateur natif tel que gcc . Il est nécessaire d'installer des compilateurs spéciques à l'architecture Blackn (voir 4.3). La suite du document décrit l'installation et l'utilisation de la chaîne de développement. 4.2 Installation d'outils annexes La chaîne de développement contient essentiellement des compilateurs, il est nécessaire d'installer des outils complémentaires pour dialoguer avec la carte ou supporter l'interface graphique (Qt) des scripts de conguration de la distribution LCPC 2011.1. Les outils sont par exemple : 2. http://www.ubuntu.com/getubuntu Guide de mise en oeuvre de PEGASE Version: 1.F
4 Mise en place de l'environnement de travail 15 minicom, putty : Programme de communication sur le port série. lrzsz : Pluggin pour Minicom pour supporter le protocole Y-Modem. tk : Ressource graphique pour les scripts écrits en Tcl. libqt3-mt-dev : Ressource graphique Qt. libncurses5-dev : Ressource graphique pour les terminaux. manpages-dev, manpages-posix-dev : Pages de manuel pour la programmation dans un environnement GNU/Linux (optionnel). La commande apt , ci-dessous, permet d'installer tous les outils annexes [2] néces- saires au bon fonctionnement. Copier/coller les lignes ci-dessous dans un terminal pour tout installer simplement: sudo apt-get install autoconf automake bash binutils bison bzip2 \ coreutils flex gawk gcc gettext grep intltool iputils-ping libtool \ libz-dev linux-libc-dev liblzo2-dev liblzo2-dev liblzo2-2 \ libncurses5 libreadline5 libreadline5-dev libncurses5-dev m4 make \ pax-utils pkg-config rpm texinfo zlib1g zlib1g-dev \ g++ qt3-apps-dev libgtk2.0-dev libglade2-dev \ manpages-dev manpages-posix-dev minicom lrzsz tk tree \ camstream L'installation d'un paquet est expliquée en détail dans la documentation Ubuntu [7] 4.3 Installation du Kit de développement Le Kit de développement est composé d'une archive contenant les compilateurs né- cessaires à la construction de la distribution LCPC 2011.1, des sources du noyau Linux, des sources des programmes utilisateurs, les sources de U-Boot, et les sources de la do- cumentation (comprenant ce document entre autre). 1. Créer un dossier de travail Ce dossier va contenir les sources de Linux, de U-Boot, et les compilateurs. # cd ~ # mkdir PEGASE 2. Copier l'archive Le chier pegase-snapshot-v1f.tar.gz est fourni sur le CD livré avec la plateforme PEGASE. Copiez ce chier dans votre dossier de travail PEGASE . 3. Extraire l'archive L'extraction des archives se fait avec les commandes suivantes depuis un terminal: # cd ~/PEGASE # tar -xzvf pegase-snapshot-v1f.tar.gz # tree -L 1 . Guide de mise en oeuvre de PEGASE Version: 1.F
4 Mise en place de l'environnement de travail 16 -- binary-images -- doc -- official-package -- open-terminal.sh -- scripts -- u-boot -- uClinux-dist Le chier pegase-snapshot-v1f.tar.gz peut être supprimé. 4. Extraire la toolchain Lors du premier lancement de open-terminal.sh , ce script extrait et installe la toolchain. Le premier lancement peut prendre quelques instants; les ouvertures suivantes du terminal à l'aide de ce script seront instantanées: # cd ~/PEGASE # ./open-terminal.sh 5. Vérication de l'installation Pour vérier la bonne installation de la chaîne de développement, appeller un des programmes de celle-ci, bn-linux-uclibc-gcc par exemple. Pour cela, il convient d'ouvrir une console à l'aide du script open- terminal.sh qui dénit automatiquement les chemins vers la toolchain. Si une console est ouverte sans ce script, il est nécessaire de congurer soi-même les che- mins vers les compilateurs, en mettant à jour la variable PATH dans le chier .bashrc . # cd ~/PEGASE # ./open-terminal.sh # bfin-linux-uclibc-gcc --version bfin-linux-uclibc-gcc (GCC) 4.1.2 (ADI svn) Copyright (C) 2006 Free Software Foundation, Inc 4.4 La distribution LCPC 2011.1 La carte PEGASE est livrée pré-ashée d'un noyau opérationnel (typiquement, un chier noyau linux uImage.initramfs est ashé sur la partition de boot) ce noyau est appelé: distribution LCPC 2011.1. Les paragraphes ci-dessous décrivent les actions possibles an de regénérer et modier cette distribution LCPC 2011.1 comprenant le noyau et les programmes d'exemples. Tou- tefois, modier, recompiler et mettre à jour un noyau uClinux sur la carte nécessitera un certain recul et une certaine expertise en matière de noyaux Linux et de systèmes embar- qués. Aussi, dans un premier temps, il est recommandé de développer des applications sur la base du noyau LCPC 2011.1 pré-ashé qui intègre nativement la prise en charge de la plupart des fonctions et des périphériques du Blackn 537. Guide de mise en oeuvre de PEGASE Version: 1.F
4 Mise en place de l'environnement de travail 17 La distribution LCPC 2011.1 correspond à la version générique du noyau uClinux 2009R1.1-RC4 modié et conguré pour fonctionner sur la carte PEGASE. Elle contient notamment les chiers de conguration permettant de générer le rmware principal (- chier: uImage.initramfs) et de secours de PEGASE. Ces rmwares contiennent le noyau Linux, les applications systèmes et une archive des applications métier à déployer lors du premier démarrage dans la partition /lcpc . Rappelons que cette partition est pérenne car elle est sauvegardée en mémoire ash 5.2. En cas d'erreur, de mauvaise manipulation, . . . il sera toujours possible d'utiliser les chiers pré-compilés fournis dans l'archive pegase-snapshot-v1e.tar.gz . Utiliser le sup- port d'A3IP ou d'IFSTTAR en cas de persistance du problème. Une fois la distribution décompressée dans un répertoire local du PC de développement, deux actions minimales sur la distribution sont nécessaires à l'aide du Makele prévu pour le noyau. Pour cela, il faut, avec open-terminal.sh, ouvrir un terminal dans le répertoire racine de la distribution décompressée (.../pegase/uClinux-dist/)et saisir: make xcong: à partir d'une interface graphique (Qt) un ensemble de menus nor- malisés pour la conguration des noyaux Linux apparaissent. Ici la distribution proposée LCPC 2011.1 peut être modiée. Attention: bien sélectionner le construc- teur Analog Device et la cible: PEGASE. make : Construction du noyau Linux et des applications comprises dans la distri- bution. Attention, la première compilation peut prendre plusieurs minutes. Les commandes make xcong et make sont les commandes minimales. S'il n'y a pas d'erreur de compilation, les chiers uImage.initramfs et uImage.initramfs.md5 sont disponibles dans le répertoire uClinux-dist/images . Par ailleurs, pour aller plus loin il existe d'autres régles dans ce Makele, comme : make menucong : Conguration du noyau Linux et de la distribution, avec une interface graphique (ncurses) make clean : Supprime tous les chiers générés lors des commandes précédentes. make mrproper : Supprime tous les chiers générés lors des commandes précé- dentes, ainsi que les modications des congurations. make romfs : Reconstruit le chier uImage.initramfs à partir du contenu du dossier romfs . Aucune compilation n'est eectuée. La mise à jour de l'environnement Linux sur la carte PEGASE est expliquée dans la partie 5.6 du document. Pour aller plus loin ou pour mieux comprendre et exploiter les congurations possibles d'un noyau uClinux, se reporter à la documentation fournie par la communauté uCli- nux.org [1]. Rappelons que le noyau LCPC 2011.1 proposé pour le produit PEGASE se veut relativement exhaustif des capacités de la carte. Guide de mise en oeuvre de PEGASE Version: 1.F
5 Decouvrir et exploiter la distribution LCPC 2011.1 18 5 Decouvrir et exploiter la distribution LCPC 2011.1 La distribution fournie pour PEGASE s'appelle LCPC 2011.1 . Elle est basée sur la distribution générique uClinux fournie originellement par www.uClinux.org. La distribution LCPC 2011.1 apporte de nombreuses modications par rapport à la version précédente comme : un partitionnement diérent, le support du module WiFi, des drivers spéciques, une interface web étendue, une séquence de démarrage plus élaborée. . . Le nom de la distribution est composé de LCPC qui indique que la distribution est précongurée pour la plateforme développée par IFSTTAR (ex Laboratoire Central des Ponts et Chaussées) et de 2011.1 qui signie qu'il s'agit de la version 1 de l'année 2011. Les paragraphes ci-dessous ont pour but de décrire les enrichissements apportés par la distribution LCPC 2011.1 dont en particulier: le partitionnement de la mémoire, la conguration du réseau IP/WiFi de la carte, sa séquence de démarrage, les services réseaux dont le site web embarqué et développé spéciquement pour la carte. Enn, comme évoqué lors de l'étape précédente, le processus de mise à jour (éventuelle) du noyau est décrit. Pour comprendre concrètement les notions développées, il est conseillé de manipuler parallèlement sur la carte cible en reprenant la conguration décrite dans la partie 3 du document. 5.1 Compte utilisateur La distribution LCPC 2011.1 possède un compte utilisateur unique : root . Ce compte est utilisé pour l'authentication sur les services SSH, Telnet et FTP sur la carte PEGASE. Lors du déploiement opérationnel d'une application, il est conseillé de changer le mot de passe, en éditant le chier uClinux-dist/vendors/AnalogDevices/common/passwd . Utilisateur : root Mot de passe : uClinux (défaut ) 5.2 Partitionnement La mémoire NAND Flash de 16Mo est partitionnée de la manière suivante : mtd0 mtd1 mtd2 (3Mo) (7Mo) (6Mo - Yaffs) Figure 11 Partitionnement de la mémoire NAND Flash Guide de mise en oeuvre de PEGASE Version: 1.F
5 Decouvrir et exploiter la distribution LCPC 2011.1 19 mtd0 : Partition de 3Mo contenant la distribution LCPC 2011.1-RESCUE. Cette partition est une partition de secours permettant de recouvrer un environnement Linux opérationnel en cas de problème sur la partition principale. La distribution contenue dans cette partition est moins complète an de faire moins de 3Mo (Voir 5.7). mtd1 : Partition de 7Mo contenant par défaut la distribution LCPC 2011.1 d'ori- gine. C'est la partition principale utilisée par défaut lors du démarrage de PEGASE. Cette partition pourra être mise à jour par l'utilisateur. mtd2 : Partition de 6Mo contenant un système de chier (Yas). Cette partition est dite métier. C'est dans cette partition que l'utilisateur stockera les applications métiers (chiers de conguration, de données, etc.). La partition mtd2 est montée automatiquement au démarrage au point de montage nommé /lcpc . 5.3 Version Le chier version permet de connaitre la version de la distribution utilisée. Ce chier contient le nom de la distribution et la date de sa construction. Ce chier se situe à la racine du système de chier, soit /version . 1 FW_NAME=LCPC 2011.1 2 FW_DATE=l u n d i 14 novembre 2011 , 18:21:56 (UTC+ 0 2 0 0 ) Code source 3 Fichier version 5.4 Conguration Il existe deux chiers congurables an de personnaliser la conguration réseau et la séquence de démarrage de PEGASE. 5.4.1 Réseau - Paramétrage Le chier /lcpc/wi.conf détermine la conguration réseau. Les paramètres qu'il contient sont utilisés par le script /lcpc/connect.sh an de xer la conguration WiFi et IP de la carte. Ce chier peut être édité et modié directement en ligne de commande, ou via l'interface web (Voir 5.5.4). Par défaut, le chier /lcpc/wi.conf xe les principaux paramètres suivant : SSID : AP_SSID_AP1 (par défaut). Représente le nom du réseau sans-l de l'uti- lisateur. SSID_KEY: (vide par défaut) Représente une clé WEP au format hexadécimal (10-24 digits), uniquement pour les réseaux sécuriser. Guide de mise en oeuvre de PEGASE Version: 1.F
5 Decouvrir et exploiter la distribution LCPC 2011.1 20 IP : Le mot clé DHCP (par défaut) indiquera une conguration IP par DHCP. Il est aussi possible de spécier manuellement une adresse IP. MASQUE : Masque de sous-réseau, uniquement pour une conguration manuelle. PASSERELLE : Passerelle internet, uniquement pour une conguration manuelle. DNS_1 : Serveur DNS principal, uniquement pour une conguration manuelle. DNS_2 : Serveur DNS secondaire, uniquement pour une conguration manuelle. DNS_3 : Serveur DNS secondaire, uniquement pour une conguration manuelle. Les deux exemples de chier wi.conf , ci-dessous, montrent une conguration IP par DHCP dans le premier cas, et une conguration manuelle dans le second. 1 SSID=AP_SSID_AP1 2 SSID_KEY= 3 IP=DHCP 4 MASQUE= 5 PASSERELLE= 6 DNS_1= 7 DNS_2= 8 DNS_3= Code source 4 Fichier wi.conf avec une conguration par DHCP 1 SSID=AP_SSID_AP1 2 SSID_KEY= 3 IP = 1 9 2 . 1 6 8 . 0 . 1 0 4 4 MASQUE= 2 5 5 . 2 5 5 . 2 5 5 . 0 5 PASSERELLE = 1 9 2 . 1 6 8 . 0 . 1 6 DNS_1 = 8 . 8 . 8 . 8 7 DNS_2 = 8 . 8 . 4 . 4 8 DNS_3= Code source 5 Fichier wi.conf avec une conguration manuelle La mise en réseau typique de PEGASE consiste à déployer un réseau IP mettant en oeuvre un point d'accès WiFi et un serveur DHCP. Pour des raisons pratiques, l'utilisateur peut congurer un serveur DHCP avec table de baud xe (ou DHCP statique) attribuant une adresse IP prédénie à l'adresse MAC de la carte PEGASE. Ainsi, à chaque redémar- rage la carte PEGASE se verra attribuée la même adresse IP. Pour connaitre l'adresse MAC de PEGASE, l'utilisateur utilisera le résultat de la commande ifcong ou la lira directement sur le module WiFi comme indiqué dans la gure ci-dessous. 000B6B114A24 Figure 12 Adresse MAC d'un module WiFi sur une carte PEGASE Guide de mise en oeuvre de PEGASE Version: 1.F
5 Decouvrir et exploiter la distribution LCPC 2011.1 21 5.4.2 Réseau - Stratégies de connexion PEGASE intégre plusieurs stratégies de conguration de son interface WiFi: managed only : dans cette stratégie (celle par défaut sur PEGASE), PEGASE cherche à se connecter à un réseau de type infrastructure dont le SSID est celui déni dans le chier wi.conf . Ce mode de fonctionnement nécessite un point d'accés WiFi conguré à portée de PEGASE.En cas de déconnexion, il n'y a pas de reconnexion automatique (Exemple: redémarrage de l'Access Point). managed and ad hoc on error: dans cette stratégie PEGASE cherche à se connecter à un réseau de type infrastructure dont le SSID est celui déni dans le chier wi.conf . En cas d'échecs multiples de connexion au point d'accès WiFi, PEGASE crée un réseau Ad hoc avec pour SSID PEGASE . La carte PEGASE entrant dans ce mode démarre un serveur DHCP, an de faciliter la conguration des autres objets WiFi entrant dans ce réseau. Ce mode est considéré comme un mode de conguration disponible en sortie d'usine, c'est pour cela que la carte redémarrera automatiquement au bout de 15 minutes. ad hoc only: dans cette stratégie PEGASE crée immédiatement un réseau Ad hoc avec pour SSID celui déni dans le chier wi.conf . La carte PEGASE démarre un serveur DHCP, an de faciliter la conguration des autres objets WiFi entrant dans ce réseau. Par défaut, le mode managed only est sélectionné. Toutefois, l'utilisateur pourra choisir la stratégie qu'il souhaite utiliser en mettant à jour le lien symbolique dans la partition /lcpc de la carte. En exécutant une des trois lignes commençant par ln -sf . # cd /lcpc # # ln -sf connect-script/managed-and-adhoc-on-error.sh connect.sh # ln -sf connect-script/managed-only.sh connect.sh # ln -sf connect-script/adhoc-only.sh connect.sh Attention: le mode Ad-hoc n'est pas très able (mauvais portage de drivers WiFi dans le monde Linux par le constructeur du module WiFi) aussi il est conseillé d'en faire un usage limité ou spécique et, dans ce cas, consolidé par d'autres scripts vériant la stabilité de la connexion. Conseil: dans le répertoire /lcpc le chier de script AutoReconnect.sh est disponible pour que la carte cherche, en permanence, à maintenir la bonne connexion IP/WiFi avec le réseau. Ce script peut être utile dans les cas où la carte PEGASE doit être connectée en permanence. Il sut alors de lancer ce script en tâche de fond, en ligne de commande ou à la n du chier de démarrage Autorun.sh: # cd /lcpc # AutoReconnect.sh& # Guide de mise en oeuvre de PEGASE Version: 1.F
Vous pouvez aussi lire