Aller au contenu

zalta

Membre
  • Compteur de contenus

    53
  • Inscription

  • Dernière visite

A propos

  • Résidence
    Toulouse
  • Intérêts
    Astronomie, Informatique
  • Occupation
    Administrateur Linux
  • Matériel
    Dobson Geoptik Nadirus 300

    Skywatcher Newton 150/750
    EQ3-2 - Motorisée en AD
    Canon 1000D

Visiteurs récents du profil

1 995 visualisations du profil

zalta's Achievements

  1. Cool, j'essayerai (quand le temps me le permettra) de voir si je peux pas commencer à bricoler un frontend alors. Pour les données binaires en json, le "standard" (ce que la plupart des gens font) c'est du base64 (https://fr.wikipedia.org/wiki/Base64 ). Mais ça occasionne de la bande passante et nécéssite un codage/décodage. Fournir une url qui renvoie sur un jpeg n'est du coup pas forcément une mauvaise idée dans certains cas. D'autant que tu peux-être hybride : si la valeur json commence par "https:" alors on sait que c'est un lien et pas un base64 au niveau du frontend. D'ailleurs se posera la question pour les formats d'image RAW (CR2, ARW, etc ...), FITS, SER, etc ... choses qu'un navigateur web ne pipe absolument pas. Donc soit le serveur convertira forcément en un format lisible par le navigateur, soit faudra trouver des librairies javascript farfelues pour convertir.
  2. Je vois que tu exposes tes properties serveur sur INDI Control Panel. Tu exposes tes properties comme celles d'INDI du coup ? (vachement intéressant) CAD avec le même protocole et les mêmes "commandes/fonctions", CAD que ton Json est une retranscription du XML de INDI ?
  3. Carrément ! Mais je vais pas avoir de dispo avant janvier je pense. Entre les heures supp's, la famille et surtout le fait que j'essaie en priorité d'avoir un système qui marche (stable) pour mes sorties. Entre Kstars par VNC qui rame beaucoup trop, l'A7S est ses drivers de merde, l'usb du pc portable qui bagotte ... je ne tape la tête contre les murs ... Tu as décidé que les modules pouvaient s'imbriquer les uns dans les autres ? C'est quand même important la licence. Oui, se reposer sur deux personnes qui ont la clé du projet c'est pas le pied.
  4. Toutes les labels de AGENT_GUIDERS_SETTINGS en interrogeant le serveur en Websocket. Il s'avère que la documentation n'est pas complète. Et l'appli WEB fournie n'utilise pas tous les paramètres en effet. Mais je continue de croire que toutes les properties sont bien disponibles sur le serveur, même sans le fronted MAC a source fermée. { "defNumberVector":{ "version":512, "device":"Guider Agent", "name":"AGENT_GUIDER_SETTINGS", "group":"Agent", "label":"Settings", "perm":"rw", "state":"Ok", "items":[ { "name":"EXPOSURE", "label":"Exposure time (s)", "min":0, "max":120, "step":1, "format":"%g", "target":2, "value":2 }, { "name":"DELAY", "label":"Delay time (s)", "min":0, "max":120, "step":1, "format":"%g", "target":0, "value":0 }, { "name":"STEP0", "label":"Calibration step (s)", "min":0.05, "max":2, "step":0.05, "format":"%g", "target":2, "value":2 }, { "name":"MAX_BL_STEPS", "label":"Max clear backlash steps", "min":0, "max":50, "step":1, "format":"%g", "target":10, "value":10 }, { "name":"MIN_BL_DRIFT", "label":"Min clear backlash drift (px)", "min":0, "max":25, "step":1, "format":"%g", "target":3, "value":3 }, { "name":"MAX_CALIBRATION_STEPS", "label":"Max calibration steps", "min":0, "max":50, "step":1, "format":"%g", "target":20, "value":20 }, { "name":"MIN_CALIBRATION_DRIFT", "label":"Min calibration drift (px)", "min":0, "max":100, "step":5, "format":"%g", "target":20, "value":20 }, { "name":"ANGLE", "label":"Angle (°)", "min":-180, "max":180, "step":1, "format":"%g", "target":0, "value":0 }, { "name":"BACKLASH", "label":"Dec backlash (px)", "min":0, "max":100, "step":0, "format":"%g", "target":0, "value":0 }, { "name":"SPEED_RA", "label":"RA speed (px/s)", "min":-500, "max":500, "step":0.1, "format":"%g", "target":0, "value":0 }, { "name":"SPEED_DEC", "label":"Dec speed (px/s)", "min":-500, "max":500, "step":0.1, "format":"%g", "target":0, "value":0 }, { "name":"MIN_ERROR", "label":"Min error (px)", "min":0, "max":5, "step":0.1, "format":"%g", "target":0, "value":0 }, { "name":"MIN_PULSE", "label":"Min pulse (s)", "min":0, "max":1, "step":0.01, "format":"%g", "target":0.02, "value":0.02 }, { "name":"MAX_PULSE", "label":"Max pulse (s)", "min":0, "max":5, "step":0.1, "format":"%g", "target":1, "value":1 }, { "name":"AGGRESSIVITY_RA", "label":"RA Proportional aggressivity (%)", "min":0, "max":500, "step":5, "format":"%g", "target":100, "value":100 }, { "name":"AGGRESSIVITY_DEC", "label":"Dec Proportional aggressivity (%)", "min":0, "max":500, "step":5, "format":"%g", "target":100, "value":100 }, { "name":"I_GAIN_RA", "label":"RA Integral gain", "min":0, "max":10, "step":0.05, "format":"%g", "target":0.5, "value":0.5 }, { "name":"I_GAIN_DEC", "label":"Dec Integral gain", "min":0, "max":10, "step":0.05, "format":"%g", "target":0.5, "value":0.5 }, { "name":"STACK", "label":"Integral stack size (frames)", "min":1, "max":20, "step":1, "format":"%g", "target":1, "value":1 }, { "name":"DITHERING_X", "label":"Dithering offset X (px)", "min":-15, "max":15, "step":1, "format":"%g", "target":-0.5, "value":-0.5 }, { "name":"DITHERING_Y", "label":"Dithering offset Y (px)", "min":-15, "max":15, "step":1, "format":"%g", "target":-0.4990146053, "value":-0.4990146053 }, { "name":"DITHERING_LIMIT", "label":"Dithering settling limit (frames)", "min":1, "max":50, "step":1, "format":"%g", "target":5, "value":5 } ] } }
  5. Okay pour les aspects non techniques, je comprends, l'open source j'apprécie aussi 🙂 Justement il me semble bien que les "agents" sont bien autonomes et que le guidage est fait coté serveur. C'est écrit quelque part dans la doc d'architecture, faudra que je retrouve le passage, mais en gros il précisait bien que le but de faire des agents est de laisser les calculs coté serveur et pas coté client pour éviter les problèmes de latence/déconnexions réseaux. Si on regarde par exemple la doc des propriétés du guider : https://github.com/indigo-astronomy/indigo/blob/master/indigo_docs/PROPERTIES.md#guider-agent. Par exemple voici la page qui controle le guidage via le WebManager basique inclus avec le serveur : https://github.com/indigo-astronomy/indigp/blob/86ec9c6707e37471aa69e505875dd037af738f40/indigo_server/resource/guider.html (pas de code javascript permettant d'avoir une quelconque intelligence). Il me semble justement que le modèle du serveur indigo correspond exactement à l'architecture que tu vise. Drivers dynamques + agents en headless. Je ferais quelques essais quand la météo sera bonne, histoire de voir si j'arrive a sortir un guidage + images en headless avec l'interface web de base. A minima si tu veux pas utiliser indigo, l'architecture qu'ils ont mis en place peut t'inspirer. Notamment le protocole CLIENT <-> SERVEUR. Dans tous les cas ton projet est super ! J'aimerais pouvoir t'aider, mais le c/c++ m'es inconnu. Je pourrais aider sur le javascript, je suis pas un développeur professionnel web, mais je bidouille régulièrement des IHM au boulot pour apporter quelque chose.
  6. Bonjour, Est-ce que ça fait pas doublon avec Indigo au final ? Indigo fourni des agents pour pas mal de choses aujourd'hui : imageur, focuseur, guideur, solveur astrometrie, etc ... Indigo est exposé via Websocket avec un protocole JSON dérivé du protocole TCP d'Indi. Si ça fait doublon c'est peut-être pour une bonne raison, je pense notamment aux aspects non techniques : Licence non GPL, ou bien le fait que le développement soit fermé aux "extérieurs".
  7. Hélas pas pour moi ni ce soir ni ce weekend. Je suis encore sous le coup d'une sinusite bien chargée, fallait bien que ça tombe sur une nouvelle lune sinon c'est pas drôle.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.