Modifications

Sauter à la navigation Sauter à la recherche
Ligne 66 : Ligne 66 :  
et ajouter le code Python suivant:
 
et ajouter le code Python suivant:
   −
  <nowiki>#!/usr/bin/env python
+
  <nowiki>#!/usr/bin/python
# -*- coding: latin-1 -*-
+
# -*- encoding: utf8 -*-
    
# Ce programme teste la connexion avec un GSM/GPRS actif
 
# Ce programme teste la connexion avec un GSM/GPRS actif
Ligne 73 : Ligne 73 :     
# Voir le tutoriel MCHobby sur  
 
# Voir le tutoriel MCHobby sur  
#    http://mchobby.be/wiki/index.php?title=RASP-GOF-GSM-GPRS
+
#    http://wiki.mchobby.be/index.php?title=RASP-GOF-GSM-GPRS
 
# Où acheter le module GSM/GPRS
 
# Où acheter le module GSM/GPRS
#    http://mchobby.be/PrestaShop/product.php?id_product=63
+
#    http://shop.mchobby.be/product.php?id_product=63
    
import serial, time
 
import serial, time
Ligne 102 : Ligne 102 :  
Saisissez la commande suivante pour rendre le programme exécutable
 
Saisissez la commande suivante pour rendre le programme exécutable
   −
  chmod +x pySerialTest.py  
+
  chmod +x pySerialTest.py
    
== Tester pySerialTest.py ==
 
== Tester pySerialTest.py ==
Ligne 136 : Ligne 136 :     
Simplement parce que le module SIM900 est configuré en ''mode echo'', ce qui implique que le module SIM900 renvoi aussi sur la sortie série toutes les commande qu'il reçoit.
 
Simplement parce que le module SIM900 est configuré en ''mode echo'', ce qui implique que le module SIM900 renvoi aussi sur la sortie série toutes les commande qu'il reçoit.
 +
 +
'''Beaucoup de ligne vide!!!'''
 +
 +
Après le AT, il y a une ligne vide puis un OK puis une ligne vide.
 +
C'est étonnant d'avoir autant de ligne vide.
 +
 +
{{ambox-stop|text=Après une recherche scrupuleuse, on remarquera que seule le \r est utile en fin de commande. Le \r\n est interprété comme un double retour à la ligne.}}
 +
 +
ser.write( "AT\r" )
    
'''C'est quoi ce caractère "?" bizarre avant le premier AT?'''
 
'''C'est quoi ce caractère "?" bizarre avant le premier AT?'''
    
Probablement produit par l'état indéfini/quelconque/flottant de la ligne série au moment de l'initialisation de la communication.
 
Probablement produit par l'état indéfini/quelconque/flottant de la ligne série au moment de l'initialisation de la communication.
 +
 +
Une analyse plus scrupuleuse de la réponse à l'aide du code suivant:
 +
<nowiki>ser.write( "AT\r" )
 +
# Attendons un moment avant de lire la réponse
 +
#  (ce qui donne aux périphérique le temps de nous fournir une réponse)
 +
time.sleep(0.3)
 +
out = ''
 +
aChar = 0
 +
while ser.inWaiting() > 0:
 +
        aChar = ser.read(1)
 +
        print( ord( aChar ))
 +
        out += aChar
 +
print (out)</nowiki>
 +
 +
Permet de s'apercevoir que la réponse est
 +
 +
<nowiki>255
 +
65
 +
84
 +
13
 +
13
 +
10
 +
79
 +
75
 +
13
 +
10
 +
�AT
 +
OK
 +
</nowiki>
 +
 +
Ce caractère bizarre correspond chr(255) qui correspond à un octet/byte où tous les bits sont à 1. 255 correspond à la notation 0b11111111
    
== Ressources ==
 
== Ressources ==
29 922

modifications

Menu de navigation