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