Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Architecture pour piloter un bras robotique avec une webapp
    Bonjour, j'essaie d'etablir une communication entre un bras robotique et ma web app. La app a une gui sans logique sur le localhost. Du coté du robot, les commandes necessaires pour le bouger sont ecrites en C++. En ce moment la communication a lieu à travers des lignes de commande sur le terminal où j'appelle le robot et la position où je veux qu'il aille. J'aimerai pouvoir faire de même à travers ma web app, mais je n'ai aucune idée de comment etablir cette communication. Qqun peut-il m'aider svp ?

  2. #2
    Expert éminent sénior
    Tu écris une appli serveur pour faire passerelle.

    Elle va communiquer avec ton bras au travers de ton API écrite en C++, soit en l'utilisant directement soit en passant par la ligne de commande (une appli peut exécuter de la ligne de commande).

    Cette appli va exposer des endpoints REST qui seront consommés par ton front pour lui permettre de piloter le bras.

    Cette question n'a pas de rapport avec Angular, ça pourrait être n'importe quel autre framework front que ça ne changerait rien du tout. Je déplace le sujet dans la section architecture du forum (ALM -> Architecture).
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Candidat au Club
    Citation Envoyé par Marco46 Voir le message
    Tu écris une appli serveur pour faire passerelle.

    Elle va communiquer avec ton bras au travers de ton API écrite en C++, soit en l'utilisant directement soit en passant par la ligne de commande (une appli peut exécuter de la ligne de commande).

    Cette appli va exposer des endpoints REST qui seront consommés par ton front pour lui permettre de piloter le bras.

    Cette question n'a pas de rapport avec Angular, ça pourrait être n'importe quel autre framework front que ça ne changerait rien du tout. Je déplace le sujet dans la section architecture du forum (ALM -> Architecture).
    Oui je vous remercie pour le deplacement. Comme vous l'avez remarqué, je ne suis pas le plus calé sur le sujet, du tout. Mon front etant en Angular, comment faire pour que Angular lise une instruction de ligne de commande. En gros sur mon terminal je fais un : robot move_to_drop pour controler le robot dans une certaine position. Comment faire pour qu'au niveau de mon GUI en appuyant sur le bouton "drop", qui appelle onDrop(), la logique derriere le bouton soit cet appel de ligne de commande?

  4. #4
    Expert éminent sénior
    L'appli Angular ne peut pas faire ça. Elle n'a pas accès du filesystem donc elle ne peut pas exécuter de ligne de commande. Elle est hébergée sur un serveur web.

    Il te faut une appli backend installée sur la machine qui a ton outil en ligne de commande pour servir de proxy en quelques sortes.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Candidat au Club
    Citation Envoyé par Marco46 Voir le message
    L'appli Angular ne peut pas faire ça. Elle n'a pas accès du filesystem donc elle ne peut pas exécuter de ligne de commande. Elle est hébergée sur un serveur web.

    Il te faut une appli backend installée sur la machine qui a ton outil en ligne de commande pour servir de proxy en quelques sortes.
    Qu'est ce que tu suggererais comme appli back-end? En quel langage ou avec quel framework?

  6. #6
    Expert éminent sénior
    Essaie de faire ça avec Node ça te permettra de tout faire en JavaScript.

    La première étape c'est de faire un PoC (Proof of Concept, preuve de concept en fr). En d'autres termes étudier la faisabilité. Vu que c'est nouveau pour toi.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  7. #7
    Candidat au Club
    Citation Envoyé par Marco46 Voir le message
    Essaie de faire ça avec Node ça te permettra de tout faire en JavaScript.

    La première étape c'est de faire un PoC (Proof of Concept, preuve de concept en fr). En d'autres termes étudier la faisabilité. Vu que c'est nouveau pour toi.
    D'accord.

    Stp peux tu me donner un coup de main sur l'architecture á mettre en place, ou me rediriger vers des liens qui peuvent m'aider?

  8. #8
    Expert éminent sénior
    Ben ici dans les cours sur Node.js t'as ce cours par exemple. Au lieu d'utiliser Mongodb il te suffit d'exécuter ton outil CLI.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  9. #9
    Candidat au Club
    Citation Envoyé par Marco46 Voir le message
    Ben ici dans les cours sur Node.js t'as ce cours par exemple. Au lieu d'utiliser Mongodb il te suffit d'exécuter ton outil CLI.
    Je te remercie beaucoup. Je vais passer le week-end dessus et j'espere que je pourrai gerer le probleme

  10. #10
    Candidat au Club
    Merci encore une fois infiniment pour ton aide Marco. J'ai crée un web server avec Node.js qui sert de passerelle entre ma gui et le code C++. Juste à temps pour la deadline

  11. #11
    Expert éminent sénior
    De rien j'ai pas fait grand chose tu as fait tout le travail, donc félicitations
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu