Projets Tuteurés
Transcription
Projets Tuteurés
Université du Littoral Côte d’Opale Licence Professionnelle Réseau & Système de Communication Rapport de projet d’étude de synthèse « Etude et découverte des possibilités de programmation de scripts embarqués sur un environnement propre à la caméra IP 207W d’AXIS » Auteurs : LIEVEN Quentin, HAUWEL Johan - Version 1.2 (finale) IUT DE CALAIS-BOULOGNE – Année 2007-2008 Projet AXIS le 21/04/08 1 CONTROLE DU DOCUMENT Historique des versions Date de création : 3 mars 2008 Version 1.1 : Le 12 mars 2008 Version 1.2 : Le 19 avril 2008 Registre des éditions DATE VERSION AUTEURS PRINCIPALES MODIFICATIONS 03/03/2008 1.0 LIEVEN Quentin HAUWEL Johan Création du document 12/03/2008 1.1 LIEVEN Quentin HAUWEL Johan Création du squelette du document 19/04/2008 1.2 LIEVEN Quentin HAUWEL Johan Ecriture du contenu et mise en page du document Distribution Aux membres du projet AXIS et au jury de la soutenance. Etat Travail Terminé Validé Archivage Sécurité et confidentialité Copyright aux auteurs, sa diffusion n’est pas limité et disponible sur le site de l’un des étudiant participant au projet à l’adresse http://hauwel.johan.free.fr/projets/ Note sur cette édition Aucun commentaire Projet AXIS le 21/04/08 2 TABLE DES MATIERES 1) Présentation du document 5 1.1 But du document 4 1.2 Cadre du document 4 1.2.1 Contexte 1.2.2 Participants à la rédaction 4 4 1.3 Structure du document 4 2) Présentation générale du projet 5 3) Déroulement du projet 5 3.1 Installation et paramétrage IP de la caméra 4 3.2 Présentation de la configuration matérielle 4 3.3 Les options de configuration en mode graphique 4 3.4 Les différents moyens de communication de la caméra 4 3.5 Les différents types des scripts 3.5.1 Les scripts Shell 3.5.2 Les scripts CGI 4 4 4 3.6 Exécution d’un script 4 4) Problèmes rencontrés 4 5) Remerciement 4 6) Conclusion 4 7) Glossaire 4 Projet AXIS le 21/04/08 3 1) Présentation du document 1.1 But du document Le but de ce document à pour vocation de faire rapport du projet qui a été mené par les étudiants de licences professionnelle en Réseaux & Système de Communication (R.S.C.). IL doit permettre de rendre compte : De l’analyse du sujet posé. Des démarches effectuées pour mener à bien ce projet. Et de répondre à la question « Comment mettre en œuvre l’exécution de scripts embarqués sur une caméra IP de type AXIS 207W ? » 2) Cadre du document 1.2.1 Contexte Ce rapport est rédigé par deux étudiants de licence professionnelle « Réseaux et Systèmes de Communication » pour leur projet de fin d’études à l’IUT de Calais. 1.2.1 Participant à la rédaction Les membres de l’équipe qui travaillent sur ce rapport sont : • LIEVEN Quentin • HAUWEL Johan […..] À compléter 3.4 Les différents moyens de communication avec la caméra Avant toutes choses il est indispensable de pouvoir communiquer avec le système d’exploitation Linux afin d’y exécuter nos propres scripts. La caméra est livrée avec des paramètres d’usine qui font que nous n’avons pas accès au système interne depuis un shell par l’intermédiaire du protocole Telnet. Projet AXIS le 21/04/08 4 Afin d’activer le Telnet il est nécessaire de modifier le contenu du fichier inittab du répertoire /etc. Pour cela il faut utiliser l’interface Web de la caméra disponible à l’adresse http://192.168.1.10:8083 • 192.168.1.10 désignant l’adresse IP de la caméra que nous avons configurée ultérieurement. • 8083 désignant le port d’accès. Depuis l’interface Web, il est possible d’explorer le contenu de la caméra et de modifier par l’intermédiaire du script editor d’AXIS les fichiers présents. Le Script Editor permet alors de récupérer le fichier /etc/initab 1 # The runlevels used by axis are: 2 3 # 0 – Halt 4 # 1 - Single user mode 5 # 2 - Multiuser without network 6 # 3 - Full multiuser mode 7 # 4 - Upgrade 8 # 5 - unused 9 # 6 – Reboot 10 11 id:3:initdefault: 12 13 # Uncomment the following line to get a console shell. 14 sh:1235:respawn:/bin/sh 15 # Uncomment the following line to start the telnet server. Projet AXIS le 21/04/08 5 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 tnet:23:once:/usr/sbin/telnetd # System initialization. si::sysinit:/etc/init.d/rc sysinit # The initscripts. l0:0:wait:/etc/init.d/rc l1:1:wait:/etc/init.d/rc l2:2:wait:/etc/init.d/rc l3:3:wait:/etc/init.d/rc l4:4:wait:/etc/init.d/rc l5:5:wait:/etc/init.d/rc l6:6:wait:/etc/init.d/rc 0 1 2 3 4 5 6 # Add your own stuff below Décommenter la ligne 16 nous permet alors d’activer la prise en charge du telnet après redémarrage de la caméra. Il suffit alors d’ouvrir une invite de commande sous Windows (Démarrer > Exécuter > cmd) ou depuis un shell linux et taper : telnet 192.168.1.5 […] et nous obtenons un shell distant nous demandant une authentification : Les identifiants à fournir ont été initialisé lors du premier démarrage de la caméra : LOGIN : root MOT DE PASSE : azerty Après identification, on dispose des droits administrateurs, il est donc essentiel de prêter attention à ce que l’on tape sous risque de rendre obsolète le système. Projet AXIS le 21/04/08 6 L’invité de commande nous informe que Linux s’exécute depuis un processeur ARM (arm4tl). Ce type de processeur dispose de peu d’instructions et cela afin qu'elles s'exécutent en un minimum de temps. Vous pouvez consulter plus d’informations à ce sujet sur http://www.renan.org/ARM/ Depuis le shell on peut alors vite se rendre compte que le système dispose des commandes usuelles comme : Ls, qui permet d’obtenir un listing du répertoire courant. Cd, qui permet de changer de répertoire. On peut désormais avoir accès aux différents fichiers de configuration de part cette interface, mais comment modifier les fichiers sans interface graphique, tout simplement avec un éditeur de texte en ligne de commande. L’éditeur VI est installé de base avec la distribution Linux d’origine, cependant il n’est pas aussi facile d’utilisation. En effet une suite de touche est nécessaire à la modification, insertion voir sauvegarde du fichier. Par exemple pour sauvegarder un fichier et quitter VI il faut utiliser : :wq suivi de Vous trouverez plus d’information à propos de VI sur le site WEB : http://www.linux-france.org/article/appli/vi/intro.html Essayons d’éditer notre fichier /etc/inittab comme on l’avait fait par l’intermédiaire du Script Editor en mode « interface Web » : Projet AXIS le 21/04/08 7 On peut aisément créée des fichiers mais leur éditions restent fastidieuses en mode Shell, l’idéal serait d’écrire nos scripts à l’aide d’un éditeur graphique sur PC et les importer ensuite dans la mémoire de la caméra. Cela permettrait de bénéficier d’outils puissant comme Notepad++ qui gère la coloration syntaxique. Pour cela nous allons utiliser le protocole FTP pour acheminer les fichiers de notre PC de développement vers la caméra IP. Utilisons pour cela FileZilla sous Windows ou encore Gftp sous un environnement Linux configuré comme suit : Le client une fois configuré doit se connecter au serveur de la caméra. Pour activer le serveur FTP, utilisons la syntaxe suivant : /etc/init.d/ftpd start (stop | restart) Projet AXIS le 21/04/08 8 Afin d’identifier si un serveur FTP est en cours d’exécution nous pouvons utiliser l’instruction ps –ax qui affiche les processus en cours d’exécution : 70 root 75 root 79 root 87 root 90 root 95 root 101 root 132 root 187 root 196 root 206 root 212 root 216 root 221 root 246 root [….] 20086 root 24389 root 272 S /usr/sbin/telnetd 204 S /sbin/respawnd 236 S /bin/log_combiner -o40000 272 S /usr/sbin/syslogd -m 0 -o 40000 232 S /usr/sbin/klogd -x 428 S < /bin/imaged -rd -N -1 236 S /sbin/ipchanged -e /etc/ipchanged.script 176 S /sbin/if_switchd -l up 236 S /sbin/zeroconf-ip -i eth0 208 S /usr/bin/bw --directory /var/cache --text-file bw --i 248 S /bin/time_handler --nortc 248 S /bin/vftpd -r -q 0 -Q 0 228 S /bin/client_counter -d 504 S /bin/parhand /dev/null 50011 -d /usr/etc/param -d /et 244 S /bin/axisns -i eth0 add -w -d 388 S -sh 284 R ps -ax On remarque qu’une instance du serveur ftpd possédant l’ID 212 est en cours d’activation. Il nous est alors possible de nous connecter depuis un client FTP, on obtient alors l’arborescence du système de fichier du Linux embarqué. Attention, le dossier /etc étant un dossier système il apparait masqué, il est pourtant accessible en précisant son chemin au niveau du formulaire de connexion (Site distant sous FileZilla par exemple) Projet AXIS le 21/04/08 9 3.5 Les différents types de scripts Afin d’améliorer les fonctionnalités de la caméra on pourra utiliser plusieurs types de scripts. Le premier consiste à utiliser les fonctionnalités du système d’exploitation Linux en exécutant une liste de commandes prédéfinies : Il s’agit de Scripts Shell. 3.5.1 Les Scripts SHELL Projet AXIS le 21/04/08 10