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

  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 762
    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 762
    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 : 88
Taille : 1,45 Mo

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    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 762
    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 762
    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

  7. #7
    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,

    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
    Merci pour votre aide, j'ai préféré virer les try: vu que je ne récupère pas les exceptions.
    L'erreur d'indentation n'apparait plus, en revanche, je ne saurais vous dire si le script fonctionne car le NodeMCU de l'afficheur n'est pas connecté en ce moment, donc logiquement la Raspberry ne peut pas ouvrir le port USB, ce qui génère une erreur.

+ 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