Étape 7: initialiser
/ * Bouclier cellulaire SparkFun - pass-through échantillon croquis SparkFun Electronics rédigés par Ryan Owens 08/03/10 Description : ce croquis est écrite dans un Arduino Duemillanove s’interfacent avec un bouclier cellulaire de SparkFun Electronics. Le bouclier cellulaire peut être acheté ici : http://www.sparkfun.com/commerce/product_info.php?products_id=9607 à cette commandes série de croquis sont transmis d’un programme de terminal au module cellulaire SM5100B ; et les réponses du module cellulaire sont affichés dans le terminal. Plus d’informations se trouve dans les commentaires de l’esquisse. Une carte SIM activée doit être insérée dans la carte SIM sur le plateau afin d’utiliser l’appareil ! Cette esquisse utilise la bibliothèque NewSoftSerial rédigée par Benjamin Hart de Arduiniana. La bibliothèque peut être téléchargée à cette adresse : http://arduiniana.org/libraries/NewSoftSerial/ ce code est fourni sous la licence Creative Commons. Plus d’informations peuvent être trouvés ici : http://creativecommons.org/licenses/by/3.0/ (utilisez notre code librement ! S’il vous plaît n’oubliez pas de nous donner crédit où elle est due. Merci!) * / #include < SoftwareSerial.h > //Include la bibliothèque NewSoftSerial pour envoyer des commandes série au module cellulaire. #include < string.h > //Used pour les manipulations de chaînes char incoming_char = 0 ; Tiendra le caractère entrant du Port série. SoftwareSerial cell(2,3) ; Création d’un port série « faux ». Broche 2 est la broche Rx, la broche 3 est la broche Tx. void setup() {//Initialize serial ports pour la communication. Serial.Begin(9600) ; Cell.Begin(9600) ; Let's get started ! Serial.println ("Starting SM5100B Communication...");} void loop() {//If un personnage vient le module cellulaire... if(cell.available() > 0) {incoming_char=cell.read() ; //Get le caractère du port série cellulaire. Serial.Print(incoming_char) ; Imprimer le caractère entrant à la borne. } //If un personnage vient de la borne à l’Arduino... si (Serial.available () > 0) {incoming_char = Serial.read (); / / Get le personnage venant du terminal si (incoming_char == ' ~') / / si c’est un tilde... incoming_char = 0x0D; / /.. .convertir à a si d’autre retour de chariot (incoming_char == ' ^') / / si c’est un signe d’insertion haut... incoming_char = 0x1A; / /.. .convertir à ctrl-Z cell.print (incoming_char); / / envoyer le caractère au module cellulaire. Serial.Print (incoming_char) ; ECHO à la terminal}} / * SM5100B Quck référence au jeu de commandes * sauf indication contraire AT commandes sont terminées en appuyant sur la touche 'entrée'. 1.) Assurez-vous que la bande GSM appropriée a été sélectionnée pour votre pays. Pour les États-Unis, la bande doit être définie à 7. Pour définir la bande, utilisez cette commande: AT + SBAND = 7 2.) Après avoir allumé l’Arduino avec le bouclier installé, vérifiez que le module lit et reconnaît la carte SIM. Avec un terimal fenêtre ouvrir et valeur port Arduino et 9600 buad, puissance sur l’Arduino. La séquence de démarrage devrait ressembler à ceci : Communication de SM5100B à partir... + SIND: 1 + SIND : 10, "SM", 1, "FD", 1, "LD", 1, "MC", 1, « RC », 1, « ME », 1 Communication avec le module commence après la première ligne s’affiche. La deuxième ligne de communication, + SIND : 10, nous dit si le module peut voir une carte SIM. Si la carte SIM est détectée que tous les autres domaines sont un 1 ; Si la carte SIM n’est pas détectée que tous les autres domaines est un 0. 3.) d’attente pour une connexion de réseau avant de commencer à envoyer des commandes. Après le + SIND : 10 réponse le module démarrera automatiquement tente de se connecter à un réseau. Attendez jusqu'à ce que vous recevez les repsones suivants: + SIND : 11 + SIND: 3 + SIND: 4 le + SIND réponse du module cellulaire dit le le statut de modules. Voici un rapide délabré de la signification de la réponse: 0 carte SIM retiré 1 carte SIM insérée Ring 2 module 3 AT mélodie est partiellement ready 4 au module est totalement prêt 5 ID d’appel 6 sortie call a publié dont l’ID = < idx > 7 le service réseau est disponible pour un appel d’urgence 8 le réseau est perdu 9 Audio 10 Show le statut de chaque annuaire après init phrase 11 inscrits au réseau après s’être inscrit sur la réseau, vous pouvez commencer l’interaction. Voici quelques commandes simples et utiles pour commencer : pour faire un appel: À la commande - ATDxxxyyyzzzz numéro de téléphone avec le format: (xxx) yyy-zzz essayez---cell.print("ATDxxxyyyzzzz") ; Si vous effectuez un appel de téléphone n’oubliez pas de faire référence à la feuille de données de périphériques pour raccorder un microphone et un haut-parleur à l’écran. Envoyer un message txt: À la commande - AT + CMGF = 1 cette commande définit le mode de message texte à « text ». A commande = AT + CMGS = "xxxyyyzzzz"(carriage return) "texte à send'(CTRL+Z) cette commande est un peu déroutante pour décrire. Le numéro de téléphone, dans le format (xxx) yyy-zzzz va à l’intérieur des citations doubles. Appuyez sur « entrée » après avoir fermé les citations. Ensuite, entrez le texte à être envoyer. Mettre fin à la commande en envoyant le CTRL + Z. Ce personnage ne peut être envoyé du terminal de l’Arduino. Utilisez un autre programme de terminal comme Hyperterminal, terme de Tera, Bray Terminal ou X-CTU. Le module SM5100B peut faire beaucoup plus que cela! Découvrez les fiches techniques sur la page du produit pour en savoir plus sur le module.* /
Ouvrir le port série dans le terminal. Sur un Mac, ceci est accompli en tapant :
écran /dev/tty.usbmodemfa131 9600
(remplacez tty.usbmodemfa131 par adresse de série de votre Arduino)
Attendez de voir la séquence retournée :
SM5100B Communication de départ...
+ SIND: 3
+ SIND: 4
+ SIND : 11
(Si cette séquence ne revient pas cocher les codes d’erreur listés sur le bas du code ci-dessus et déboguer correctement. Vous devrez peut-être configurer le module pour l’utilisation de l’Amérique du Nord--voir ci-dessous--avant il s’inscrit au réseau (c'est-à-dire + SIND 11))
Envoyer les commandes suivantes sur le port série :
Envoyer cette pour l’utilisation de l’Amérique du Nord :
AT + SBAND = 7
Définir l’heure actuelle - yy/mm/dd :
AT + CCLK = "13/05/15, 11: 02:00"
Envoyer un appel de test :
ATD4155551212