Servus,
ich habe folgendes Problem, ich habe ein Arduino Mega 2560 (1), dass ich
mit dem Antrax GSM-GPRS-Shield (2) verbinden möchte. Diese zwei
Komponenten habe ich wie im Plan (3) verbunden. Wenn ich dann den
Beispielcode (unten) in den Controller lade, gibt er nur den Befehl
Serial.println("SMS Messages Sender"); aus und macht dann nicht weiter.
Auch nach mehrern Minuten wartezeit passiert nichts.
(1) http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560
(2)
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/GSM-GPRS-GPS-Shield::51.html
(3)
http://www.antrax.de/downloads/gsm-gprs-gps-shield/antrax-manual/arduino-gsm-gprs-gps-shield-mega2560-umbauanleitung_de.pdf
created 25 Feb 2012
by Tom Igoe
This example is in the public domain.
http://arduino.cc/en/Tutorial/GSMExamplesSendSMS
*/
// Include the GSM library
#include <GSM.h>
#define PINNUMBER "1234"
// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;
void setup()
{
// initialize serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("SMS Messages Sender");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
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 remoteNum[20]; // telephone number to send sms
readSerial(remoteNum);
Serial.println(remoteNum);
// sms text
Serial.print("Now, enter SMS content: ");
char txtMsg[200];
readSerial(txtMsg);
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
// send the message
sms.beginSMS(remoteNum);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}
/*
Read input serial
*/
int readSerial(char result[])
{
int i = 0;
while(1)
{
while (Serial.available() > 0)
{
char inChar = Serial.read();
if (inChar == '\n')
{
result[i] = '\0';
Serial.flush();
return 0;
}
if(inChar!='\r')
{
result[i] = inChar;
i++;
}
}
}
}
Check erst mal ob Vcc/Vdd stabil bleibt. (GSM-Modems brauchen beim Senden viel Strom)
Hallo, Spannung sollte nicht das Problem sein da das Arduino via Netzteil versorgt wird.
Mario H. schrieb: > while (!Serial) { > ; // wait for serial port to connect. Needed for Leonardo only > } ... würde ich weglassen.
Zeilen gelöscht dennoch geht es nicht über den status "sms Message sender" hinaus
Mario H. schrieb: > Auch nach mehrern Minuten wartezeit passiert nichts. Du verlinkst hier doch glasklar, dass Du das "Antrax GSM Shield" verwendest. Und dann zeigst Du auf einen Sketch, der für das "Arduino GSM Shield" gemacht ist und die Library für das "Arduino GSM Shield" verwendet? Mal kurz gegoogelt, was auf dem Shield als GSM-Chipsatz drauf ist: "Arduino GSM Shield" ==> Chipsatz "M10 by Quectel" "Antrax GSM Shield" ==> Chipsatz "Telit GE865-QUAD" Preisfrage an Dich: Welche Library mußt Du für das Shield verwenden, wenn es nicht das originale Arduino GSM-Shield ist, sondern das Antrax GSM-Shield? Kleiner Tipp: Es ist NICHT dieselbe Library, die man für das originale "Arduino GSM Shield" verwenden würde.
Wäre es schwer gewesen einem Anfänger so etwas in einer sozialen Kompetenz näher zu bringen ohne herabwirkend zu sein. Aber dennoch Danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
