SIM 800l - diverse Fragen

Hallo,

ich komme hier mal wieder nicht so richtig weiter.
Ich habe hier ein SIM800l-Modul am MEGA 2500 am laufen. Klappt soweit, ich kann Daten an (m)eine Webseite mit "POST" schicken. Das Modul wird so initialisiert:

void GSM_SendHTTP()
{
  GSM_Serial.println('AT');
  runsl();                                         //Print GSM Status an the Serial Output;
  delay(4000);

  GSM_Serial.println("AT+COPS?") ;   // aktueller Netzbetreiber
  runsl();                   
  delay(100);

  GSM_Serial.println("AT+CSQ") ;   // aktueller RSSI
  runsl();   
  delay(100);
  
  GSM_Serial.println('AT+SAPBR=3,1,Contype,GPRS');
  runsl();
  delay(100);

  GSM_Serial.println("AT+SAPBR=3,1,APN," + apn);
  runsl();
  delay(100);

  GSM_Serial.println("AT+SAPBR =1,1");
  runsl();
  delay(100);

  GSM_Serial.println("AT+SAPBR =2,1");
  runsl();
  delay(100);

  GSM_Serial.println("AT+HTTPINIT");
  runsl();
  delay(100);

  GSM_Serial.println("AT+HTTPPARA=CID,1");
  runsl();
  delay(100);

  GSM_Serial.println("AT+HTTPPARA=URL," + url);
  runsl();
  delay(100);

  GSM_Serial.println("AT+HTTPPARA=CONTENT,application/x-www-form-urlencoded");
  runsl();
  delay(100);

  GSM_Serial.println("AT+HTTPDATA=190,10000");
  runsl();
  delay(100);

  Serial.println("Ausgabe");

  GSM_Serial.print("params=" + Ausgabe);
  runsl();
  delay(10000);

  GSM_Serial.println("AT+HTTPACTION=1");
  runsl();
  delay(5000);

  GSM_Serial.println("AT+HTTPREAD");
  runsl();
  delay(100);

  GSM_Serial.println("AT+HTTPTERM");
  runsl();
  delay(100);

........

//**********************************************
//Print GSM Status an the Serial Output;

void runsl()
{
  while (GSM_Serial.available())
  {
    Serial.write(GSM_Serial.read());
  }
}

Der Befehl AT+SAPBR =1,1 bringt einen Error. Auch wenn ich die AT-Befehle "per Hand" über ein Terminal eingebe kommt der Fehler. Funktionieren tut es trotzdem.....
Die Befehle AT+COPS? und AT+CSQ bringen mir als Rückgabe Zeichenketten mit <+COPS: 0,0,"E-Plus"> OK bzw. <+CSQ: 19,0>. Wie könnte ich aus diesen den Anbieter (E-PLUS) und die RSSI (19) rausfummeln?

Ich möchte auch SMS empfangen um evtl. Änderungen in der Konfiguration zu machen. Im Moment werden in der Loop jede Sekunde (mit millis()) eine Funktion zum Messen diverser Spannungen aufgerufen und alle Stunde eine Funktion um diese Werte mit GPS-Werten zusammen über das SIM800-Modul wegzuschicken.
Könnte ich jetzt eine Funktion "SMS-Empfang" beispielsweise alle 30 Sekunden aufrufen? SMS-Empfang als eigener Sketch geht (einigermaßen), aber wie packe ich den in den anderen Sketch? Reicht es den Empfang alle 30 Sekunden aufzurufen oder gehen die SMS in den Pausen ins Nirwana?

Wäre schön wenn jemand Tipps hätte.....

Gruß Uwe

Das bringt Dir jetzt keine Lösung aber nach den Beiträgen in mehreren Foren ist das Teil einfach Schrott und Du vertrödelst damit unnötig Zeit.

Gruß Tommy

Ja, as bringt mich tatsächlich nicht weiter :slight_smile: :confused: .

Kennst du eine Alternative zum SIM800?

uk1408:
Ja, as bringt mich tatsächlich nicht weiter :slight_smile: :confused: .

Kennst du eine Alternative zum SIM800?

Absolut....das TC35.

Auch wenn es geht, ist der Code Murks. Dir ist nicht klar wie langsam die serielle Schnittstelle ist. Das geht nur weil die die "Einlese-Funktion" so oft aufrufst. Aber der zeitliche Ablauf entspricht nicht dem was du denkst

uk1408:
Ja, as bringt mich tatsächlich nicht weiter :slight_smile: :confused: .

Kennst du eine Alternative zum SIM800?

Siemens TC35 soll ganz gut sein. Ich mache nix mit GSM.
Gruß Tommy

Um das nochmal etwas genauer auszuführen, die Sim800 sind deutlich schlechter in der Empfangsqualität.
Ein TC35 funktioniert bei mir hier einwandfrei, sogar im Keller.
Mit dem Sim800 habe ich da absolut keinen Empfang.
Somit braucht das Sim800 ein wesentlich stärkeres Netz.

Dieses simple Ergebnis hat mich dazu bewogen, nur noch die TC35 einzusetzen.
Zusätzlich hatte ich auch Probleme, dass das Sim800 auch bei einer guten Feldstärke nicht immer eingebucht hat.

Hallo Tommy und die anderen,
also ich kann gegen den SIM800l eigentlich nichts sagen. Allerdings kenne ich auch keine anderen GSM-Module. Und ich wollte dann auch nicht gleich allzu viele Euros investieren. Was ich hier mache ist sowieso nur aus Spass an der Freude :slight_smile: :slight_smile: .
Ich habe das Teil jetzt seit einer Woche und eigentlich tut es. Liegt hier neben mir, an einer LI-Ionen-Zelle, mit der Stummelantenne, ohne große Massefläche oder so. Bucht innerhalb einiger Sekunden ein und zeigt mir recht konstant RSSI -80 dB am E-Plus-Netz an (ich habe es geschafft die Info sinnvoll auszulesen). Was ich noch nicht weghabe ist die Fehlermeldung auf AT+SAPBR =1,1. Und mit der SMS-Geschichte hänge ich noch in der Luft. Das ist aber eher Nebensache, wäre schön gewesen Parameter via SMS zu ändern. Aber 380 Seiten mit AT-Befehlen zu lesen und zu verstehen - das schaffe ich nicht. Ansonsten macht es genau das was es soll: Alle XX Sekunden Daten an meinen Server übertragen. Und vielleicht gibt es ja doch noch Hinweise was sonst noch geht.

Gruß Uwe

uk1408:
.....
Ich habe das Teil jetzt seit einer Woche und eigentlich tut es......

Ok, dann solltest du es weiter verwenden.
Da ist der TC35 sicher keine "bessere" Alternative.

Ich hatte ja wie beschrieben, das Problem, der wollte nicht einbuchen.
An anderen Standorten sieht das sicher anders aus.

Ich habe ebenfalls SIM800L Modul gekauft.

Mit dem Empfang habe ich noch gar kein Problem gehabt. (mit o2)

Schau dir mal den Beispiel Code vom Modul an, da kannst es dir anschauen wie der Code aussieht wenn du via SMS etwas steuern möchtest.

Bisher habe ich das aber noch nicht ausprobiert. Ich lasse mir aktuell alle 24h ein paar Werte wie Temperatur, Luftfeuchtigkeit, Gewicht einer Wage und Spannung des Akkus senden. Das funktioniert eigentlich ganz gut.

MrMST:
Ich habe ebenfalls SIM800L Modul gekauft.

Ich vermute mal, du antwortest auf meinen Post.
Das hat sich in sofern erledigt, da ich für ein (mehrere) Projekte den Sim800 (Müll) aussortiert habe.
Hier verwende ich den TC35, der deutlich stabiler und besser funktioniert.

Aktuell ist der TC35 für mich die bessere Lösung.

MrMST:
Schau dir mal den Beispiel Code vom Modul an, da kannst es dir anschauen wie der Code aussieht wenn du via SMS etwas steuern möchtest.

Hat du mir da eine Link ? Es gibt da viele Beispiele....

Danke

Schau mal das Video an... SIM800L: Making Calls and Sending SMS - YouTube

Den Beispielcode findest du in der Entwicklungsumgebung vom Arduino. Siehst du auch im Video.

uk1408:
Hat du mir da eine Link ? Es gibt da viele Beispiele....

Danke