Neues original Arduino GSM Shield 2 verbindet sich nicht mit dem Netz.

Hallo zusammen.

Ich habe als ambitionierter Handwerker den Gefallen am spitzenmässigen Arduino gefunden. Wirklich ein tolles Gerät mit enormen Potential.

Bevor ich euch mein Problem schildere, möchte ich euch grob über mein Projekt orientieren. Ich darf für unsere Gemeinde eine Wasserniveau Anlage in unserer Waldhütte verbauen. Preislich gesehen ist der Arduino mit dem GSM Shield 2 eine wirklich gute Option, Programmierkenntnisse vorausgesetzt. Ich habe mittlerweile.. ja ich kann sagen ein Buch gelesen, damit ich den Arduino nach meinen Bedürfnissen programmieren kann. Ich denke, für meine Anwendungen reicht dieser Wissensstand. Über das Projekt an sich werde ich euch eventuell separat im Detail informieren...

Zu meinem Problem:
Für das Projekt ist ein GSM Modul notwendig, damit eine Änderung des Wasserstand per SMS versendet werden kann. Da ich bei etwas was mit Funktechnik funktioniert nicht erwartet habe, dass es von Beginn auf läuft, habe ich mir kein "Generika" wie das SIM900 zugelegt, sondern brav ein Original Arduino-Teil namens GSM SHIELD 2. Eine SIM Karte habe ich ebenfalls besorgt und entsperrt. Anschliessend habe ich anhand des Youtube Tutorials (Arduino GSM Shield - Intro part 1 - YouTube) und der Arduino Homepage versucht, das Ding in Betrieb zu nehmen.

  • SIM Karte entsperrt und eingelegt.
  • Die Antenne aufgeschraubt (Ich komme noch dazu..)
  • Vor dem aufspielen des neuen Sketches habe ich den UNO mit einem "leeren" Programm bespielt.
  • Shield auf den UNO aufgesetzt.
  • Den UNO eingesteckt und das Beispiel SendSMS aufgespielt.
  • Folglich erscheint auf dem Seriellen Monitor "SMS Messages Sender". Mehr aber nicht...

Mir ist aufgefallen, dass beim GSM Modul die grüne LED (on) permanent leuchtet und die LED's STA und NET nach dem Einschalten für lediglich ca. 5 Sekunden blinken und anschliessend für immer löschen. Sieht für mich nach einem Abbruch der Netzsuche aus. Auch der GSM Scanner funktioniert nicht.

Noch zur Antenne: Ich habe das GSM Modul mit der externen Antenne genommen, da ich vermutlich eine Aussenantenne mangels Empfang installieren muss. Ich habe eigentlich damit gerechnet, dass Arduino zumindest eine kurze Antenne mitliefert, aber das war nicht der Fall. Also habe ich mir auf die schnelle eine entsprechende GSM Antenne besorgt. Siehe Link unten. Aber die sollte doch funktionieren oder?

Ich habe wie erwähnt nicht erwartet, dass es gleich funktioniert, aber ich kann mir irgendwie nicht mehr weiterhelfen. Ich wäre um eure Mithilfe dankbar :slight_smile:

Antenne: https://www.brack.ch/delock-lte-antenne-zum-kleben-378993
GSM Modul: https://www.distrelec.ch/de/arduino-gsm-shield-a000106-arduino-a000106/p/30078155

Mein aufgespielte Sketch:

#include <GSM.h>

#define PINNUMBER ""

// 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 native USB port 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++;
      }
    }
  }
}

Folglich erscheint auf dem Seriellen Monitor "SMS Messages Sender". Mehr aber nicht...

Danach müsste er entweder jede Sekunde (?, oder länger) "Not connected" schreiben oder
"GSM initialized
Enter a mobile number:"

Wenn tatsächlich weder das eine noch das andere passiert, bleibt er in der Library in GSM::begin(const char* pin) hängen und man müsste auch wissen, welche Library du da genau verwendest.

"SMS Messages Sender" erscheint genau einmal. Da ich die SIM Karte entsperrt habe, verändere ich den Sketch in keinster Weise. Das heisst ich lasse PINNUMBER so wie es ist.

Ich benutze die GSM Library, welche werkseitig mit der Arduino IDE kommt. Also gemäss dem Sketch ist das doch so, oder? :slight_smile: Ich habe auch alle Versionen durchgetestet, jedoch ohne Erfolg. Die LED's leuchten für 4-5 Sekunden und gehen danach für immer aus (ausser der on-LED). Selbst nach 40 Min Wartezeit geschieht nichts.

Da ich die SIM Karte entsperrt habe

?

Wie machst du das ?

Kannst du die SIM Karte in ein anderes Handy stecken, ohne dass du sie wieder entsperren musst?

Ich verstehe dich so, dass du nicht diese merkwürdige mitgelieferte Telefonica/Movilforum SIM Karte verwendest.

Ja ich habe die SIM in ein Handy gesteckt und die PIN Abfrage deaktiviert. Leider wird seitens Arduino nirgends beschrieben, wie in diesem Fall im Sketch vorzugehen ist. Ich lasse den Sketch dadurch wie gesagt unverändert.

Ich verwende eine SIM Karte der Swisscom. Also meiner Meinung nach eine, mit welcher am ehesten ein Netz gefunden werden sollte.

Ich habe vermutlich die Lösung für das Problem herausgefunden.

Mir war bekannt, dass für das Senden einer SMS eine Stromversorgung von ca. 2A nötig ist. Das diese 2A aber auch nötig sind, um schon nur die Empfangsstärke auslesen zu können, war mir nicht bekannt.

Das GSM Modul muss also in jedem Fall an 2A angeschlossen werden. Ansonsten macht es keinen Wank, obwohl es durch das Leuchten der LED's am Anfang so aussieht. Ich dachte, die geringere Stromversorgung über USB würde mich im Sketch, resp. im Serial Monitor zumindest bis kurz vor den SMS Versand bringen...

Danke nochmals für die Hilfe !

Hi

2A ist aber schon ordentlich Strom, kann mir nicht wirklich vorstellen, daß Das wirklich gebraucht wird - also von der Versorgung her.
Wobei - wenn Du jetzt eine funktionierende Versorgung gefunden hast, läuft's ja bereits.
Alternativ würde ich die Spannung puffern, je nachdem, wie schnell die Spikes sind, zu dem obligatorischem Elko noch einen keramischen Kondensator (Ab-block-Kondensator).

MfG

Ja den wahnsinns Peak von 2A kann ich mir irgendwie auch nicht vorstellen.. wie auch immer.. nun läuft es.

Ich möchte dem Forum das Projekt nun vorstellen, werde aber einen neuen Thread erstellen, da es mit dem eigentlichen Thema nicht mehr viel zu tun hat. Das eigentliche Problem hier hat sich ja erledigt...