Go Down

Topic: SIM900 und AT (Read 760 times) previous topic - next topic

SkobyMobil

Hallo,
const int GSMR = 3; // Relais GSM-SIM900, VersorgungsSpannung Modem
const int GSMP = 4; // Power für Start GSM-SIM900, Taste Power vom Modem, betätigung SoftwareSeite.

Lege es einmal auf Eis. Ich muß hier einmal etwas probieren. Am Uno funktioniert das ganze Gerödel.

Gruß und Dank
Andreas
die zweite Maus bekommt den Speck...

HotSystems

Ok, ich lege es auf Eis.
Nur hast du den Pin auf High gesetzt, aber die üblichen Relais arbeiten mit LOW-aktiv.
Daher habe ich vermutet, du verwendest den nicht weiter.
Gruß Dieter

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

SkobyMobil

Hallo,
das Relais so zu bedienen ist eine alte Angewohnheit...

Paß auf, dieser C&P Sketch

Code: [Select]
//Once you open a serial monitor, make sure that 'Both NL & CR' option is selected!

#include <SoftwareSerial.h>

//Create software serial object to communicate with SIM900
SoftwareSerial mySerial(7, 8); //SIM900 Tx & Rx is connected to Arduino #7 & #8

void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(19200);
 
  //Begin serial communication with Arduino and SIM900
  mySerial.begin(19200);

  Serial.println("Initializing...");
  delay(1000);

  mySerial.println("AT"); //Handshaking with SIM900
  updateSerial();
  mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best
  updateSerial();
  mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
  updateSerial();
  mySerial.println("AT+CREG?"); //Check whether it has registered in the network
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available())
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while(mySerial.available())
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }
}


läuft an einem UNO einwandfrei.
Lasse ich den genau so auf meinem Mege laufen, rührt sich nichts. Keine Ausgabe.
Ändere ich die SoftSerial in echte RTx2 kommt auch nichts hoch.
Der Sketch liefert automatisch nur einige Info´s.
Ich habe ja langsam das Gefühl, das mein Mega einen wech hat.
Ich probiere das ganze noch einmal mit einer SIM900 Lib, mal sehen was da raus kommt.
Gruß und Dank
Andreas
die zweite Maus bekommt den Speck...

uxomm

Jedenfalls funktioniert SoftwareSerial am Mega nicht auf allen Pins (das ist sozusagen eine "Mega-Stolperfalle") :)
Dass also mit 7/8 nichts empfangen wird ist nicht verwunderlich.

Quote
SoftwareSerial
Limitations

The library has the following known limitations:

Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
Quelle

(Warum es mit Hardware Serial nicht funktioniert ist eine andere Frage.)
Always decouple electronic circuitry.

SkobyMobil

Hallo,
die Sache mit den Pin´s ist mir schon klar. Mit SoftSerial funktioniert das nur
sporadisch.
Ich habe hier ja einen SMS-Sketch eingestellt, der läuft so ohne Probleme mit
Hard/Soft-Serial durch. Keine Probleme. Auch das Empfangen von SMS läuft völlig
reibungslos.

Ich habe das SIM900 am TerminalProgramm mit zwei Adaptern und verschiedenen Treiber
probiert. Da passiert so richtig- reproduzierbares- NICHTS!

Aus dem Ding ist keine Rückmeldung zu bekommen.
Es ist auch in den Datenblättern unterschiedlich beschrieben. Nach anlegen der
Versorgungsspannung soll es mit 19200, oder auch 115200 oder Auto-Baud laufen. Auch
soll es eine bestimmte Sequenz ausgeben. Da rührt sich aber nichts.

Wie auch immer, ich habe es in die SchlachterKiste geworfen. 3 Tage Ärger und 25.-
Lehrgeld.
Morgen kommt ein neues Modem SIM808 und ein neuer Mega2560. Bin ja mal gespannt, ob
ich den Mega "umsonst" gekauft habe.
Also, vielen Dank euch beiden.
Gruß und Spaß
Andreas
die zweite Maus bekommt den Speck...

SkobyMobil

Hallo,
neuer Mega, neues Modem. Ja, alles wird gut- denkste Puppe!
Der gleiche Dreck!
Diesen Testaufbau in die Ecke gefeuert und das alte Modem wieder aus der Schlachterkiste
geholt. Also mal mit Sinn und Verstand an die Sache.
Ich habe mir dann wirklich alle Datenblätter und AT-Kommandos durchgelesen. Einige von
diesen AT-Befehlen setzen am Modem bestimmte Parameter wieder auf Werkzustand zurück.
Das hat mit dem TerminalProgramm sicher funktioniert.

Da weder alter Mega noch neuer Mega sich gerührt haben bin ich davon ausgegangen das der
alte Mega und das alte Modem technisch i.O. sind.
Das führt nach sich, das sich der Fehler vor der Tastatur aufhält. Dort befindet er sich
dann in der Birne- Schublade, serielle Arduino Kommunikation.

Ich habe mir dann einmal den Sketch #6, von Serenifly kopiert.

Das ganze neu verdrahtet und den Sketch gestartet. Und? Was soll ich sagen, das hat
auf Anhieb funktioniert. Das Modem hat nach Datenblatt alle Start-Informationen aus-
geworfen und der Arduino hat sie im Monitor gelistet.
Wenn ich ein AT sende, dann bekomme ich tatsächlich ein OK zurück!

Wenn Serenifly seine Routine das kann, dann kann meine das auch!
So nach ne´r guten Stunde bin ich dann drauf gekommen- zu kleiner Buffer, keine Zeiten
berücksichtig, und FALSCHER TERMINATOR! Man!

Wie auch immer, jetzt läuft es so, wie ich es mir vorgestellt habe.
Hat mich aber fast an den Rand des Wahnsinn getrieben, SerielleKommunikation eben.
Gruß und Dank
Andreas
die zweite Maus bekommt den Speck...

Scherheinz

Quote
zu kleiner Buffer, keine Zeiten
berücksichtig, und FALSCHER TERMINATOR!
Klingt erstmal einleuchtend aber wieso hat es dann auf dem Uno funktioniert?

Gruß
Hier könnte ihre Werbung stehen

SkobyMobil

Hallo,
den UNO habe ich mit SoftwareSeriell genutzt, das hat auf dem Mega nicht funktioniert.
Die C&P BeispielSketche funktionierten ja auf beiden so eben.
Nur mein Sketch mit dem senden von AT, und das empfangen von OK lief auf keinem
Arduino.
Das ist ja das Problem gewesen. Ich konnte auf beiden ein AT senden, aber ein OK habe
ich im seriellen Monitor nie zu sehen bekommen.
Gruß und Spaß
Andreas
die zweite Maus bekommt den Speck...

Scherheinz

Ah ok, dann hatte ich das falsch aufgefasst.

Gruß
Hier könnte ihre Werbung stehen

Go Up