Messages : 39
Sujets : 6
Inscription : Apr 2015
bonjour a tous,
voila j'envoie via un microcontrôleur le message suivant: "10101010" à la vitesse de 9600bps, cette transmission fonction très bien ( vérification par oscilloscope) , et j'aimerais que ma raspberry reçoive ce message mais mon code ne marche pas, j'espere que vous serez m'aider.
voici mon code (en python ):
Code :
[== Perl ==]
import serial
import string
port=serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=1.0)
while True:
data=port.read()
X=str(data)
print"data : "+X
mais il me met sur mon terminal:
data : ?
ou des fois :
date : [
en gros je vois pas mon fameux 10101010 qui est pourtant le message que j'attend..
je precise que les masses sont communes et que j'ai bien initialisé l'UART.
merci d'avance pour votre aide
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Salut
Tu as désactivé la console qui est activée par défaut sur le port série dans le fichier cmdline.txt ?
(
http://poivron-robotique.fr/Liaison-UART...ry-Pi.html)
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
oui il me reste que cette ligne la :
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
et :
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
je coince vraiment car j'ai bien initialisé l'UART et mon code me semble bon, pourtant je devrais bien recevoir 10101010 et il n'en est rien

est ce possible que de demander l'affichage de 10101010 coince dans le print ?
(Modification du message : 27-04-2015, 07:37:14 par
cosmoff.)
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Possible. Voici un exemple qui fonctionne entre un Arduino et un Raspberry :
http://www.pihomeserver.fr/2015/01/23/ra...serieuart/
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
je me suis déja inspiré de ce code la, mais ca ne marche pas...
personne n'a déja utilisé l'UART pour récupérer un octet?
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Le 10101010 c'est des bits ou bien une suite de caractere 1 et 0 ?
Le code fonctionne nickel pour la reception de caractere mais pas de bit.
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
c'est des bits
comment je fais?
(Modification du message : 27-04-2015, 09:01:20 par
cosmoff.)
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Tu lis des octets avec ta commande en python. Tu peux verifier que la valeur que tu lis est bien égale à ce que tu envois : 10101010 doit être égale à 170. Si tu affiches ce caractère c'est un caractère étendu donc ca peut donner des trucs bizarres à l'écran en fonction du tty de ton terminal.
Affiche déjà la valeur numérique brute plutôt qu'une chaine.
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
Oui c'est ca, ca m’affiche des trucs bizarre...
Je suis parti sur ton idée d'afficher directement le nombre correspondant a l'octet, dans mon cas il s'agit de 170.
j'ai mis le code suivant:
Code :
[== Indéfini ==]
import serial
import string
port=serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=1.0)
while True:
data=port.read()
if data == 170 :
print"data : 170 "
else :
print"non"
mais ca ne m'affiche que des "non"

pourtant j'émet bien 10101010
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Mais si tu affiches data ca donne quoi ? Sans faire de convertion
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Au passage tu devrais forcer la taille d'un octet à 8 bits pour être certain de bien lire le bloc d'un coup. Je sais pas la configuration par defaut, si c'est pas 7 bits
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
ca m'affiche des :
x
x
?
?
Messages : 39
Sujets : 6
Inscription : Apr 2015
j'ai forcé la taille d'un octet à 8 bits :
port=serial.Serial("/dev/ttyAMA0", baudrate=9600, bytesize=8, timeout=1.0)
mais toujours rien,
ca affiche:
?
?
?
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
J'ai l'impression qu'il ne recoit pas qq chose de correct plutot qu'un problème python.
C'est quoi l'émetteur ? Y a mouen de le debugguer ? Il ajoute pas à ta trame des bits de ack, nack, controle, etc ?
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
l’émetteur est un pic12F1840 de chez microchip.
pour moi il fonctionne très bien car je vois sur un oscilloscope qu'il émet bien un bit start ( à 0 ) puis un octet( 10101010) puis un bit stop ( à 1 ) et tout ca a la vitesse de 9600bps. l état haut est à 3v3 et l'état bas est à 0v et les masses sont bien communes
(Modification du message : 27-04-2015, 10:43:58 par
cosmoff.)
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Peut etre faudrait il faire un programme plus bas niveau pour valider que l'uart recoit bien les bits que tu envois ... Mais là je sèche !
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
ok bah merci quand meme Chris, j'espere que quelqu'un d'autre pourra m'aider dans mon probleme.
j'avais également essayé de recevoir les données à partir du TX du rasp pi, mais ca me mettait également des "?"
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Tu es connecté sur quel GPIO ?
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
pour le RX je suis connecté au port GPIO15 :p
Messages : 39
Sujets : 6
Inscription : Apr 2015
j'ai essayé a partir du terminal d'envoyer le mot bonjour :
sudo echo -e -n "Bonjour\x00" > /dev/ttyAMA0
mais ca me met : " permission non accordée"
j'ai peut etre oublié une configuration a faire ... c'est peut etre ca qui pose probleme.
mais je sais pas quelle config il me reste a faire
j'ai pourtant fait tout ce qui disait sur le site :http://poivron-robotique.fr/Liaison-UART-du-Raspberry-Pi.html
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Je pense que le echo c'est normal vu le type de "fichier".
A part refaire une installation depuis le début et/ou tout recontrôler ...
Les fils sont bons ? C'est idiot mais si le fil a un faux contact ...
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 100
Sujets : 24
Inscription : Aug 2014
Hello je n'ai pas tout lu ton problème mais jette un oeil sur le lien, ca pourra peut être aider.
https://www.ciscomadesimple.be/2013/08/ … /#more-972
ou
http://forum.raspfr.org/viewtopic.php?id=961
je reviens car ton code python me semble bizarre. Je dialogue sans problème avec un MicroControleur du type PIC16F ou 18F avec la librairie Pyserial :
http://pyserial.sourceforge.net/pyserial.html
Voici les lignes de codes que j'utilise pour recevoir un OCTET du microcontroleur:
Code :
[== Indéfini ==]
x = ser.read(1) # (1) est le nombre de Octet que tu veux recevoir
recp = int.from_bytes(x,'big')
Ton Octet reçu se trouve dans recp (pour réception) tu peux vérifier avec print(recp)
Vérifie également avec une table ascii car tu devras probablement convertir ton octet reçu dans le format qui te convient ( dec, hex, chr ).
Voila si ca peut aider.
david84
(Modification du message : 28-04-2015, 12:47:51 par
david84.)
Messages : 39
Sujets : 6
Inscription : Apr 2015
pas de faux contact sur le fil et j'ai déja refait une installation :/
personne sur le forum a déja fait de la communication UART ?
Messages : 1,410
Sujets : 49
Inscription : Jun 2013
Le message d'avant semble donner de nouvelles pistes surtout que c'est dans la meme config que toi
Raspberry Pi Home Server :
http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi:
Kupiki Hotspot
Messages : 39
Sujets : 6
Inscription : Apr 2015
bonjour david84,
je viens de tester ton code:
Code :
[== Indéfini ==]
import serial
import string
ser=serial.Serial("/dev/ttyAMA0", baudrate=9600, bytesize=8, timeout=1.0)
while True:
data=ser.read(1)
recp = int.from_bytes(data,'big')
print recp
et ca me met le message d'erreur:
AttributeError: type object 'int' has no attribute 'from_bytes'