Mes branchements sont exactement les mêmes que sur l'image ci-jointe.
Concernant les alimentations, ma carte SIM900 est alimentée en 5V / 2A ; ma carte UNO REV3 aucune, juste relié via USB sur mon PC. Cette dernière est bien reconnue sur le logiciel Arduino.
Je précise à toute fin utile que lorsque que je téléverse, aucun message d'erreur est signalée.
Dans l'attente d'une réponse,
Merci.
Laure
#include <ThingSpeak.h>
#include <SoftwareSerial.h>
#include <String.h>
SoftwareSerial mySerial(7, 8);
boolean pin2=LOW,pin3=LOW,pin4=LOW,pin5=LOW,pin6=LOW;
float temp=1.0;
void setup()
{
mySerial.begin(9600); // the GPRS baud rate
Serial.begin(9600); // the GPRS baud rate
delay(1000);
}
void loop()
{
temp=analogRead(A0);
delay(2);
Send2Pachube();
if (mySerial.available())
Serial.write(mySerial.read());
}
void Send2Pachube()
{
mySerial.println("AT");
delay(1000);
mySerial.println("AT+CREG=1");
delay(1000);
mySerial.println("AT+CGATT=1");
delay(1000);
mySerial.println("AT+CIPSHUT");
delay(1000);
mySerial.println("AT+CIPSTATUS");
delay(1000);
mySerial.println("AT+CIPMUX=0");
delay(2000);
mySerial.println("AT+CSTT=\"orange\"");//start task and setting the APN,
delay(1000);
ShowSerialData();
mySerial.println("AT+CIPSPRT=1");
delay(4000);
ShowSerialData();
mySerial.println("AT+CIPSTART=TCP,api.thingspeak.com,80");//start up the connection
delay(20000);
ShowSerialData();
mySerial.println("AT+CIPSEND");//begin send data to remote server
delay(4000);
ShowSerialData();
String str="GET https://api.thingspeak.com/update?api_key=FBBQN8R86KY4GNM0=1" + String(temp);
mySerial.println(str);//begin send data to remote server
delay(4000);
ShowSerialData();
mySerial.println((char)26);//sending
delay(5000);//waitting for reply, important! the time is base on the condition of internet
mySerial.println();
ShowSerialData();
mySerial.println("AT+CIPSHUT");//close the connection
delay(100);
ShowSerialData();
}
void ShowSerialData()
{
while(mySerial.available()!=0)
Serial.write(mySerial.read());
}
La rédaction de votre message ne répond pas aux critères attendus. Il n'aura sans doute pas de réponse tant que vous n'aurez pas pris en compte et mis en application les recommandations listées dans "Les bonnes pratiques du Forum Francophone”
➜ balises de code
➜ images directement (en png ou jpg) dans le post
➜ lien sur le matériel
➜ clarification sur l'alimentation des cartes (qui est sans doute votre souci)
Mes branchements sont exactement les mêmes que sur l'image ci-jointe.
Concernant les alimentations, ma carte SIM900 est alimentée en 5V / 2A ; ma carte UNO REV3 aucune, juste relié via USB sur mon PC. Cette dernière est bien reconnue sur le logiciel Arduino.
Je précise à toute fin utile que lorsque que je téléverse, aucun message d'erreur est signalée.
Dans l'attente d'une réponse,
Merci.
Laure
C'est bizarre ta sortie sur le moniteur, n'est pas cohérente avec ton code après ton GET, tu devrais avoir la commande "AT+CIPSHUT" affiché non?
Du coup cela veut dire que tu n'a pas eu le résultat de la command AT précédente, mais je ne m'explique pas pourquoi tu aurais deux fois "ERROR".
D'ailleurs tu peux mettre la sortie du moniteur au complet, je suppose que tu fais d'autre commande AT avant
En tout cas, la documentation indique que si tu as ERROR, c'est que la communication n'a pu s'établir ou a été coupé.
--> AT
AT
OK
--> AT+CREG=1
AT+CREG=1
OK
--> AT+CGATT=1
AT+CGATT=1
OK
--> AT+CIPSHUT
AT+CIPSHUT
SHUT OK
--> AT+CIPSTATUS
AT+CIPSTATUS
OK
STATE: IP INITIAL
--> AT+CIPMUX=0
AT+CIPMUX=0
OK
--> AT+CSTT="orange"
AT+CSTT="orange"
OK
--> AT+CIPSPRT=1
AT+CIPSPRT=1
OK
--> AT+CIPSTART=TCP,api.thingspeak.com,80
AT+CIPSTART=TCP,api.thingspeak.com,80
ERROR
--> AT+CIPSEND
AT+CIPSEND
ERROR
--> GET https://api.thingspeak.com/update?api_key=FBBQN8R86KY4GNM0=1600
GET https://api.thingspeak.com/update?api_key=FBBQN8R86KY4GNM0=1600
ERROR
-->
--> AT+CIPSHUT
essayez avec des guillemets pour le domaine et TCP
envoyer("AT+CIPSTART=\"TCP\",\"api.thingspeak.com\",80", 20000ul); //start up the connection
ensuite si c'est une connexion HTTPS qui est attendue, pas sûr que ça va fonctionner , il faut peut être un AT+HTTPSSL=1, ou alors un AT+CIPSTART="SSL",... en ayant configuré le SSL... faut lire la doc du module
Cela ne fonctionne pas.
Une mauvaise librairie "thingspeak.h" peut-il engendrer ces soucis ? J'ai trouvé "thingspeak.h" sur Arduino. Ne sachant pas quoi prendre (il y en avait deux) j'ai installé les deux.
Si j'ai fait une erreur ? Ou puis-je trouver une bibliothèque compatible.
Merci pour votre aide.
String str="GET/update?api_key=A1HACUAY0S8XYD59=1" + String(temp);
mySerial.println(str);//begin send data to remote server
delay(4000);
ShowSerialData();u code ici