GOF-GSM/GPRS-PC-Utiliser
Introduction
Maintenant que vous savez comment dialoguer avec le SIM900 avec Putty, nous allons examiner un petit exemple pratique et ses différentes mise en oeuvre.
Ce dernier est basé sur les informations disponible dans notre tutoriel GSM/GPRS Shield pour Arduino.
A la main (PuTTY)
Voici un exemple détaillé réalisé à l'aide de PuTTY.
Commande envoyé au SIM900 | Réponse du SIM900 | Description |
AT | Intérroge le SIM900 | |
OK | SIM900 répond :-) | |
AT+CPIN=xxxx | Introduction du Code Pin de la carte. xxxx est le code pin. | |
OK | Code pin correct et accepté | |
Call Ready | Notification spontanée du SIM900. Enregistré sur le réseau mobile. Vous pouvez maintenant envoyer et recevoir appel et messages. | |
AT+CMGF=1 | Passer en mode texte | |
OK | Commande acceptée par le SIM900 | |
AT | Interroge le SIM900 | |
Prenez un mobile et envoyez un SMS au numéro associé au GSM/GPRS. | ||
+CMTI: "SM",17 | Notification spontanée du SIM900. Message reçu et stocké dans l'emplacement 17. | |
AT+CMGR=17 | Obtenir le message de l'emplacement 17 | |
+CMGR: "REC UNREAD","+32499668899","","13/07/28,14:00:39+08" Test from android OK |
Renvoi du contenu du message | |
AT+CMGD=17 | Effacé le contenu du message 17. | |
OK | Demande acceptée par le SIM900 | |
AT+CMGS="+32499778866" > Test from Ubuntu > |
Envoi d'un SMS au numéro 499 77 88 66. Le message se termine par CTRL+Z immédiatement suivit de la touche ENTREE sur une ligne vide!!! | |
+CMGS: 41 | Notification spontanée du SIM900. identification du message envoyé. |
En Python
Vous pouvez attaquer le SIM900 en programmation Python à l'aide de PySerial.
#!/usr/bin/env python # -*- coding: utf-8 -*- # # FirstRead.py - Programme rudimentaire pour tester la communication # avec le SIM900 en Python # # Envoi une commande AT sur le SIM900 et attend une réponse (entre # autre le OK). # # Le module SIM900 doit donc être actif, le plus simple est de le # préparer et l'initialiser avec PuTTY puis de déconnecter Putty # pour permettre a ce charmant programme de faire ses essai. # # Copyright 2013 Meurisse D. pour MCHobby.be # MCHobby - vente de kit et composant pour Arduino/Raspberry Pi, etc # <info@MCHobby.be> CC-BY-SA # import serial,time def main(): ser = serial.Serial( port = '/dev/ttyUSB0', \ baudrate = 19200, \ parity=serial.PARITY_NONE, \ stopbits=serial.STOPBITS_ONE, \ bytesize = serial.EIGHTBITS, \ timeout = 0.100 ) ser.open() print( "connected to: " + ser.portstr ) ser.write( "AT"+chr(13) ) line = ser.readline() print( line ) line = ser.readline() print( line ) line = ser.readline() print( line ) line = ser.readline() print( line ) line = ser.readline() print( line ) return 0 if __name__ == '__main__': main()
Ce qui produit le résultat suivant:
connected to: /dev/ttyUSB0 AT OK
Comme vous pouvez le constater, la commande AT est reproduite sur le port série (écho) et la réponse OK arrive un peu plus tard.
Si vous avez besoin de plus d'information sur PySerail, vous pouvez consulter le site "Short Introduction to PySerial" (SourceForge.Net).
Réalisé par Meurisse D. pour MCHobby.be
Traduit avec l'autorisation de Geek On Fire - Translated with the permission from Geek On Fire - [1]
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.