IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Réseau/Web Python Discussion :

Utilisation de Flask


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut Utilisation de Flask
    Bonjour,

    Je travaille sur une maquette avec un système de servomoteur Pan / Tilt avec une caméra Pi.
    Pour contrôler les servomoteurs et afficher le retour vidéo, j'aimerais le faire à travers une page web. J'ai donc utilisé le framework Flask de Python.
    J'ai donc voulu créer une page web qui affiche le retour vidéo et qui affiche des boutons afin de piloter les servomoteurs en les incrémenter et les décrémenter.
    Je me suis d'abord intéressée à la partie des servomoteurs. J'ai réussi à créer la page web avec les boutons. Cependant dès que je clique sur un des boutons, la page s'actualise et affiche "Votre fichier est introuvable Il a peut être été déplacé ou supprimé".
    Tous mes fichiers sont dans le même dossier. Sur ma Raspberry, j'ai créé un dossier Web_Servo_Cam dans lequel il y a deux programmes python : AppPanTilt.py (pour la page web) et un PilotageServo.py (pour les servomoteurs) ainsi qu'un dossier Template dans lequel on retrouve le fichier index.html.

    Avez-vous des idées sur ce qui pourrait me bloquer ?

    Merci d'avance,
    Bonne journée.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 744
    Par défaut
    Salut,

    Pour réaliser:

    J'ai réussi à créer la page web avec les boutons. Cependant dès que je clique sur un des boutons, la page s'actualise et affiche "Votre fichier est introuvable Il a peut être été déplacé ou supprimé".
    Il y a tout un cheminement entre l'utilisateur qui clique sur le Button de la page HTML, la requête HTML POST expédiée au serveur Flask à ce moment là produisant l'appel côté serveur d'une fonction/callback décorée par @app.route(...), le traitement de la requête... et enfin la page HTML retournée par le serveur.

    Citation Envoyé par Popnuts Voir le message
    Avez-vous des idées sur ce qui pourrait me bloquer ?
    Vu le peu d'informations que vous donnez côté "technique", tout est possible.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Voici un bout de mon code Python :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @app.route("/<servo>/<angle>")
    def mouvement(servo, angle):
    	global panAngle
    	if servo == 'pan':
    		if angle == '+':
    			panAngle = panAngle + 10
    		else:
    			panAngle = panAngle - 10
    		os.system("python3 PilotageServo.py " + str(panPin) + " " + str(panAngle))  ##PilotageServo (initialisation et commande servomoteur)
    	templateData = { 'panAngle'	: panAngle}
    	return render_template('index.html', **templateData)
    Et la ligne HTML :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <h4> Angle Pan : <a href="/pan/-"class="button">-</a> [ {{ panAngle }} ] <a href="/pan/+"class="button">+</a> </h4>

    D'après les tutos que j'ai suivi, j'avais compris que <a href="/pan/-"class="button">-</a> permettait directement de générer une requête "GET/<servo>/<angle>" et donc de faire le lien avec mon code Python.
    Mais d'après ce que vous me dîtes, j'ai l'impression qu'il me manque quelques choses de plus pour bien faire le lien entre mon code HTML et mon code Python, n'est-ce-pas ?

    Merci d'avance,
    Bonne journée.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 744
    Par défaut
    Salut,

    Citation Envoyé par Popnuts Voir le message
    Mais d'après ce que vous me dîtes, j'ai l'impression qu'il me manque quelques choses de plus pour bien faire le lien entre mon code HTML et mon code Python, n'est-ce-pas ?
    Vous devriez commencer par comprendre à faire fonctionner et comment fonctionne un exemple simple.
    Cherchez un peu sur Internet des exemples de flask avec des Button.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut
    Bonjour,

    J'ai essayé de contrôler une LED grâce à un bouton sur une page web sur le même principe mais rien à faire, j'ai toujours la même erreur...

    Pouvez-vous me donner des indications ou avez-vous des tutoriels qui pourrait m'aider ?

    Merci d'avance,
    Bonne journée.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 744
    Par défaut
    Salut,

    Citation Envoyé par Popnuts Voir le message
    Pouvez-vous me donner des indications ou avez-vous des tutoriels qui pourrait m'aider ?
    Je vous ai déjà suggéré de commencer par faire fonctionner un Button avec Flask en étudiant les exemples que vous trouvez sur Internet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    hello
    Citation Envoyé par Popnuts Voir le message
    Mais d'après ce que vous me dîtes, j'ai l'impression qu'il me manque quelques choses de plus pour bien faire le lien entre mon code HTML et mon code Python, n'est-ce-pas ?
    .
    comme on ne voit pas tout ton code et l'ensemble des fichiers que tu utilises, je te mets en pièce jointe un script qui lance un serveur Flask et qui fait un peu ce que tu veux faire. Le script est accompagné des fichiers associés. A toi d'essayer ce script et voir si il fonctionne chez toi. Si c'est le cas, il faut que tu compares par rapport à tes fichiers pour voir ce qui ne va pas.
    Le script a été testé avec python 3.6 et flask 1.1.1
    Voici ce que cela donne dans un navigateur :

    Nom : testFlaskServo.gif
Affichages : 532
Taille : 140,4 Ko

    Ami calmant, J.P
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut
    Bonjour,

    Merci pour votre aide !
    J'ai réussi à faire marcher mon système comme je le voulais et j'ai trouvé mes erreurs.

    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de flask
    Par Ryuk976 dans le forum Général Python
    Réponses: 3
    Dernier message: 17/04/2020, 22h41
  2. recuperer valeur html vers python en utilisant flask
    Par Miserness dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 19/10/2018, 11h51
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo