Go Down

Topic: GSM shield (SIM900) nicht verbunden.  (Read 6478 times) previous topic - next topic

touranie

jepp, das ist es leider wohl. Aber mal kurz gegengefragt - ist der MEGA in der Lage über Port 2 und 3 ein Softwareserial zu machen?

HotSystems

Soweit mir bekannt ist, geht es über jeden digitalen Port.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

HotSystems

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

touranie

zwei davon kannte ich leider schon - aber trotzdem Danke für die Hilfe. So langsam aber sicher, verlässt mich auch meine Motivation. Ich glaub ich schick das Ding zurück und bestelle was ordentliches...

Gibt es da ein Shield was besonders zu empfehlen ist und trotzdem noch preislich im Rahmen bis 40€ liegt?

HotSystems

Besonders kann ich nicht sagen, aber ich verwende dieses hier:
http://www.amazon.de/SainSmart-Kompatibel-Drahtlos-SIEMENS-TC35/dp/B006CHEWOU/ref=sr_1_2?s=ce-de&ie=UTF8&qid=1450896499&sr=1-2&keywords=tc35i
Ich bin damit sehr zufrieden.

Aber willst du schon aufgeben?
Evtl. bekommst du ja noch Hilfe bzgl. des GSM900.
Bei dem TC35 kann ich dir zumindest Infos geben.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

touranie

Also bei dem Preis muss ich da glaube ich gar nicht lange überlegen. Bei unter 30€ inkl Versand muss ich schon ernsthaft überlegen an dem SIM 900 noch länger meine Nerven zu lassen ;-)

touranie

So, das Siemens Shield ist bestellt. Nun die spannende Frage, was gilt es zu beachten im Zusammenspiel mit einem MEGA? Stichwort Soft oder Hardware Serial?
Ziel der Übung ist es eine SMS per Schalter bzw TTL Impuls zu versenden.

HotSystems

Ja das ging ja jetzt schnell.
Ich poste dir gleich noch einen Test-Sketch, mit dem du einfach die SMS-Funktion testen kannst.
Der ist zwar für SoftwareSerial, kann aber von dir ja auf die Hardwareschnittstelle umgeschrieben werden.
Aber SoftwareSerial muss auch funktionieren. Nummer im Sketch anpassen und dann sollte es funktionieren.

Ich betreibe das Modul mit einem 9 Volt/1 Amp Netzteil an der Netzteilbuchse.
Dazu muss ein Elko 470 bis 1000 uF parallel zur Betriebsspannung gelötet werden. Dieser fängt die Stromspitzen auf, die beim Einbuchen entstehen. Ohne den ist das Einbuchen nicht sicher.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

HotSystems

Hier der angesprochene Testsketch.
Es sind 3 Taster (kurz auf GND schalten) vorhanden, die unterschiedlichen Text senden.

Das ganze mit "SoftwareSerial", aber das kannst du ja auch ändern.
Wenn bei laufendem Sketch der SerialMonitor geöffnet wird, siehst du auch was da abläuft.

Beachte bitte auch meinen vorherigen Post #37.

Code: [Select]

#include <SoftwareSerial.h>
#define rxPin 2
#define txPin 3

SoftwareSerial TC35Serial = SoftwareSerial(rxPin, txPin);
char text[150];
String message = "";
int i;

void setup() {

  pinMode(4, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(6, INPUT_PULLUP);
  pinMode(8, OUTPUT);
  Serial.begin(9600);
  while (!Serial) {}
  TC35Serial.begin(9600);
  digitalWrite(8, 0);
  delay(100);
  digitalWrite(8, 1);
  Serial.println("Write your SMS:");
}

void loop() {

  if (digitalRead(4) == LOW) {
    message = "Hallo Test!";
    SendSMS();
  }

  if (digitalRead(5) == LOW) {
    message = "Alles ok soweit!";
    SendSMS();
  }

  if (digitalRead(6) == LOW) {
    message = "Keine Probleme mehr!";
    SendSMS();
  }

  i = 0;
  while ( Serial.available() > 0 ) {
    text[i] = Serial.read();
    Serial.println(Serial.read());
    message += text[i];
    i++;

    if (text[i - 1] == 46) {
      Serial.println("Send SMS......");
      SendTextMessage();
      ShowSerialData();
      delay(1000);
      Serial.println("\r");
      Serial.println("Success");
      message = "";
      i = 0;
    }
  }
}

void SendSMS() {
  Serial.println("Send SMS......");
  SendTextMessage();
  ShowSerialData();
  delay(1000);
  Serial.println("\r");
  Serial.println("Success");
  message = "";
  delay(2000);
}

void SendTextMessage() {

  TC35Serial.print("AT+CMGF=1\r");
  delay(1000);
  TC35Serial.print("AT+CMGS=\"+491234567890\"\r");
  delay(1000);
  TC35Serial.println(message);
  TC35Serial.print("\r");
  delay(1000);
  TC35Serial.println((char)26);
  TC35Serial.println();
}

void ShowSerialData() {
  while (TC35Serial.available() != 0)
  Serial.write(TC35Serial.read());
}
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

touranie

1A - das ist genau das was ich suche. Ich würde nur die Spannungsversorgung über ein 1000mA Netzteil erledigen, dann sollte es auch ohne Kondensator gehen...

HotSystems

1A - das ist genau das was ich suche. Ich würde nur die Spannungsversorgung über ein 1000mA Netzteil erledigen, dann sollte es auch ohne Kondensator gehen...
Leider muss der Kondensator auch sein. Ohne ist es nicht sicher.
Ich habe in sehr vielen Berichten darüber gelesen und bei mir zu Anfang auch ohne Elko versucht, ohne Erfolg.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

touranie

Man mag es kaum glauben, aber der Verkäufer aus Fernost hat mir tatsächlich ein rudimentäres Datenblatt geschickt, welches ich hier zur Vollständigkeit noch hinterlassen möchte (siehe Anhang).

Mir ist nur nicht ganz klar, welche von den TX und RX Anschlüssen für mich wichtig wären bzw. was genau sie machen (Softserial, Hardserial etc.)

Es gibt drei verschiedene:

TXD_W
RXD_W

TXD_900
RXD_900

TXD_N
RXD_N

Vielleicht kann sich ja jemand einen Reim daraus machen...




HotSystems

#42
Dec 24, 2015, 07:29 pm Last Edit: Dec 24, 2015, 07:48 pm by HotSystems
Hoppla, hast du wirklich ein SIM900A?
Dann wäre das kein Wunder, wenn es nicht geht.

Das 900A hat eine Firmware drauf, die nicht für Europa funktioniert.
Durch ein Firmware Update bekommt man das auch zum laufen.

Für die Funktion sind die TXD/RXD-W die richtigen. Das ist P3 auf dem Board.
Und von P2 müssen die Jumper entfernt werden.

Und Hard oder SoftwareSerial ist dem Board egal, das ist vom Arduino (Sketch) abhängig.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

touranie

Ok - dann jetzt die spannende Frage: wo bekomme ich die richtige Firmware her?
Das muss doch irgendwie gehen...

combie

#44
Dec 24, 2015, 08:20 pm Last Edit: Dec 24, 2015, 08:21 pm by combie
Solange die serielle Kommunikation nicht funktioniert, wirst du da keine neue Firmware drauf bekommen. Denn selbst mit der falschen Firmware müsste das AT Kommando Interface funktionieren.
Alle sagen: Das geht nicht!
Einer wusste das nicht und probierte es aus.
Und: Es ging nicht.

Go Up