================================================================================ === INTRODUCTION ================================================================================ definitions.txt = This file 1) First version (V1.0) of config and verification observatory_v1.yml schema_observatory-1.0.yml schema_observatory_verify.py 2) Second version (V2.0) of config and verification observatory_guitalens.yml computer_XCY_X26A_snAA478.yml device_Astromecca_TM350_sn001.yml device_Raspberry_MiFe_sn004.yml device_SkyWatcher_L80_snxx1.yml device_ZWO_ASI1600MM_snxx1.yml info_observatory.py = script to load the config files and display a summary. ================================================================================ === DEFINITIONS ================================================================================ Device Entitée hardware indissociable Correspond a un matériel inventorié (pas nécessairement installé) Contient une description et des DComp et décrit leur attributs Computer Entitée hardware indissociable Correspond a un ordinateur inventorié (pas nécessairement installé) Contient une description et ses attributs DComp = Device Component C'est une classe qui décrit un seul type de Component. Liste des différentes classes de Component: * Components de type SECURITY: WeatherStation BuildingCover ElectricalManager MountManager * Components de type MOUNT: MountPointing * Components de type CHANNEL: OpticImager FilterSelector DetectorSensor DetectorShutter DetectorTimer DetectorFocuser * Components de type MOTOR: MotorAxis Chaque DComp hérite d'un simulateur et de méthodes (commandes génériques) Chaque DComp est associé à une série de devices d'une même marque (Astromecca, SBig, ZWO, etc.) Chaque DComp est pourvue d'attributs de configuration Chaque DComp recoit une commande générique et la traduit vers la commande en language natif Chaque DComp peut inclure d'autres DComp: ex. 1 MountPointing va inclure 2 MotorAxis DCrtl = Device Controller C'est une classe qui contrôle un seul device. Un DCrtl gère la communication du canal de communication avec le device réel. Un DCrtl est constitué d'instances de classes de Component (DComp) qui partagent le même channel de communication. AD = Agent Device C'est un processus. Constitué de un seul DCtrl. Recoit une commande générique et la transmet telle quelle vers le bon DComp. Observatory Liste de hardware référencés (devices et computers). Liste de Units. Unit Assemblage de Database + Agents + Topology Topology Assemblage de Security + Mount + Channels + Channel_groups Possibilité de générer un diagramme pour visualiser l'assemblage de la topologie Appels depuis un agent PyROS Exemples: res = config.get_agent(channel = "OpticalChannel-up", component = "DetectorSensor") res should be 'camera_up' ================================================================================================================================ ========================== schema_observaotry-2.0.yml -------------------------- schema;schema_DATABASE: schema;schema_AGENT_DEVICE: schema;schema_AGENT: schema;schema_GROUP: schema;schema_CHANNEL_GROUPS: GROUPS: type: seq sequence: - include: schema_GROUP schema;schema_MOUNT: schema;schema_CHANNEL: schema;schema_SECURITY: schema;schema_TOPOLOGY: SECURITY: include: schema_SECURITY MOUNT: include: schema_MOUNT CHANNELS: include: schema_CHANNELS CHANNEL_GROUPS: include: schema_CHANNEL_GROUPS schema;schema_COMPUTER: schema;schema_AGENTS: AGENT_DEVICE: include: schema_AGENT_DEVICE AGENT: include: schema_AGENT schema;schema_COMPUTERS: COMPUTER: include: schema_COMPUTER schema;schema_UNIT: DATABASE: include: schema_DATABASE AGENTS: include: schema_AGENTS TOPOLOGY: include: schema_TOPOLOGY schema;schema_UNITS: UNIT: include: schema_UNIT schema;schema_CHANNELS: CHANNEL: include: schema_CHANNEL schema;schema_DEVICE: schema;schema_DEVICES: DEVICE: include: schema_DEVICE schema;schema_OBSERVATORY: DEVICES: include: schema_DEVICES COMPUTERS: include: schema_COMPUTERS UNITS: include: schema_UNITS OBSERVATORY: include: schema_OBSERVATORY