2013-05-06 3 views
1

J'ai une application Python Flask que je prévois d'utiliser comme moniteur pour un robot qui tourne (en utilisant Player/Stage). Maintenant, je suis en mesure de se connecter avec le robot et demander des informations et ainsi de suite. Player/Stage envoie des données sur la position du robot à chaque intervalle de temps.Flacon Python exécutant des fonctions d'arrière-plan retournant des valeurs

Je suis coincé avec ce qui suit:

  1. Les informations relatives à la position doit être affiché en HTML, je pensais à un jQuery POST qui demande la position toutes les 500ms puis met à jour le code HTML (facile). Y a-t-il une meilleure solution? Player/Stage envoie également l'estimation de l'emplacement réel du robot, je veux un processus d'arrière-plan qui peut enregistrer les données afin que je puisse l'afficher (comme le numéro 1), je ne vois pas comment un travail d'arrière-plan cerere enregistre l'information ça calcule. Comment puis-je afficher la sortie d'un travail en arrière-plan et l'envoyer à l'utilisateur (html/json)?

Je dois réellement gérer quelques tâches d'arrière-plan et les laisser quitter en fonction de la sortie d'un autre travail d'arrière-plan. Par exemple, lorsque le robot arrive à un point spécifique, je quitte un travail, en démarre un autre, affiche ses données à l'utilisateur, et ainsi de suite.

J'espère que mon explication a été utile, je suis à la recherche de conseils, d'échantillons de code et de tout ce qui touche.

Cordialement,

Répondre

0

Cela peut ne pas répondre directement à votre question, comme je l'ai une question similaire sur l'utilisation des données Flask « de fond ».

Je voulais juste m'assurer que vous connaissiez ROS .... ROS.org. Il a des outils pour vous aider avec ce que vous faites.

Vérifiez aussi Flask-Script, même si je ne suis pas sûr que cela puisse résoudre votre problème. J'utilise actuellement une base de données SQLite pour transmettre des données entre mes applications (Flask pour le statut utilisateur/interaction, un programme qui lit le matériel dans la base de données, et un autre programme qui prend des décisions basées sur des entrées matérielles). , Taux de mise à jour 1Hz est beaucoup.

Questions connexes