AAG Cloudwatcher

Tout ce qui concerne la gestion des instruments dans PRiSM.
L'observation automatique est incluse dans ce forum.
David__Leh
Messages : 38
Enregistré le : 10 juil. 2016, 16:53

Re: AAG Cloudwatcher

Message par David__Leh »

Bonjour à tous,

j'ai finalement eu un peu de temps pour développer un script Python qui permet de faire la passerelle entre le format de fichier retourné par l'AAG SOLO sur le réseau et le format reconnu par Prism.
Pour rappel, mon AAG cloudwatcher est raccordé à l'AAG Solo lui-même raccordé au réseau de la box. Sous Prism, il faut configurer le moniteur de nuage sur "Boltwood CloudSensor II ou Sentinel Shelyak" et cocher "Fichier de sortie" en pointant vers le fichier retourné par ce script.

Voici le script en question, à copier dans un fichier ".txt" en renommant l'extension en ".py":

Code : Tout sélectionner

#!/usr/bin/python
# -*- coding: utf8 -*-

# Version du 03/08/17
# Script Python permettant de faire la conversion de fichier entre le fichier fourni par l'aag_solo sur le reseau ("aag_sld.dat) et le format de fichier reconnu par Prism
# Requis: un AAG Cloudwatcher et un AAG Solo, l'AAG Solo est raccorde au reseau de la box
# Version 3 de Python necessaire
# Commande de lancement dans une console python: exec(open('moniteur_nuage.py').read())
# Commande de lancement dans un fichier bat: python moniteur_nuage.py
# Format de donnees gere par Prism: Date       Time        T V  SkyT  AmbT  SenT    Wind   Hum DewPt  Hea R W Since Now()Day's   c w r d  [Mag]  [Windir]
# Configuration sous Prism: configurer le moniteur de nuage sur "Boltwood CloudSensor II ou Sentinel Shelyak" et cocher "Fichier de sortie" en pointant vers le fichier retourne par ce script ('prism_sld.dat')



# Importation des modules
import time
import os


# Variables d'environnement
dossier_aag=r'\\AAGSOLO\\AAGSolo'                                 #Dossier de l'AAG SOLO sur le reseau Windows, ce dossier doit contenir le fichier: 'aag_sld.dat'
dossier_prism='E:\\Bureau\\python_prism\\repertoire_prism'        #Dossier arbitraire sur le PC local, Prism devra pointer vers ce dossier pour la lecture du fichier de sortie: 'prism_sld.dat'
nom_fichier_aag='aag_sld.dat'
nom_fichier_prism='prism_sld.dat'
interval_maj=10                                                   #toutes les 10s


# Fonctions
def lecture(nom,tableau):
    """
    Lecture d'un fichier mono_ligne
    """
    fichier=open(nom)
    table=fichier.readlines()                                    #str (chaine de caracteres)
    fichier.close()
    for config in table:
        ligne=config.split()                                     #liste de str, suppression des espaces et tabulations
        tableau.extend(ligne)
    tableau=tableau[:-1]                                         #enlevement du dernier caracteres, acces au tableau: tableau[i][j]
    del table, ligne
    return

def ecriture(nom,tableau):
      """
      Ecriture d'un tableau dans un fichier
      """
      table=str()
      fichier=open(nom,'w')
      fichier.write(tableau)
      fichier.close()

