GSM GPRS Modul M590 keine Beiträge zu diesem Thema gefunden

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • GSM GPRS Modul M590 keine Beiträge zu diesem Thema gefunden

      Hallo zusammen und ein gutes neues 2018.

      Hat sich in unserem großartigen Forum noch Niemand mit der Ansteuerung des GSM Moduls M590 in BASCOM befasst?
      Ich habe im Forum nichts gefunden?
      Im Internet finde ich nur C- Beispiele, aber mit C komme ich nicht klar.
      Finde ich hier möglicherweise ein Experte, der sich schon mal damit auseinander gesetzt hat?
      Es hat Zeit denn derzeit bin ich an der Hardware. Dieses Modul arbeitet an 3,3Volt und somit brauche ich Pegelanpassung zu meinem ATMEGA16.
      Falls das Jemand interessiert, ich verwende dafür eine geniale Schaltung mit nur einem Feldeffekttransistor. Das gute an der Schaltung, sie ist bidirektional.
      Schaltung anhängend
      Viele Grüße
      Dieter
      Dateien
    • Ich jetzt zwar nicht mit konkret diesem Modul gearbeitet sondern "nur" mit einem SIM800L
      Damit habe ich zum einem eine Alarmanlage die SMS sendet gebaut und zum anderen ein sehr 90 Jahre Telefon zum Mobiltelefon umgebaut.
      Das ging eigentlich ganz einfach über die serielle Schnittstelle zu steuern erforderte halt etwas Studium des Modul-Datenblattes was aber nicht schwer war.
      Mein Modul wurde ganz einfach mittels verschiedener AT-Befehle gesteuert.
    • Beispiel: SMS M590e


      BASCOM-Quellcode

      1. '$sim
      2. $regfile = "attiny4313.dat"
      3. $crystal = 22118400 '22,184Mhz wegen Baudrate
      4. $hwstack = 40
      5. $swstack = 16
      6. $framesize = 32
      7. $baud = 115200
      8. 'some subroutines
      9. Declare Sub Getline(s As String)
      10. Declare Sub Flushbuf()
      11. Declare Sub Showsms(s As String )
      12. 'used variables
      13. Dim I As Byte , B As Byte
      14. Dim Sret As String * 66 , Stemp As String * 6
      15. 'we use a serial input buffer
      16. Config Serialin = Buffered , Size = 12 ' buffer is small a bigger chip would allow a bigger buffer
      17. Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
      18. Config Lcd = 16 * 2
      19. Cursor Off , Noblink
      20. Cls
      21. 'enable the interrupts because the serial input buffer works interrupts driven
      22. Enable Interrupts
      23. 'define a constant to enable LCD feedback
      24. Const Uselcd = 1
      25. Const Senddemo = 1 ' 1= send an sms
      26. Const Pincode = "AT+CPIN=1234" ' pincode change it into yours!
      27. Const Phonenumber = "AT+CMGS=+31653123456" ' phonenumber to send sms to
      28. #if Uselcd = 1
      29. Cls
      30. Lcd "SMS Demo "
      31. #endif
      32. 'wait until the mode is ready after power up
      33. Waitms 3000
      34. #if Uselcd = 1
      35. Home Lower
      36. Lcd "Init modem"
      37. #endif
      38. Print "AT" ' send AT command twice to activate the modem
      39. Print "AT"
      40. Flushbuf ' flush the buffer
      41. Print "ATE0"
      42. #if Uselcd = 1
      43. Home Lower
      44. #endif
      45. Do
      46. Print "AT" : ' Waitms 100
      47. Getline Sret ' get data from modem
      48. #if Uselcd = 1
      49. Lcd Sret ' feedback on display
      50. #endif
      51. Loop Until Sret = "OK" ' modem must send OK
      52. Flushbuf ' flush the input buffer
      53. #if Uselcd = 1
      54. Home Upper : Lcd "Get pin mode"
      55. #endif
      56. Print "AT+cpin?" ' get pin status
      57. Getline Sret
      58. #if Uselcd = 1
      59. Home Lower : Lcd Sret
      60. #endif
      61. If Sret = "+CPIN: SIM PIN" Then
      62. Print Pincode ' send pincode
      63. End If
      64. Flushbuf
      65. #if Uselcd = 1
      66. Home Upper : Lcd "set text mode"
      67. #endif
      68. Print "AT+CMGF=1" ' set SMS text mode
      69. Getline Sret ' get OK status
      70. #if Uselcd = 1
      71. Home Lower : Lcd Sret
      72. #endif
      73. 'sms settings
      74. Print "AT+CSMP=17,167,0,0"
      75. Getline Sret
      76. Print "AT+CNMI=0,1,2,0,0"
      77. Getline Sret
      78. #if Senddemo = 1
      79. #if Uselcd = 1
      80. Home Upper : Lcd "send sms"
      81. #endif
      82. Print Phonenumber
      83. Waitms 100
      84. Print "BASCOM AVR SMS" ; Chr(26)
      85. Getline Sret
      86. #if Uselcd = 1
      87. Home Lower : Lcd Sret 'feedback
      88. #endif
      89. #endif
      90. 'main loop
      91. Do
      92. Getline Sret ' wait for a modem response
      93. #if Uselcd = 1
      94. Cls
      95. Lcd "Msg from modem"
      96. Home Lower : Lcd Sret
      97. #endif
      98. I = Instr(sret , ":") ' look for :
      99. If I > 0 Then 'found it
      100. Stemp = Left(sret , I)
      101. Select Case Stemp
      102. Case "+CMTI:" : Showsms Sret ' we received an SMS
      103. ' hanle other cases here
      104. End Select
      105. End If
      106. Loop ' for ever
      107. 'subroutine that is called when a sms is received
      108. 's hold the received string
      109. '+CMTI: "SM",5
      110. Sub Showsms(s As String )
      111. #if Uselcd = 1
      112. Cls
      113. #endif
      114. I = Instr(s , ",") ' find comma
      115. I = I + 1
      116. Stemp = Mid(s , I) ' s now holds the index number
      117. #if Uselcd = 1
      118. Lcd "get " ; Stemp
      119. Waitms 1000 'time to read the lcd
      120. #endif
      121. Print "AT+CMGR=" ; Stemp ' get the message
      122. Getline S ' header +CMGR: "REC READ","+316xxxxxxxx",,"02/04/05,01:42:49+00"
      123. #if Uselcd = 1
      124. Lowerline
      125. Lcd S
      126. #endif
      127. Do
      128. Getline S ' get data from buffer
      129. Select Case S
      130. Case "PORT" : 'when you send PORT as sms text, this will be executed
      131. #if Uselcd = 1
      132. Cls : Lcd "do something!"
      133. #endif
      134. Case "OK" : Exit Do ' end of message
      135. Case Else
      136. End Select
      137. Loop
      138. #if Uselcd = 1
      139. Home Lower : Lcd "remove sms"
      140. #endif
      141. Print "AT+CMGD=" ; Stemp ' delete the message
      142. Getline S ' get OK
      143. #if Uselcd = 1
      144. Lcd S
      145. #endif
      146. End Sub
      147. 'get line of data from buffer
      148. Sub Getline(s As String)
      149. S = ""
      150. Do
      151. B = Inkey()
      152. Select Case B
      153. Case 0 'nothing
      154. Case 13 ' we do not need this one
      155. Case 10 : If S <> "" Then Exit Do ' if we have received something
      156. Case Else
      157. S = S + Chr(b) ' build string
      158. End Select
      159. Loop
      160. End Sub
      161. 'flush input buffer
      162. Sub Flushbuf()
      163. Waitms 100 'give some time to get data if it is there
      164. Do
      165. B = Inkey() ' flush buffer
      166. Loop Until B = 0
      167. End Sub
      Alles anzeigen
    • Zitronenfalter schrieb:

      Ich jetzt zwar nicht mit konkret diesem Modul gearbeitet sondern "nur" mit einem SIM800L
      Damit habe ich zum einem eine Alarmanlage die SMS sendet gebaut und zum anderen ein sehr 90 Jahre Telefon zum Mobiltelefon umgebaut.
      Das ging eigentlich ganz einfach über die serielle Schnittstelle zu steuern erforderte halt etwas Studium des Modul-Datenblattes was aber nicht schwer war.
      Mein Modul wurde ganz einfach mittels verschiedener AT-Befehle gesteuert.
      Hallo Zitronenfalter,

      habe gerade ein nacktes SIM800L erhalten und wollte mich nun einarbeiten; jedoch wenn du schon einige Vorarbeit geleistest hast, wärst du bereit, diese hier darzustellen. u.a. das Modul-Datenblatt und eventuell auch den bascom Code als Beispiel?

      Hast du eines mit der Spiralantenne oder mit der geprinteten Antenne verwendet? Und wie ist deine Verdrahtung, nur mit Tx und Rx oder auch mit Speaker un Micro?

      Wäre schön, mehr darüber zu erfahren.
    • Hallo zusammen,
      ich zeichne gerade eine Anpassungsschaltung, denn mein Atmega hat noch eine Reihe anderer Aufgaben.
      Ich konstruiere ein Netzspannungsanalysator (3Phasen) der Netzausfall und kurzzeitige Transienten aufzeichnet und per SMS meldet.

      Gerne gebe ich dann die Baufortschritte bekannt. Hier das Bild meines Moduls. Das SIM800L-Datenblatt habe ich mir mal angeschaut, es schein dem M590 zu ähneln.
      Derzeit verwende ich die beiliegende geprintete Antenne. Später bekommt das Gerät ein Gehäuse mit BNC oder SMA Stecker für eine Stabantenne.
      Heute habe ich einen den Link: github.com/LeoDJ/M590 von roboter-bausatz.de bekommen. Die Info frustet mich etwas, weil dort nur Fragmente von C aufgeführt werden.
      Datenblätter und Syntax Informationen habe ich bereits. Software habe ich aber überhaupt noch nicht. Das dauert auch noch einige Tage, da ich übernächste Woche erstmal Urlaub mache (:-)

      Ganz besonders danke ich ftelektro für den vollständigen Quellcode. das gibt mir starken Aufwind...

      Bis bald dann
      Dieter
      Dateien
    • Ulrich schrieb:

      wärst du bereit, diese hier darzustellen. u.a. das Modul-Datenblatt und eventuell auch den bascom Code als Beispiel?
      Eine Anwendung wo ich das SIM800L-Modul verwendet hatte habe ich auf meiner Homepage (<--das ist ein Link) ausführlich beschrieben.
      Da gibt es dann auch den kompletten BasCom-Code zum herunterladen.
      Das "Moduldatemblatt" ist eine sehr umfangreiche Sammlung mit gut 200MByte was ich aber alles aus dem Netz habe.
      Mit dem Suchbegriff SIM800 - AT Command Manual ist das im Google aber z.B. gleich der erste Link.

      Ulrich schrieb:

      Hast du eines mit der Spiralantenne oder mit der geprinteten Antenne verwendet?
      Sowohl beim Telefon als auch bei der erwähnten Alarmanlage hatte ich die Printantenne außen aufgeklebt weil es sich in beiden Fällen um Metallgehäuse gehandelt hatte. "Getarnt" bzw. abgedeckt habe ich das mit einem kleinen zufällig passenden halben Kunststoffgehäuse vom Conrad.

      Ulrich schrieb:

      Und wie ist deine Verdrahtung, nur mit Tx und Rx oder auch mit Speaker un Micro?Wäre schön, mehr darüber zu erfahren.
      In der Alarmanlage die ja nur SMS zu versenden hat ohne Hör- und Sprecheinrichtung, beim Telefon welches wiederum keine SMS verarbeitet (im antiken Blechgehüuse passte einfach kein Display bzw. wäre das ein böser Stilbruch gewesen) verwendete ich als Lautsprecher eine normale Hörkapsel die in derartigen Telefonen schon immer Verwendung fand und als Mikrofon eine normale Kondensatormikrofonkapsel die man um wenige Cent heute kaufen kann.
      Sowohl Hörkapsel als auch Mikrofon wurden übrigens über die normale vorhandene vieradrige Hörerschnur verbunden (also auch noch ungeschirmt).

      Die serielle Verbindung ist in beiden Fällen einfach an RX und TX bei 9600,8,N,1 erfolgt.

      Ich erzeuge mir übrigens mit dem SIM800L-Modul noch einige speziellere Hörzeichen (alles was nicht mit nur 440Hz abbildbar war wie z.B. SIT oder Quittungstöne), weil das kann das Modul auch noch so nebenbei und ist ebenfalls aus dem BasCom-Code ersichtlich (CPU.BAS).
    • Zitronenfalter schrieb:

      Ich jetzt zwar nicht mit konkret diesem Modul gearbeitet sondern "nur" mit einem SIM800L
      Damit habe ich zum einem eine Alarmanlage die SMS sendet gebaut ..........
      Hallo Zitronenfalter,
      deine sehr detaillierten Unterlagen und Beschreibungen zu deinem Telefonumbau habe ich inzwischen gefunden. Meine Intention ist jedoch eine Alarmmeldung aufs Handy, also genau das, was du in deiner Alarmanlage gebaut hast. Um das Rad nicht jedesmal neu zu erfinden, würde ich mich freuen, wenn du dazu noch Informationen bereitstellen könntest, oder ist mit einer solchen Veröffentlichung jeder in der Lage, deine Schutzmechanismen zu erkennen und gegebenenfalls zu umgehen? a_58_b54cfdb4 a_64_3a718cae a_22_9ac28a82

      Gruß
      Ulrich
    • Ulrich schrieb:

      würde ich mich freuen, wenn du dazu noch Informationen bereitstellen könntest, oder ist mit einer solchen Veröffentlichung jeder in der Lage, deine Schutzmechanismen zu erkennen und gegebenenfalls zu umgehen?
      Das Problem ist eher, dass das mit sehr heißer Nadel gestrickt wurde (ich brauchte da nach einem Einbruch nach 45 Jahren im Haus schnell was) und so IMHO nicht "veröffentlichungswürdig" ist.
      Das Besondere an der Anlage ist, dass die, solange sie "scharf" ist praktisch keinen Strom braucht (an der Stelle wo die montiert ist gibt es keinen Strom) einzig der Langzeittimer braucht wenige µA um die Anlage immer wieder zu wecken um ihre Betriebsfähigkeit zu melden.
      Schutzmechamismen oder ähnliches gibt es nicht wirklich, außer vielleicht eine Gehäuseüberwachung mit einem Sabotagemodus der dann nur mit zusätzlichen Mitteln abschaltbar ist oder man hat einen Vorschlaghammer (aber da ist es dann auch schon zu spät weil die SMS bis dahin sicher weg ist). Und um den Auslösekontakt zu trennen muss man diesen auch zuerst betätigen um an ihn ran zu kommen :D .
      Ich habe mal dennoch den Code beigefügt. Ist aber sicher noch nicht das gelbe vom Ei zeigt aber zumindest wie ich die SMS aufbereite oder das Modul initialisiere.

      Ich bin gerade dabei zu überlegen die Anlage neu zu entwerfen, weil der Mega328 mit dem Flash an seiner Grenze ist und ich eigentlich noch ein paar Ideen hätte.

      Alarmanlage Keller V2.zip
    • Hallo zusammen,

      stellt euch vor, ich hänge immer noch an der Ansteuerung des M590 GRPS Moduls.
      ftelektro's Beispielprogramm habe ich als Vorlage verwendet. Die Kommunikation mit dem Modul funktioniert einwandfrei.
      Ich kann das Datum abfragen, die SIM Kartennummer, das Modell, die Softwareversion.
      Die Signalqualität ("AT+CSQ") liegt bei 31,0 - also super Empfang. Die Stromaufnahme liegt bei 20-80 mA.
      Frage ich nach ("AT+CPIN?") bekomme ich ein OK.
      Gebe ich mit ("AT+CPIN=9163") meinen Pincode ein, dann bekomme ich ein ERROR. ???
      Die SIM-Karte habe ich vorher an einem Handy angemeldet und getestet.

      Natürlich habe ich weitere Module angeschlossen- zeigen aber alle das Gleiche.
      Noch nicht mal die Uhrzeit lässt sich ändern. Das Modul nimmt nichts an- noch nicht mal Vernunft (hi)

      Bitte um Hilfe
      VY73 Dieter
    • Könnte es sein, dass du ein hardware-Problem hast, dass längere Übertragungen nicht klappen? Kannst du mit einem weiteren seriellen Empfänger deinen Datenstrom parallel mit lesen? Vielleicht sind die Signalflanken anfangs ok und werden im Laufe der Übertragung immer schlunziger, sodass zum Ende hin nix mehr gescheites raus kommt. Ich würde den Kontrollempfänger auch direkt am Modul anschließen, also auch den gnd für diesen Empfänger da anschließen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch: Hardwareproblem kann ich komplett ausschließen. Das habe ich umfänglich getestet. Besonders die Stromversorgung. Da habe ich auf einen besonders niedrigen Innenwiderstand geachtet, weil im Sendebetrieb 1 bis 2 Amper fließen. Aber es kommt zu keinem Zeitpunkt zu einem Sendebetrieb.
      Die Kommunikation hingegen funktioniert einwandfrei. Das beweist der Umstand, dass die Module ordnungsgemäß antworten.

      Es könnte eventuell sein, dass die Module zeitabhängige Kommandos erwarten aber davon steht nichts im Neoway-M590-AT-Command-Sets_V3.0- Manual.
      Auch das Beispielprogramm von ftelektro fragt nach dem Zustand der SIM-Karte mit ("AT+CPIN?") , wartet auf ein "OK" vom Modul und sendet dann den Pin Code und wartet dann auf ein OK. Bei mir kommt aber sofort ein ERROR zur Antwort?

      Six1: ich vermute CHR(13) darüber steht nichts konkretes im Manual. Aber da ich eine Kommunikation mit dem Modul habe, gehe ich davon aus, dass dies auch so gut ist.

      ftelektro: danke für Deine Beteiligung. Ich habe genau die Pin eingegeben, die auch auf der Karte steht und mit der mein Probehandy auch funktioniert. Ich habe es auch mit der PUK probiert, ohne Erfolg. wann kam bei Deinen versuchen mit dem Modul ein Sendebetrieb zustande. (gleich nach der Eingabe der PIN -oder sofort beim Zuschalten der Versorgungsspannung).
      Bei mir kommt es beim Einschalten der Versorgungsspannung nur auf maximal 80mA Stromaufnahme, aber aktiv mit Stromschwankungen und in meinem Signalverfolger sind auch deutlich hörbarer Datenaktivitäten zu vernehmen. Und wie bereits gesagt reagiert das Modul auf alle meine Eingaben korrekt. Es kommt halt nur nicht zum Sendebetrieb und die Eingabe der SIM-PIN wird mit ERROR beantwortet.

      VY73
    • @DiBo oder @Dieter bist du's? Bist du Dieter Bohlen?
      probier doch mal dein Modul über einen Rs232-zu-USB-Schnödel am Pc mit Hterm anzuflanschen. Da hast du zum Probieren leichter verschiedene Optionen parat und musst nicht ständig compilieren und flashen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Hallo tschoeatch, ich bin zwei mal da, das muss ich mal ändern- aber ich weiß noch nicht wie. Mein Nachname ist Bork, nicht Bohlen (hi)

      Danke für Deinen Tipp, aber ich habe die ganzen Befehle bereits in meinem Programm eingegeben und kann sie über eine Tastatur auswählen und natürlich auch senden.
      Dadurch habe ich auch den Empfang im Griff, da mein Programm über Ischarwaiting jede Regung vom Modul sofort verarbeitet und über mein Terminal aus gibt.
      Dazu habe ich zwei UART Kanäle eingerichtet. Der hardwaremäßige bedient das Modul und der softwaremäßige bedient mein Terminal.

      Kannst mir glauben, dass ich mich nur deshalb ans Forum wende, weil ich keine weitere Möglichkeit sehe dahinter zu kommen. Ich bin sogar mit einem Kollegen, der das kauderwelsch des Manuals etwas besser versteht, über 6 Stunden lang nochmal durch gegangen. Zahlreiche Beiträge aus Polen, Norwegen und sonst noch wo haben auch nicht zur Erhellung bei getragen. Aber bei Denen funktioniert es offenbar- nur bei mir nicht (trief, schneutz).
      VY73 Dieter
    • DiBo schrieb:

      nur bei mir nicht (trief, schneutz)
      Ohje, aber es wird sicher alles wieder gut.
      Was mich an deinem Problem irritiert, dass einfache Abfragen gehen und kompliziertere nicht. Komplizierter im Sinne von mehr Zeichen bei der Anfrage. Deshalb würde ich das Modul mal an einen Sender/Empfänger hängen, der mit Sicherheit auch lange Zeichenfolgen senden kann, wie zB. ein Pc mit Hterm. Wenn das geht, dann weißt du, dein Programm braucht eine Revision, wenn es mit Hterm nicht geht, dann hast du falsche Befehle oder dein Modul ist kaputt oder du hast einen fake, oder...
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------