Bonjour à tous,
J'ai vu que plusieurs sujets semblent au premier abord traiter de ma demande, mais sans pour autant apporter une réponse convenant à ma situation.
Je travaille actuellement sur un simulateur de trafic routier pour lequel je souhaite obtenir un itinéraire par le biais de calculs effectués sur Matlab. Pour ce faire, je passe par l'intermédiaire d'une API réalisée en C/C++.
Je souhaite pouvoir récupérer des informations du simulateur depuis l'API et en transmettre également. De même, je souhaiterai que mon API puisse envoyer et recevoir des informations vers et depuis Matlab.
L'architecture du projet peut alors se résumer à : Simulateur <--> API <--> Matlab
---
Aujourd'hui, j'arrive avec mon API à contrôler mon simulateur (je récupère et transmet de nouvelles informations depuis l'API au simulateur).
La seconde étape est de lier mon API avec Matlab.
Un algorithme a été développé sur Matlab et je cherche donc à ce que mon API lance une instance de Matlab dans laquelle l'algorithme en question est exécuté, et les résultats sont retournés à l'API.
Je pensais faire cette liaison par l'emploi de protocole TCP/IP : API = Client et Matlab = Serveur.
J'ai cherché des informations ici-même ainsi que sur MathWorks, StackOverflow et GitHub, pour l'instant sans succès.
Sur l'API est désormais présent un fichier .c (ainsi qu'un header correspondant) disposant d'une mexFunction.
Avec l'emploi de MinGW j'ai généré un mexFile (.mexw64) que j'ai mis dans mon répertoire de projet Matlab, que je peux donc appeler et utiliser.
Il ne me reste a priori qu'une étape à faire, la réalisation du serveur sur Matlab, et c'est là qu'est mon soucis ... Je ne sais absolument pas comment faire.
J'ai aperçu quelques sujets sur divers forums, mais je trouve la plupart du code sans explication, ce qui ne me sert à rien ...
Quelqu'un aurait un point de départ ou une piste pour bien démarrer un serveur réalisé sur Matlab ?
Ou pourquoi pas, si cela existe, un tutoriel permettant la réalisation d'un tel serveur ?
Je vous remercie pour votre temps,
Cordialement.
Partager