#### #Nouveau un script d'installation install.sh fait ce qui est décript ci-dessous #Vous devez avoir au moins déjà installé le module #Device::SerialPort Version 0.12 disponible sur CPAN (www.cpan.org ou search.cpan.org) #avant de le lancer # ex: # ./install.sh /home/myname/ws2300 /dev/ttyS0 #### L'installation n'est pas très difficile. mais sans doute insuffisamment documentée Ces programmes ne sont pas universels et sont écrits en français pour Suse Linux 8.0, perl 5.6 ou 5.8 Vous devez avoir une connaissance minimum du shell (bash), de cron et de perl Etape préliminaire: Installation du module Device::SerialPort Version 0.12 Je pense que c'est souvent la principale difficulté Je viens juste de voir qu'il existe une version 0.22 pas encore teste ici Si elle marche avec mes scripts dites le moi svp, si elle coince dites le moi aussi Réecuperer le module 0.12 sous forme tar.gz sur CPAN et decompressez le: tar -zxvf Device-SerialPort-0.12.tar.gz cd Device-SerialPort-0.12 puis les commandes classiques pour installer tout module perl récupéré sur CPAN perl Makefile.PL make make test su root make install si tout se passe bien allez en 1°) Sinon: ### le plus difficile ##################################################### la principale difficulté est que l'on obtient généralement le message: "perl didn't find any .ph files to get at least the following ioctls ...." en lançant perl Makefile.PL Essayez en tant que root cd /usr/include; h2ph -r -l comme proposé dans le message d'erreur Cela ne marche pas sur mon installation de perl 5.8 Rechercher alors les fichiers .ph par la commande suivante: find / -name "*.ph" -exec grep -E -H -e TIOCM {} \; 2>/dev/null vous devriez en trouver un ou deux mais pas tous ! rajouter le nom de ces fichiers ph dans le fichier perl Makefile.PL (aprs avoir fait une copie de l'original) dans le tableau @Location (ne pas oublier la virgule avant, si vous rajoutez en fin de liste, ou apres si vous rajoutez en dbiut de liste) maintenant il faut trouver ceux qui n'existent pas dans les fichiers ph et les rechercher dans les fichier.h lancer la commande find / -name "*.h" -exec grep -E -H -e TIOCM {} \; 2>/dev/null Verifier que vous avez tous les TIOCM Si non il vous faut recuperer les librairies de developpement qui vous manquent !!!! Chez moi ce sont les librairies de developpement assembleur dans les fichiers /usr/include/asm/termios.h /usr/include/asm/ioctls.h /usr/include/asm/termbits.h pour la SuSe 8.0 Ils peuvent naturellement être ailleurs... Allez dans ces répertoires en tant que root et lancer h2ph h2ph -d destination_dir * ou destination_dir est qqchose comme /usr/lib/perl5/site_perl/5.8/i586-linux-thread-multi/asm/ revenez editer le fichier MakeFile.PL en rajoutant par exemple 'asm/termios.ph', # Linux 'asm/ioctls.ph', # Linux 'asm/termbits.ph', # Linux maintenant relancer sans être root perl Makefile.PL ça devrait marcher ! J'espère qu vous n'avez pas oublié comme moi, de faire les mêmes recherches sur CRTSCTS (;-(( dans asm/termbits.h (find / -name "*.ph" -exec grep -E -H -e CRTSCTS {} \; 2>/dev/null) (find / -name "*.h" -exec grep -E -H -e CRTSCTS {} \; 2>/dev/null) OUF ! ####################################################### Voici un guide pour démarrer, pas à pas 1 °) répertoires Si vous lisez ceci c'est que vous avez déja un répertoire dans lequel sont décompressés les fichiers et dont le nom est .../ws-2300-inst/ Vous devez avoir en plus un répertoire de travail final où seront stockés les principaux programmes perl, les fichiers de data et des fichiers nécessaires au fonctionnement. par exemple: /home/votrenom/ws2300 créez le tout de suite cd mkdir ws2300 2 °) Première étape: communication avec la station : Ne pas installer le cable rs232 du pc à la station. A) installer la première librairie perl: Vous devez avoir les librairies perl suivantes déjà installées IO::File en principe déjà présente Device::SerialPort Version 0.12 disponible sur CPAN (www.cpan.org) Intallez la (ce qui n'est deja pas rien (;-) 1- Allez dans le sous répertoire pm/5.6/ cd pm/5.6 2- Décompresser le fichier Ws2300-ReadWrite-0.01.tar.gz tar -zxvf Ws2300-ReadWrite-0.01.tar.gz 3- Allez dans le répertoire ainsi créé cd Ws2300-ReadWrite-0.01 4- créez la librairie selon la procédure habituelle à perl: perl Makefile.PL make make test ne marche pas en 5.8 avant l'installation essayez perl test.pl su root make install exit cd ../../../ 5 Créer le fichier d'initialisation rapide du module Device::SerialPort cp runme-1st.pl /home/votrenom/ws2300/ cd /home/votrenom/ws2300/ perl runme-1st.pl -d /dev/montty Maintenant vous devez avoir un fichier: MONNREPERTOIRE-MONTTY.config faites en une sauvegarde Revenez à la racine du répertoire d'installation (...../ws-2000-inst/) 6 Editez le fichier config.txt (une copie existe déja config.1st) le port rs232 : /dev/ttyS0 S1 ou autre le chemin complet de votre futur répertoire de travail /home/votrenom/ws2300 Les deux fichiers suivants sont demandés par le module Device::SerialPort - un fichier pour pouvoir utiliser la procédure rapide d'initialisation de la rs232: MONNREPERTOIRE-MONTTY.config ce fichier vient d' être crée par le script runme-1st.pl lancé DEPUIS le répertoire de travail. - un chemin et un nom de fichier verrou ou "lock" pour l'utilistion exclusive du port com: le nom du chemin dépend de votre système /var/lock le nom du fichier est celui que vous voulez. ce sera toujour le même par exemple ttyS0SerialPort # ATTENTION: # Seule l'utilisation de ce fichier verrou garantie la non utilisation # concurrente du port et donc la bone santé de votre station WS-2300 # Si vous utilisez d'autres programmes assurez vous du bon fonctionnement # de ce système de verrou avec un seul nom de fichier verrou pour tous # les programmes # Même si vous n'utilisez que ces scripts et sur un seul tty, en mode cron # il se peut qu'une utilisation concurrente survienne. # Consultez attentivement les pages du man Device::SerialPort. 7 Copiez le fichier config.txt dans votre futur répertoire de travail cp config.txt /home/votrenom/ws2300 Pour l'instant ce fichier doit être présent dans tous vos répertoires un répertoire défault de type ~/.ws2300/ serait bien utile n'est-ce pas ? 8 Premier test cp pm/autresprogs/* /home/votrenom/ws2300/ cd /home/votrenom/ws2300/ chmod 766 testme-1st.sh ./testme-1st.sh Vous devriez voir les valeurs hexa de la vitesse du vent et de sa direction perl sous la forme [AB] [CD [EF] [GH] perl lignecmd.pl pour plus d'infos Si cela marche le plus dur est fait. Pour le reste en deux lignes: B) Installez la seconde librairie perl: Ws2300::Decode 1- Maintenant vous savez faire 2- copiez les fichier du repertoire pm/decode dans /home/votrenom/ws2300/ 3- lancez perl lit-resXY.pl C) Relisez le fichier readme pour voir les pg qui vous interessent et lancez les depuis cron en vous inspirant du fichier exemple mycrontab (repertoire ./ws-2300-inst/cron) Ne pas oublier le "cd /home/votrenom/ws2300" pour que les pgs trouvent le fichier config.txt D) Lisez et installez les scripts du repertoire graphisme