J'ai trouver sa dans la partis Apprendre du site d'arduino.
Pour les erreurs les voicits, attention à la quantité haha !
Envoi_sms:6: error: 'GSM' does not name a type
Envoi_sms:7: error: 'GSM_SMS' does not name a type
Envoi_sms.cpp: In function 'int MesureTemp()':
Envoi_sms:17: error: 'samples' was not declared in this scope
Envoi_sms:17: error: 'Ref' was not declared in this scope
Envoi_sms:17: error: 'pinTemp' was not declared in this scope
Envoi_sms.cpp: In function 'void setup()':
Envoi_sms:37: error: 'gsmAccess' was not declared in this scope
Envoi_sms:37: error: 'GSM_READY' was not declared in this scope
Envoi_sms:40: error: expected primary-expression before '}' token
Envoi_sms:40: error: expected `;' before '}' token
Envoi_sms.cpp: At global scope:
Envoi_sms:44: error: expected declaration before '}' token
J'ai essayer comme cela et toujours rien.. je désespère.. :
//Déclaration et initialisation des variables
float mesure=0; //Variable pour le stockage mesure retournée par le capteur
float tension=0; //Variable pour le stockage de la tension
float temperature=0; //Variable pour le stockage de la température
float tempmax=18; //Temperature max
int portana0 = 0; //Numéro du port analogique sur lequel la température est mesurée
//Traitements initialisation
void setup()
{
analogReference(INTERNAL); //Permet de fixer la temperature de refernce à 1,1 volt
Serial.begin(9600); //initialisation de la liaison série à 9 600 bauds
}
//Traitements itératifs
void loop()
{
mesure = analogRead(portana0); //Lecture de la valeur fournie par le capteur de température
tension = mesure * 1.1 / 1024; //Conversion en tension (en volt)
temperature = tension * 100; //Conversion en température (en degré Celsius)
if (temp > TempMax) // la temperature est superieure a 18°C
Serial.begin(9600);
Serial.println("SMS Messages Sender");
boolean notConnected = true; // connection à l'état
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
}
Serial.println("Not connected");
delay(1000);
}
{
Serial.println("GSM initialized");
}
void loop()
{
Serial.print("Enter a mobile number: ");
char remoteNumber[20]; // numéro de téléphone pour envoyez le sms
readSerial(remoteNumber);
Serial.println(remoteNumber);
// Texte du sms
Serial.print("Seuil dépassé, fermeture trape");
char txtMsg[200];
readSerial(txtMsg);
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
// envoi le sms
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}
Avec celui la j'obtient les erreurs suivantes :
envoi_sms3.cpp: In function 'void loop()':
envoi_sms3:22: error: 'temp' was not declared in this scope
envoi_sms3:22: error: 'TempMax' was not declared in this scope
envoi_sms3:30: error: 'gsmAccess' was not declared in this scope
envoi_sms3:30: error: 'PINNUMBER' was not declared in this scope
envoi_sms3:30: error: 'GSM_READY' was not declared in this scope
envoi_sms3:33: error: expected primary-expression before '}' token
envoi_sms3:33: error: expected `;' before '}' token
envoi_sms3.cpp: At global scope:
envoi_sms3:37: error: expected unqualified-id before '{' token
envoi_sms3.cpp: In function 'void loop()':
envoi_sms3:40: error: redefinition of 'void loop()'
envoi_sms3:15: error: 'void loop()' previously defined here
envoi_sms3:45: error: 'readSerial' was not declared in this scope
envoi_sms3:58: error: 'sms' was not declared in this scope
Bonjour,
La librairie "GSM.h" est destinée au shield GSM officiel d'arduino. Elle n'est pas compatible avec ton shield de Seeedstudio.
Donc pas étonnant que le code ne marche pas.
Il existe la librairie GoGprs pour le module GSM de ton shield :La librairie GoGprs pour le GSM/GPRS shield de GeekOnFire - MCHobby - Le Blog
convient au module Sim900 (ou conviendrait? certains signalent des bugs).
Sinon pour un envoi simple de SMS :GPRS Shield V2.0 | Seeed Studio Wiki
///SendTextMessage()
///this function is to send a sms message
void SendTextMessage()
{
mySerial.print("AT+CMGF=1\r"); //Because we want to send the SMS in text mode
delay(100);
mySerial.println("AT + CMGS = \"+86186*****308\"");//send sms message, be careful need to add a country code before the cellphone number
delay(100);
mySerial.println("How are you ?");//the content of the message
delay(100);
mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
delay(100);
mySerial.println();
}