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 == |