Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.3.1 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Editeur de scénario

Bonjour à tous, pour un projet que j'ai en domotique j'aurai besoins de vos conseils/aide. Voilà, je suis entrain de réaliser une interface sur un raspberrypi2 avec Qt5.5. Cette interface me permettra de gérer mes caméras (ip), lumières, volets ... Pour gérer cela je vais utiliser des périphériques sans fils (zwave, enOcean ...) tels que capteurs de températures, présences, interrupteurs ... Par exemple si je détecte une présence dans le couloir je vais allumer une lampe dans ce dernier et soyons fou ouvrir un volet ! :D
Pour info, je vais réaliser l'interface en Qml. Mon problème est le suivant, je pourrais coder ce comportement en dur dans le code mais j'aimerai pour une question de souplesse pouvoir le modifier en dynamique, cad avec un petit éditeur de scénario intégrer à mon applis. J'aimerai réaliser quelque chose de visuel et assez simple à appréhender du type scratch ou de ce type.
En fait une zone latéral avec des widget que l'on peut glisser déposer dans une zone centrale. Une fois le scénario fini, l'appli génère un code (script ?!) qui peut-être exécuter. Tout cela pour par exemple ouvrir 2 volets au lien d'un ....

Premièrement, comment auriez-vous procédez pour réaliser l'interface graphique en Qml ? Comment générer un script qui peut être exécuter ensuite (python, javascript ?!)

Réponses

  • Salut,

    Je me pose des questions similaires en ce moment mais dans un autre domaine. Je suis plus parti sur un style "labview" que "scratch" : on place des boites et on les connecte avec des lignes. t'as par exemple un boite "température" paramétrée par "inférieur à 18°" qui est connectée à la boîte "mettre le chauffage".
    Je ne compte pas utiliser de script mais plutôt un patron de conception à base de "factory" : les widgets dans la partie latérale sont des factories (des usines) et quand on les copie dans la zone d'édition, ça instancie un objet de type "Température" dans mon exemple précédent. Les lignes entre les boites effectuent des connections au sens Qt du terme.
    Et roule ma poule, tout en Qt/Qml ! Avec des QSettings, tu peux aussi garder une configuration et la partager.
  • Bonjour Mika et merci pour ton avis. En effet l'idée de partir sur un soft type labview peut-être aussi une bonne idée ! Pour ce qui est de la parte graphique qml, je pense partir de l'exemple drag and drop. Autrement pour l'implémentation en c++ il faut que je regarde de plus prêt les design pattern (que je n'ai jamais utilisé pour être franc :\"> )...
Connectez-vous ou Inscrivez-vous pour répondre.