while True:
  # Attente
  time.sleep(interval_maj)

  # Ouverture du fichier retourne par l'aag_solo
  data_aag_brut=[]
  lecture(os.path.join(dossier_aag, nom_fichier_aag),data_aag_brut)

  # Correction du format des donnees
  nb_donnees=len(data_aag_brut)
  data_aag=[]
  if nb_donnees!=21:
     for donnee in enumerate(data_aag_brut):
         if donnee[0]==0 or donnee[0]==1 or donnee[0]==2 or donnee[0]==3:                  #Pas de probleme avec les quatre premieres donnees (date et temps , T et V)
            data_aag.extend([donnee[1]])
         else:
            try:
               float(donnee[1])
               data_aag.extend([donnee[1]])
            except:                                                                        #Correction si un signe - est accole
               correction=donnee[1].split('-')
               nb_problemes=donnee[1].count('-')
               position_ini=donnee[1].index('-')
               if position_ini==0:
                  localisation=[1]
                  correction=correction[1:]
               else:
                  localisation=[0]
               for i in range(1,len(correction)):
                  localisation.extend([1])
               for i in range(0,len(correction)):
                   if localisation[i]==0:
                      data_aag.extend([correction[i]])
                   else:
                      data_aag.extend([str(-float(correction[i]))])
  else:
     data_aag=data_aag_brut


  # Mise en forme des donnees de l'aag
  Date=data_aag[0]
  Time=data_aag[1]
  T=data_aag[2]
  V=data_aag[3]
  SkyT=data_aag[4]
  AmbT=data_aag[5]
  SenT=data_aag[6]
  Wind=data_aag[7]
  Hum=data_aag[8]
  DewPt=data_aag[9]
  Hea=data_aag[10]
  R=data_aag[11]
  W=data_aag[12]
  Since=data_aag[13]
  Now_day=data_aag[14]
  c=data_aag[15]
  w=data_aag[16]
  r=data_aag[17]
  d=data_aag[18]
  Mag=data_aag[19]
  Windir=data_aag[20]

  # Creation du format reconnu par Prism
  data_prism=Date.ljust(11)+Time+T.rjust(2)+V.rjust(2)+SkyT.rjust(6)+AmbT.rjust(6)+SenT.rjust(6)+Wind.rjust(8)+Hum.rjust(5)
  data_prism+=DewPt.rjust(6)+Hea.rjust(4)+R.rjust(4)+W.rjust(2)+Since.rjust(6)+Now_day.rjust(13)+c.rjust(2)
  data_prism+=w.rjust(2)+r.rjust(2)+d.rjust(2)+Mag.rjust(7)+Windir.rjust(5)

  # Exportation du fichier au format Prism
  ecriture(os.path.join(dossier_prism, nom_fichier_prism),data_prism)
Le script fonctionne bien chez moi, les champs du moniteur de nuage sont bien renseignés dans Prism et mis à jour régulièrement. Il me reste plus qu'à tester si en observation automatique Prism se sert bien de ces informations pour le contrôle du télescope.

En espérant que cela puisse être utile à quelqu'un.
Cordialement,
David
Cyril Cavadore
Messages : 4492
Enregistré le : 18 juin 2009, 22:41
Localisation : 42

Re: AAG Cloudwatcher

Message par Cyril Cavadore »

OK merci.
Je connais qq personnes ici qui utilisent ce dispositif avec des obs auto, et pourtant ca marche ...
Cyril Cavadore, ALCOR-SYSTEM, Auteur de PRISM
http://www.alcor-system.com

Pour reporter vos problème, la marche à suivre est ici
viewtopic.php?f=7&t=1403
David__Leh
Messages : 38
Enregistré le : 10 juil. 2016, 16:53

Re: AAG Cloudwatcher

Message par David__Leh »

Bonsoir,

je viens d'effectuer quelques essais, en versant de l'eau sur l'AAG, Prism a bien interrompu la session d'observation automatique pour cause de pluie. En revanche, en mettant le sèche cheveux sur l’anémomètre pour simuler du vent, Prism a bien reconnu un état venteux dans l'onglet du moniteur de nuage mais n'a pas interrompu la session d'observation automatique. Il en est de même en approchant une source de lumière devant le capteur de luminosité.

En fait, Prism ne semble considérer que l'état pluie et l'état ciel (nuage). Il ne semble pas considérer l'état vent et l'état jour/nuit dans sa gestion des évènements météo.

Y-a-t-il possibilité de lui faire prendre en compte l'état du vent pour interrompre une session automatique?

Merci.
Cordialement,
David
Cyril Cavadore
Messages : 4492
Enregistré le : 18 juin 2009, 22:41
Localisation : 42

Re: AAG Cloudwatcher

Message par Cyril Cavadore »

Tres bien ton test, c'est comme ca qu'on avance.
Non, y a pas le vent, j'en suis sur, il n'y a "que" la couverture nuageuse. :!:
Cyril Cavadore, ALCOR-SYSTEM, Auteur de PRISM
http://www.alcor-system.com

Pour reporter vos problème, la marche à suivre est ici
viewtopic.php?f=7&t=1403
David__Leh
Messages : 38
Enregistré le : 10 juil. 2016, 16:53

Re: AAG Cloudwatcher

Message par David__Leh »

Bonjour Cyril,

ok dans ce cas tout fonctionne comme prévu. Peut-être ajouter la gestion du vent dans Prism 11 si possible.

Merci,
David
Cyril Cavadore
Messages : 4492
Enregistré le : 18 juin 2009, 22:41
Localisation : 42

Re: AAG Cloudwatcher

Message par Cyril Cavadore »

A mettre dans le bon fil sinon, je vais oublier...
Cyril Cavadore, ALCOR-SYSTEM, Auteur de PRISM
http://www.alcor-system.com

Pour reporter vos problème, la marche à suivre est ici
viewtopic.php?f=7&t=1403
Francois Hurter
Messages : 69
Enregistré le : 04 août 2016, 18:39
Localisation : Lajoux, Suisse

Re: AAG Cloudwatcher

Message par Francois Hurter »

Bonjour,

Je suis dans le même cas que David (post du 24 mai 2017).
En utilisant son script python (post du 5 août 2017), Prism récupère effectivement les données de l'AAG Solo (de Lunatico).
En comparant les deux fichiers (l'original créé par le SOLO et celui de David), on peut effectivement s'apercevoir que le nombre d'espaces est à l'origine du problème.
Grand merci à David pour son script.

Bonne soirée.
François
(Prism 10.3.49, AAG_CloudWatcher v7.70.000)
patrick sogorb
Messages : 155
Enregistré le : 20 juin 2009, 09:08
Localisation : La Bastide des Jourdans

Re: AAG Cloudwatcher

Message par patrick sogorb »

Bonjour à tous. Désolé pour le déterrage de post, mais j'ai moi aussi le probléme. (PRiSM 10.3.63.500 et AAG cloudwatcher 7.20.100).
Je suis en train de remettre en route mon observatoire après 2.5 années d’arrêt (et un déménagement). Je constate comme vous que PRiSM n'arrive toujours pas lire la météo de l'AAG, malgrès des essais dans les différentes configurations évoquées.
Voici un exemple de fichier tel que mon AAG le sort, et que PRiSM n'arrive pas à lire:
http://www.astrosurf.com/sogorb/stock/AAG_CCDAP4.dat

Est-ce qu'avec le recul, la solution du script Python est toujours valable? Merci pour votre aide.

Image

Image
patrick sogorb
Messages : 155
Enregistré le : 20 juin 2009, 09:08
Localisation : La Bastide des Jourdans

Re: AAG Cloudwatcher

Message par patrick sogorb »

Pas beaucoup de propositions d'aides ;)
Voici cependant l'état de mes investigations. Je viens de passer le soft AAG à la dernière version (8.1.0). Et en configurant PRiSM comme cela, on peut voir que certaines valeurs commencent à remonter

Image

Image

La config "boltwood I, AAG...", ne marche pas du tout

Le fichier de sortie de l'AAG me donnait des mélanges de séparateurs décimaux (points et virgules). En modifiant les options régionnales de mon ordi (point comme séparateur décimal), le fichier est plus propre.

J'ai fais un essai en faisant un fichier avec les données formatées comme Cyril l'indique dans la page précédente du post. Là, effectivement PRiSM lit correctement toutes les données. Voici une image qui illustre le format des données qui marchent (ligne du haut) et tel que l'AAG me le sort actuellement (ligne du bas).

Image
Cyril Cavadore
Messages : 4492
Enregistré le : 18 juin 2009, 22:41
Localisation : 42

Re: AAG Cloudwatcher

Message par Cyril Cavadore »

Ok.
Je pensais que le formatage du fichier etait strict a la position de colonne mais il semble que non.
Le mieux est de m'envoyer les deux fichiers textes.
Cyril Cavadore, ALCOR-SYSTEM, Auteur de PRISM
http://www.alcor-system.com

Pour reporter vos problème, la marche à suivre est ici
viewtopic.php?f=7&t=1403
Répondre