Bonjour à tous,
Avez-vous déjà mis en œuvre ce type de projet ?
J'ai suivi ce tuto pour mettre en œuvre une sécurité à code.
https://raspberrypi-tutorials.fr/connecter-un-clavier-raspberry-pi-code-lock/
J'ai donc acheté une :
-raspberry pi W V1.1
-matrice 4x4
-nape de fils
Lien d'achat pour la matrice 4x4.
https://www.amazon.fr/AZDelivery-Matrix-Clavier-Arduino-compris/dp/B08B3JR8W9/ref=sr_1_16
Après avoir installé l'OS, j'ai choisi 8 pins disponible du connecteur J8 du raspberry pi W V1.1.
Voici le schématique.
https://datasheets.raspberrypi.com/rpizero/raspberry-pi-zero-w-reduced-schematics.pdf
Dans le code pour l'identification des chiffres/lettres, j'ai donc modifié.
ROW = [31, 33, 35, 37] // ce sont les N° de PIN pas N° de GPIO
COLUMN = [32, 38, 36, 40] // ce sont les N° de PIN pas N° de GPIO
Ensuite, j'ai executé le code principale mais je n'obtiens pas le résultat attendu en python3.
Le code ci-dessous est en python2.7 ou python3 ?
Auriez-vous des pistes ou déjà essayé ce tuto ?
Merci d'avance.
import time
import RPi.GPIO as GPIO
from keypad import keypad
GPIO.setwarnings(False)
if __name__ == '__main__':
# Initialize
kp = keypad(columnCount = 4)
# waiting for a keypress
digit = None
while digit == None:
digit = kp.getKey()
# Print result
print digit
time.sleep(0.5)
###### 4 Digit wait ######
seq = []
for i in range(4):
digit = None
while digit == None:
digit = kp.getKey()
seq.append(digit)
time.sleep(0.4)
# Check digit code
print(seq)
if seq == [1, 2, 3, '#']:
print "Code accepted"
# Quelques éléments de réponse...
Posté par gUI (Mastodon) . Évalué à 5.
Vu la syntaxe du
print
ce serait plutôt du 2.7.Il faudrait que tu expliques un peu plus ce que tu observes quand tu lances le script, parce que "je n'obtiens pas le résultat attendu en python3" c'est très vague.
Il faut que tu coupes dans des petits objectifs simples comme :
- lire une touche (là on vérifie déjà qu'on a les bonnes bibliothèques Python, bonnes version, et que en gros ça va marcher un jour)
- lire la bonne valeur (et là on vérifie si la filasse est bien câblée, le tableau de GPIO bien paramétré etc.)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Quelques éléments de réponse...
Posté par electro575 . Évalué à 1.
Finalement je suis partie sur ce projet.
Il prend en compte une matrice 4x4.
https://peppe8o.com/connect-raspberry-pi-with-matrix-keypad-to-get-user-codes-input/
https://peppe8o.com/download/python/4x4MatrixKeypad.py
Maintenant je voulais récupérer le token renvoyé d'une commande linux.
Voici la sortie du print.
{"access_token":"eyJ0eXAI1NiJ9.eyJpc3Mic3MifQ.DDY71FpHgQ","access_token_expires":7200,"refresh_token":"eyJ0eXiJ9.eyVkz__N9kliGO4Q","refresh_token_expires":86400,"credentials":"auth=d}
Je voulais récupérer le résultat d'un split via le caractère ".
L'erreur retournée est la suivante, mais comment déclarer un objet type bytes ?
Ensuite, l'idée est juste de récupérer l'access token.
Merci pour vos retours.
[^] # Re: Quelques éléments de réponse...
Posté par gUI (Mastodon) . Évalué à 3.
Tu peux comprendre ton erreur (et la corriger) ici par exemple.
Mais sinon non, tu as une string qui contient du JSON, le mieux c'est de dire à python d'utiliser directement le JSON.
Ainsi tu accéderas à
token_tmp["access_token"]
outoken_tmp["access_token_expire"]
qui est autrement plus classe.En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Quelques éléments de réponse...
Posté par electro575 . Évalué à 1.
Il suffit de cette ligne pour récupérer la valeur de "access_token" ?
[^] # Re: Quelques éléments de réponse...
Posté par gUI (Mastodon) . Évalué à 3.
Eh oh, tu peux aussi chercher, essayer, te tromper… Au boulot !!!
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Quelques éléments de réponse...
Posté par electro575 . Évalué à 1.
Le token maintenant isolé, j'aimerais ajouter le token en question dans une chaine de caractère.
Le tout à envoyer dans une commande linux.
Est-ce que le code suivant partant d'une string (str) serait correct ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.