Modifications

Sauter à la navigation Sauter à la recherche
2 527 octets ajoutés ,  31 mars 2014 à 04:37
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 99 : Ligne 99 :  
         out += ser.read(1)
 
         out += ser.read(1)
 
print out</nowiki>
 
print out</nowiki>
 +
 +
Saisissez la commande suivante pour rendre le programme exécutable
 +
 +
chmod +x pySerialTest.py
 +
 +
== Tester pySerialTest.py ==
 +
=== Démarrer le SIM900 ===
 +
Assurez-vous que le module SIM900 soit sous tension avant de lancer le programme de test.
 +
 +
En effet, vous n'obtiendrez aucune réponse si ce dernier est éteint.
 +
 +
[[Fichier:RASP-GOF-GSM-GPRS-UART-02.jpg]]
 +
 +
Si votre module est allumé alors:
 +
* La led PWR: Alimentation (<font color="green">Vert</font>) est allumée.
 +
* La led Statut: <font color="blue">Bleu</font> est allumée.
 +
* La led Netlight: Réseau <font color="red">Rouge</font> clignote.
 +
 +
[[File:GSM-Shield-02-fr.jpg|center]]
 +
 +
=== Démarrez pySerialTest.py ===
 +
 +
Démarrez maintenant votre programme de test en Python à l'aide de la commande:
 +
 +
./pySerialTest.py
 +
 +
Et vous devriez voir apparaitre le résultat suivant dans votre fenêtre terminal.
 +
 +
[[Fichier:RASP-GOF-GSM-GPRS-SerialPython-testResult.jpg]]
 +
 +
Voici quelques informations complémentaires sur les réponses produites par le programme
 +
 +
'''Pourquoi les commandes AT sont-elles visibles?'''
 +
 +
Si le programme ne fait que lire les réponses, pourquoi voit-on aussi les "AT" dans les messages de réponses!?!?
 +
 +
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?'''
 +
 +
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 917

modifications

Menu de navigation