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

Python Discussion :

Problème d'indentation (Serveur TCP - GPIO - MySQLi - Tx Série)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 18
    Par défaut Problème d'indentation (Serveur TCP - GPIO - MySQLi - Tx Série)
    Bonjour à tous,

    Je suis en charge de la mise en place d'un garage à vélo sécurisé. Voici une synthèse du système :

    - Une raspberry avec lecteur NFC s'occupe de l'identification des badges, en Python, aucun problème de ce côté
    - Cette dernière va envoyer l'identifiant de la personne en question à une autre Raspberry (via socket TCP) lorsqu'un utilisateur présente son badge.
    - Cette deuxième Raspberry va dans un premier temps ouvrir la gâche de la porte (GPIO) puis la gâche du casier de l'utilisateur (toujours GPIO)
    - Ensuite, elle va piocher dans une base MySQL le prénom et le solde de l'utilisateur, et les balance à un afficheur LED fait maison en Série (USB vers un NodeMCU)

    Mon code est complet (pas encore fonctionnel mais tout y est), j'ai revérifié les indentations manuellement ainsi qu'avec SublimeText mais rien à faire, j'ai toujours la même erreur..

    Toute la partie serveur TCP, GPIO, et liaison Série fonctionne à merveille mais depuis le rajout de MySQLi plus moyen de lancer mon script

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    # coding: utf-8
    import socket
    import RPi.GPIO as GPIO
    import time
    import MySQLdb
    import sys
    import serial
    serial = serial.Serial('/dev/ttyUSB0', 115200)
     
    paramMysql = {
    'host'   : '172.17.18.42',
    'user'   : 'raspberryGachesAfficheur',
    'passwd' : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'db'     : 'velo'
    }
     
     
    gache = [17,27,22,0,0,0,0,0,0,0,0,0]
     
    def ouvrirGache(numGache):
    	print "called OuvrirGache"
    	if (numGache > 0): ouvrirGache(0)
    	GPIO.output(gache[numGache],True)
    	time.sleep(2)
    	GPIO.output(gache[numGache],False)
     
     
    host = ''        # Toutes les interfaces réseau
    port = 15555     # Port
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((host, port))
     
     
    GPIO.setmode(GPIO.BCM)
     
    for i in range(0,12):
      GPIO.setup(gache[i],GPIO.OUT) # Gaches
     
    GPIO.setup(12,GPIO.OUT)         # Eclairage
     
    GPIO.setup(16,GPIO.IN)          # Intrusion
     
     
    print host , port
     
    while True:
    	s.listen(1)
    	conn, addr = s.accept()
    	print('Connected by', addr)
     
    	while True:
     
    		try:
     
    			received_idcasier = conn.recv(1024)
     
    			if not received_idcasier: break
     
    			if (int(received_idcasier) < 42):
     
    				received_idcasier = int(received_idcasier)
     
    				ouvrirGache(received_idcasier)
     
    				try:
     
    					connexion = MySQLdb.connect(**paramMysql)
    					curseur = conn.cursor(MySQLdb.cursors.DictCursor)
    					requete_sql = """SELECT prenom, soldepoints FROM Cyclistes WHERE idcasier = %s"""
    					curseur.execute(requete_sql, (received_idcasier, ))
    					rows = curseur.fetchall()
    					for row in rows:
    						prenom = row['prenom']
    						soldepoints = row['soldepoints']
    						print(prenom)
    						print(soldepoints)
    						string = "Bienvenue "+prenom+"  Bravo tu as "+str(soldepoints)+" points."
    						string_encode = string.encode()
    						serial.write(string_encode)
    Merci par avance à ceux qui prendront le temps de me lire / m'aider

    Cordialement,
    Waryard

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,

    Citation Envoyé par Waryard Voir le message
    j'ai toujours la même erreur..
    Ça serait bien de poster le message d'erreur complet...

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

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 18
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Ça serait bien de poster le message d'erreur complet...

    - W
    Salut,

    Nom : 2019-05-31_18-18-16_%t.png
Affichages : 86
Taille : 1,45 Mo

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,

    Avec votre éditeur de texte favori remplacez les tabulations par 4 espaces...
    Juste pour voir si çà change quelque chose.
    Si çà ne fonctionne pas, postez le script en tant que fichier.

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

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 18
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Avec votre éditeur de texte favori remplacez les tabulations par 4 espaces...
    Juste pour voir si çà change quelque chose.
    Si çà ne fonctionne pas, postez le script en tant que fichier.

    - W
    Cela n'a malheureusement rien changé..
    Je joins le fichier
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,

    Le message d'erreur bizarre, c'est juste pour dire que vos blocs "try" sont incomplets.
    Essayez juste avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if 1 == 1:
        try:
            pass
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Problème avec un client/serveur tcp en VB.net
    Par Zapto dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 29/05/2019, 09h16
  2. Problème au lancement d'un serveur TCP
    Par coolkira dans le forum Réseau
    Réponses: 1
    Dernier message: 17/08/2012, 13h57
  3. TCP Problème Latence Client/Serveur
    Par royal380 dans le forum C
    Réponses: 8
    Dernier message: 18/05/2011, 02h22
  4. [C#] Problème client-serveur TCP
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/06/2006, 16h23
  5. [Concept]Concept d'un serveur TCP/IP
    Par Zc dans le forum Développement
    Réponses: 8
    Dernier message: 17/01/2003, 17h06

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