Mega & SIM800L - Rufnummer Empfänger von String zu Char
|
30.04.2020, 23:05
Beitrag #1
|
|||
|
|||
Mega & SIM800L - Rufnummer Empfänger von String zu Char
Guten Abend,
ich möchte eine Steuerplatine (Schalten mehrere Aus- und Eingänge) mit einem SIM800L Modul erweitern und die Ausgänge ebenfalls per SMS schalten können. Weiterhin sollen auch Schaltvorgänge per SMS "gemeldet" werden. Um die Funktionen des Moduls zu testen bin ich schon seit Tagen an folgendem Sketch dran. Es funktioniert soweit:
Was ich jedoch nicht hinbekomme: Die Rufnummer einer empfangen SMS kann ich in dem String extrahieren, aber ich schaffe es nicht diese in ein char Array umzuwandeln, damit ich dieser Nummer antworten kann. Das wird von dem Senden Befehl als char benötigt. Code: #include <GSMSim.h> Folgende Library benutze ich für das SIM800L: https://github.com/erdemarslan/GSMSim Gibt es auch eine Möglichkeit, dass man die Funktionen (SMS senden / empfangen) auslagert und im Code aufruft. Ansonsten wird der gesamte Code später sehr unübersichtlich. ![]() Ich hoffe es war verständlich? |
|||
01.05.2020, 09:06
Beitrag #2
|
|||
|
|||
RE: Mega & SIM800L - Rufnummer Empfänger von String zu Char
Warum soll das Auslagern in eine Funktion nicht möglich sein?
Warum liest Du die SMS nicht gleich in ein char-Array ein? Infos hier. Zur Not kannst Du auch message.c_str() nutzen. Wirf mal einen Blick in die oben im Foru verlinkte Referenz für weiterführend Infos. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
01.05.2020, 10:00
Beitrag #3
|
|||
|
|||
RE: Mega & SIM800L - Rufnummer Empfänger von String zu Char
(30.04.2020 23:05)kiximek schrieb: ..... Klar gibt es die, z.B. Code: // aus deiner loop: Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
01.05.2020, 11:06
Beitrag #4
|
|||
|
|||
RE: Mega & SIM800L - Rufnummer Empfänger von String zu Char
(01.05.2020 09:06)Tommy56 schrieb: Warum soll das Auslagern in eine Funktion nicht möglich sein? Hallo Tommy, da das Hauptprogramm auch die Strings mit index() ausliest um die einzelnen Funktionen zu schalten, würde ich das beibehalten. Ich denke, dass geht auch elganter, übersteigt aber mein Können. Ich habe jetzt folgendes probiert: Code: int temp1 = textMessage.indexOf("+"); Zuerst wird aus den empfangenen Daten der SMS die Rufnummer ausgelsenen. Dann erhalte ich das Format +49xxxxxx. Wenn ich das jetzt in das char Tel_Antwort umwandel und ausgebe, kommt nur ein Symbol und sonst nichts. Meist ein Quadrat. Was mache ich falsch? |
|||
01.05.2020, 11:20
Beitrag #5
|
|||
|
|||
RE: Mega & SIM800L - Rufnummer Empfänger von String zu Char
Du solltest die Informationen, die ich verlinkt habe, auch lesen. Darin steht die Antwort auf Deine Frage. Tel_Antwort ist nur ein Zeichen.
Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
01.05.2020, 13:59
Beitrag #6
|
|||
|
|||
RE: Mega & SIM800L - Rufnummer Empfänger von String zu Char
Und evtl. auch mal alle Antworten lesen.
Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
12.05.2020, 07:02
Beitrag #7
|
|||
|
|||
RE: Mega & SIM800L - Rufnummer Empfänger von String zu Char
Hallo,
es funktioniet jetzt. Danke. @Thommy: Ich habe deine Seite mehrmals gelsen und muss sagen, dass ich die erst wirklich nach 5mal Lesen verstanden habe. Wenn man es aber einmal raus hat, TOP. Für Einsteiger ins Programmieren m.M. nach schwer zu schwerstehen. Und in meinem Fall hab ich das zu spät gesehen und mir schon andere Sachen durch Beispiele angeeignet. |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste