[R] Rappatriement d'infos d'un serveur FTP & ZIP

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

[R] Rappatriement d'infos d'un serveur FTP & ZIP

#1

Message par cutprod »

Salut bloodwolff, bravo pour ton courage! Tu aimes relever des défis?
J'en ai un pour toi, mais il est costaud!! Devant la tache à accomplir et mon faible niveau en programmation j'ai jeter l'éponge!
Je t'explique vite fais :
Un transmetteur de données envoi (sur un serveur ftp)à intervalle régulier des fichiers .zip qui contiennent eux même des fichiers .xml compresser en .zip.
La tache consiste à rapatrier ses fichiers, les effacer du serveur, les décompresser les trier (les fichiers .xlm contiennent de données de production d'une installation électrique), les stocker dans un ou des arrays; pour ensuite les exploiter dans des beaux Gui... sous formes de textes et de courbes.
Pour les exploiter il faudra leur appliquer différentes formules plus ou moins simple, genre moyenne journalière, annuelle, puissance maxi du jour...
Bref un grand projet...De quoi t'occuper un nomment!!
Si l'exercice t' intéresse je suis a ta disposition. :D
Modifié en dernier par cutprod le ven. 29 oct. 2010 21:46, modifié 1 fois.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Demande votre imagination et expérience !

#2

Message par bloodwolff »

Grand projet pour un débutant je l'avoue je n'ai jamais travaillé avec le ftp donc pour apprendre :D
le reste à l'air fesable, donc je lis la documentation sur les ftp et je t'en reparle :D

@Tlem Colorer seulement une petite parti du code pour accrocher l'attention sur cette parti est ok?
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] Demande votre imagination et expérience !

#3

Message par cutprod »

Oui le ftp avec Autoit est très abordable, j'arrive a le maitriser (pas au top mais je me débrouille).
Dans l'ensemble toutes les opérations que je t' énumère plus haut je suis capable de les exécuter, mais le le problème c'est qu'il y' a un gros travail de tri et de décryptage pour les fichiers .zip si tu est chaud je te ferais parvenir un exemple de ce qu' upload le transmetteur de données ca fais peur!! :shock: Les fichiers sont incrémentés avec la date et l'heure, je connais les les différentes définition des balises .xml, mais y' a du boulot!!
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Demande votre imagination et expérience !

#4

Message par Tlem »

bloodwolff a écrit :@Tlem Colorer seulement une petite parti du code pour accrocher l'attention sur cette parti est ok?
Vous pouvez mettre en couleur, souligner, en gras ou en italique si vous voulez, mais pas de coloration syntaxique. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Demande votre imagination et expérience !

#5

Message par bloodwolff »

Ok je passe en résolu mais je prend encore les propositions :P
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#6

Message par cutprod »

Tu relève le défi ou pas ? :?
Dis moi oui ou mer..., mais dis moi :wink:
Je comprendrais que tu ne veuille pas te faire chier avec un truc pareil!
A plus.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#7

Message par bloodwolff »

Je veux bien essayer mais je ne suis pas de haut niveau donc il y a des chances que je ne réussissent pas mais je suis très persévérant :P
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#8

Message par cutprod »

Il faut que tu en ai vraiment envi sinon ca va te gaver et tu va faire ca à moitie...
Donc t'embête pas et fais plutôt des truc qui te plaisent!
A plus :wink:
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#9

Message par bloodwolff »

j'en ai envi :P
Je vais crée un serveur ftp pour tester le script avant de passer au vrai fichier :lol:
Ps: Ftp crée je crée un script qui récupère fichier xml dans zip dans zip et si sa fonctionne je t'en reparle :P
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#10

Message par cutprod »

Ça marche !
Bon courage.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#11

Message par bloodwolff »

Il doit y avoir une meilleur façon de faire mais celle-ci marche :)
Il nécessite l'udf 7zip et sa dll présente dans le même dossier que le script ( pour le moment ) Il ne supprime pas encore les .zip sur le ftp mais il manque seulement 1 ligne de code
Pour le script marche tu as 2 ligne a modifier
1- Le dossier sur le ftp où sont situé les script avec des "/" au lieu de "\"
2- les 3 Derniers paramètre de $conn = ftp_connect

Il note le nom des fichiers xml dans un fichier .txt

Si il ne marche pas chez toi ou que tu veux un changement ou que sa ne convien pas du tout dis le moi

sinon bah on attaque le reste du script :P

Code : Tout sélectionner

#Include <FTPEx.au3>
#include '7Zip.au3'
;############ Récupération des fichiers ftp sur le serveur #############
If FileExists('fichier zip')=0 Then DirCreate('fichier xml') ; Création du dossier si il n'existe pas
$cheminfichierzip='/' ; Le dossier où sont situé les fichiers zip (présentement à la racine)
$Open = _FTP_Open('Mon serveur ftp')
$Conn = _FTP_Connect($Open, 'adresse du serveur ftp', 'nom d'utilisateur', 'mot de passe') 
Local $search
$file=_FTP_FindFileFirst($Conn,$cheminfichierzip,$search)
While UBound($file)>9
    _FTP_FileGet($Conn, $cheminfichierzip & $file[10] , 'fichier xml\' & $file[10])
    $file=_FTP_FindFileNext($search)
WEnd
_FTP_FindFileClose($search)
$Ftpc = _FTP_Close($Open)
;########### Récupération des fichiers xml ############
$Open=FileOpen("Fichier xml.txt",1+8)
$search=FileFindFirstFile("fichier xml\*.zip")
$file=FileFindNextFile($search)
While @error <> 1
    $nomdir=StringLeft($file,StringLen($file)-4)
    DirCreate('fichier xml\' & $nomdir)
    _7ZIPExtract(0, 'fichier xml\' & $file , 'fichier xml\' & $nomdir)
    FileDelete("fichier xml\" & $file)

    $search2=FileFindFirstFile("fichier xml\" & $nomdir & '\*.zip')
    $file2=FileFindNextFile($search2)
    While @error <> 1
        _7ZIPExtract(0, 'fichier xml\' & $nomdir & '\' & $file2 , 'fichier xml\' & $nomdir)
        FileDelete('fichier xml\' & $nomdir & '\' & $file2)
        $file2=FileFindNextFile($search2)
    WEnd
    FileClose($search2)

    $search3=FileFindFirstFile("fichier xml\" & $nomdir & '\*.xml')
    $file3=FileFindNextFile($search3)
    While @error <> 1
        FileWrite($Open,"fichier xml\" & $nomdir & '\' & $file3 & @CRLF)
        $file3=FileFindNextFile($search3)
    WEnd
    FileClose($search3)

    $file=FileFindNextFile($search)
WEnd
FileClose($search)
FileClose($Open)
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#12

Message par cutprod »

ha ouai!!! t'es chaud :shock:
Je regarde tout ca et je te tiens au ju!
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#13

Message par cutprod »

J'ai testé ça fonctionne très bien!!
Les zip sont rapatrier et décompresser je me retrouve avec des dossiers contenant de fichiers xml qui eux même contiennent les infos qui nous intéresses.
Il faut les effacer du serveur distant une fois télécharger car y en a beaucoup!!
Je te met en pièce jointe un .rar qui contient le dossier "fichier xml" que ton script crée, pour te donné une idée des datas ( ça c'est les données pour 1/2 heure!)

Mince je viens de le mettre en piece jointe ca me dit qu'il est trop gros>1mo
je le rogne et le re-poste!!
Fichiers joints
fichier xml.rar
(809.49 Kio) Téléchargé 61 fois
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Demande votre imagination et expérience !

#14

Message par bloodwolff »

Ok je rajoute la ligne pour les supprimer

Maintenant dis moi exactement ce que je dois faire avec les fichier xml :P
Compte skype : bloodwolfff
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Rappatriement d'infos d'un serveur FTP & ZIP

#15

Message par bloodwolff »

Roooh je vais me faire voler mon projet ici :cry:
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] Rappatriement d'infos d'un serveur FTP & ZIP

#16

Message par cutprod »

Je te prépare ca et je te poste des que possible.
Peut être pas ce soir! 8)
En tout cas chapeau pour ce que tu a déjà réaliser!!
Rapporter le message
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] Rappatriement d'infos d'un serveur FTP & ZIP

#17

Message par cutprod »

Les fichiers « log » ne nous intéressent pas. Il faut exploiter les fichiers « Mean ».
Ils sont uploader tout les 1 /4 d’heure et sont incrémenter de cette façon :
Mean.20101012_084541
-20101012 = la date
-084541 = heure,min,sec
Ce fichier xml contient les infos de trois appareils de production d’électricité et d’une sonde qui elle-même possède 2 capteurs.
Dans les fichiers xml toute les « key » ne nous intéresse pas celle a retenir sont :

La sonde =

<MeanPublic>
<Key>SENS0500:6472:IntSolIrr</Key> (IntSolIrr c’est le capteur )
<First>37</First> (premiere mesure)
<Last>63</Last> (derniere mesur)
<Min>37</Min> (mesure mini)
<Max>63</Max> (mesure maxi)
<Mean>46.747826</Mean> (mesure moyenne)
<Base>115</Base> (?)
<Period>900</Period>
<TimeStamp>2010-10-12T08:45:41</TimeStamp> (date et heure de la mesure)
</MeanPublic>

Pour la sonde les deux « key » qui nous interrese sont :
<Key>SENS0500:6472:TmpMdul C</Key>
<Key>SENS0500:6472:IntSolIrr</Key>

Les appareils de productions =

<MeanPublic>
<Key>WR7KTL12:2000910697:Balancer</Key> (le num de serie de l’appareil)
<First>0</First>
<Last>0</Last>
<Min>0</Min>
<Max>0</Max>
<Mean>0</Mean>
<Base>114</Base>
<Period>900</Period>
<TimeStamp>2010-10-12T08:45:41</TimeStamp>
</MeanPublic>

Les “key” qui nous interresent sont =

<Key>WR7KTL12:2000910697:E-Total</Key> (energie total)
<Key>WR7KTL12:2000910697:Pac</Key> (puissance)

Et cela pour les trios appareils =
WR7KTL12:2000910697
WR7KTL12:2000910710
WR7KTL12:2000921301
Le but serait d’afficher dans un Gui la puissance total ( l’ addition des trois appareils)
Actuelle et a toute les heures de la journée.
Et les valeurs des deux capteurs.
Ensuite on pourra travailler sur différent affichage et calcules…
Je suis a ta dispo pour toute infos.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Rappatriement d'infos d'un serveur FTP & ZIP

#18

Message par bloodwolff »

Ok je m'y attaque mais tu veux l'addition de toute les données pour les 3 machines même la période ?
Compte skype : bloodwolfff
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] Rappatriement d'infos d'un serveur FTP & ZIP

#19

Message par cutprod »

Salut a toi camarade quebecquoi!!
J'ai de la famille a Montréal (Longueuil exactement)et j'ai visiter ton beau pays cet été, c'est top!! Énorme!!
Bon pour les données, il faut juste garder les valeurs maxi et mini du jour des deux capteurs pour les afficher, garder les valeurs moyennes pour afficher les valeur en temps réel et leur évolution au cour de la journée.
Pour les trois appareils aussi tu fais l'addition des données comme si les trois appareils n'en représenter que 1 et tu ne garde que la valeur mini et maxi de la journée pour les affichée et tu garde la valeur moyenne pour l'affichée en tem réel et son evolution au court de la journée.
J' espère être assez claire pour toi!! Sinon ...
Salut et bon courage :D
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Rappatriement d'infos d'un serveur FTP & ZIP

#20

Message par Jerome »

Coucou,


Je sait pas trop si sa va t'aider, mais j'ai ressemant installer deux modules dans mon enterprise pour avoir la température et l'humidité rapatrier.

Il y avait bien sur un moyen avec xml, mais si tes modules sont sur le réseaux (attribution d'adresse IP), je te conseil le protocole SNMP.
Test nu petit logiciel appelé Getif.



Jérôme
Répondre