Téléphone : 09 83 00 63 69
[Tuto] Module GSM SIM800L - Recevoir des données HTTP
Posté sur: oct. 14, 2015
Catégories: Arduino
Pour voir le montage et la prise en main de ce module SIM800L, vous pouvez suivre le tuto sur cette page: Tuto SIM800L - Montage et prise en main
On souhaite consulter une page web et récupérer son contenu pour pouvoir l'afficher dans le moniteur série. Pour cela, on utilise le réseau GPRS du module. Pour une carte SIM Free, l'APN a renseigné est tout simplement "free". Pour d'autres opérateurs, il se peut qu'il y ai un identifiant et un mot de passe à renseigner. La commande AT à utiliser est alors : AT+CSTT=
// Importation des librairiesn#includen#include nSoftwareSerial sim800l(7,8); //RX, TXnboolean data;nnvoid setup() {n // Démarrage du modemn sim800l.begin(9600);n // Initialisation de la communication série n Serial.begin(9600);n delay(500);n data = true;n}nnvoid loop() {n if(data==true){n getdata();n data = false;n }n if (sim800l.available()>0) n Serial.write(sim800l.read());n}nnnvoid getdata(){n Serial.println("Get data HTTP");n //set up GPRS, connection typen sim800l.print("AT+SAPBR=3,1,"CONTYPE","GPRS"r");n delay(1000);n // set the APNn sim800l.print("AT+SAPBR=3,1,"APN","free"r");n delay(1000);n //tries to connect to GPRSn sim800l.print("AT+SAPBR=1,1r");n delay(2000);n // initialise embedded HTTP ruttinen sim800l.print("AT+HTTPINITr");n delay(2000);n // set the HTTP sessionn sim800l.print("AT+HTTPPARA="CID",1r");n delay(1000); n Serial.println("Enter the URL of the website: ");n char url[100];n readSerial(url); // votre URLn Serial.println(url);n // set the HTTP URLn sim800l.print("AT+HTTPPARA="URL","");n sim800l.print(url);n sim800l.print(""r");n delay(1000);n // start the sessionn sim800l.print("AT+HTTPACTION=0r");n delay(10000);n // read the data of the HTTP servern sim800l.print("AT+HTTPREADr");n delay(1000);n // terminate the HTTP servern sim800l.print("AT+HTTPTERMr");n delay(100);n sim800l.println();n}nnint readSerial(char result[]) {n int i = 0;n while (1) {n while (Serial.available() > 0) {n char inChar = Serial.read();n if (inChar == 'n') {n result[i] = '';n Serial.flush();n return 0;n }n if (inChar != 'r') {n result[i] = inChar;n i++;n }n }n }n}
Récapitulatif des AT commandes utilisées pour recevoir des données HTTP:
Commande | Réponse | Info |
AT+CGATT ? | +CGATT : | Cherche le nombre de réseau disponible |
AT+SAPBR=3,1,"CONTYPE","GPRS" | OK | Configure le profil 1, type de connexion internet : GPRS |
AT+SAPBR=3,1,"APN","free" | OK | Configure le réseau APN |
AT+SAPBR=1,1 | OK | Tentative de connexion GPRS |
AT+HTTPINIT | OK | Initialisation |
AT+HTTPPARA="CID",1 | OK | Configuration http |
AT+HTTPPARA="URL"," | OK | Configure l'adresse URL |
AT+HTTPACTION=0 | OK | Lance la session |
AT+HTTPREAD | +HTTPREAD :<date_len>, | Lis les données DATA du serveur http |
AT+HTTPTERM | OK | Fin |
AT+CIFSR | Retourne l'adresse IP |
Commentaires
août 13, 2017
avril 30, 2017
avril 27, 2017
janv. 7, 2017
mai 28, 2016
mai 28, 2016
févr. 8, 2016
Connectez-vous pour commenter
Se connecter