Téléphone : 09 83 00 63 69
[Tuto] Trianguler la position avec le SIM800L (Arduino)
Posté sur: févr. 6, 2019
Catégories: Arduino
[ps_product_list id_product=1147,250,508 nb=3]
Le programme suivant affiche dans le moniteur série la position du module SIM800L (latitude, longitude), ainsi que l'heure GMT, grâce à des commandes AT :
sim800l.println(AT_COMMAND[k]); //envoie de la commande AT
#define AT_DELAY 3000 // Delai après envoi commande AT
SoftwareSerial sim800l(9, 10);// RX, TX
String Message, tampon;
String Latitude, Longitude, Time; //stockage des differentes commandes
// Configure le mode positionnement
String AT_COMMAND[9] = {"AT+CGATT =1", "AT+SAPBR =3,1,"CONTYPE","GPRS"", "AT+SAPBR =3,1,"APN","orange.m2m.spec"", "AT+SAPBR =3,1,"USER","orange"", "AT+SAPBR =3,1,"PWD","orange"",n "AT+SAPBR=1,1", "AT+SAPBR=2,1", "AT+CIPGSMLOC=1,1"n };
void setup() {
// début du setup
sim800l.begin(9600); // Démarrage du modem
Serial.begin(9600);// Initialisation de la communication série
Serial.println("start ...");
}
void loop() {
// Début du loop
delay(2000);
for (int k = 0; k < 9; k++) {
delay(650);//délai de réponse;
Message = sim800l.readString(); //lecture du retour du sim800lerial.println(Message); // affichage dans le moniteur série des commandes AT + réponse
S
if (k == 8) {
Serial.println("##############################################################");
Serial.print("Time: ");
//récupération des chaines de caractère correspondant à l'heure
Time = Message.substring(Message.indexOf('/') + 7, Message.indexOf('/') + 15);
//affichage dans le moniteur série
Serial.println(Time);
Serial.println("##############################################################");
Serial.print("Latitude: ");
Latitude = Message.substring(Message.indexOf("0,") + 11, Message.indexOf(',') + 19);
Serial.println(Latitude);
Longitude = Message.substring(Message.indexOf(':') + 4, Message.indexOf(',') + 9);
Serial.print("Longitude: ");
Serial.println(Longitude);
Serial.println("##############################################################");
}
}
sim800l.println( "AT+SAPBR =0,1");
exit(0);
}
Récapitulatif des AT commandes utilisées pour la localisation:
Commandes | Réponses | Info |
AT+CGATT | OK | Connexion au service GPRS |
AT+SAPBR =3,1,"CONTYPE","GPRS" | OK | Configuration du support en GPRS |
AT+SAPBR =3,1,"APN","orange.m2m.spec" | OK | Configuration de l'APN |
AT+SAPBR =3,1,"USER","orange" | OK | User de l'APN |
AT+SAPBR =3,1,"PWD","orange" | OK | Mot de passe de l'APN |
AT+SAPBR=1,1 | OK | Ouverture du support |
AT+SAPBR=2,1 | +SAPBR: 1,1,"IP" OK | Vérification de la connexion |
AT+CIPGSMLOC=1,1 | +CIPGSMLOC: 0,Longitude,Latitude,AAAA/MM/JJ,H:MIN:SEC | Récupération de la localisation et de l'heure |
AT+SAPBR =0,1 | OK | Fermeture du support |
Commentaires
juin 14, 2019
Connectez-vous pour commenter
Se connecter