Ankündigung

Einklappen
Keine Ankündigung bisher.

GSM-Modem zum SMS-Versenden nutzen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • daviid
    antwortet
    War wirklich nicht persönlich gemeint War wohl nur mal wieder bischen spät ...
    Sorry wenns bischen blöd rüberkam.


    Jetzt versuch ich grad aus meinem Email Plugin und dem SMS-Plugin eins zu machen, aber irgendwie scheiter ich an ner If-Abfrage:

    Hier gibts den Code

    Mein Problem ist der Code hier:
    Code:
    if(defined $email_adress && defined $email_subject && defined $email_text) {
    Damit will ich überprüfen ob die entsprechenden variablen Leer sind, um so einfach beim Einstellen entscheiden zu können ob man ne E-Mail, oder ne SMS oder Beides verschicken möchte.
    Aber irgendwie werden die Bedingungen nie erfüllt, denn ne E-Mail kommt nie an, außer ich kommentier diese Abfrage aus.

    Hat jemand ne Idee was ich falsch mach?


    EDIT: es geht nur wenn das hier aus kommentier:
    Code:
     if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $trigger_ga && defined $msg{'value'} && $msg{'value'} == "$value" ) {
    Aber genau die If-Abfrage kommt auch in meinem Email-Plugin erfolgreich zum Einsatz, ich versteh langsam gar nichts mehr.

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Sehr schön. Na klar habe ich Deine Posts gelesen. Es war aber nicht herauszufinden, was wirklich geht.
    Ich hatte ein paar Vorschläge mit screen gemacht und konnte nicht herauslesen, obs ging oder nicht...

    Bei mir, mit einem alten TC35, gings es outofthebox... Von daher war ich etwas verwundert.

    Und ja, wir wären drauf gekommen.
    Normalerweise hätte ich das Minicom angeworfen und so lange an den Parametern gedreht, bis da was kommt
    Erfahrungsgemäss schraubt man da erstmal an den baudrates und flowcontrols rum...

    Einen Kommentar schreiben:


  • makki
    antwortet
    Guad

    Das Init-script ist trotzdem schlecht (wurde aus Debian übernommen), weil es seine Leichen nicht richtig aufräumt und dann geht sicher nix.. Werd da mal nen Bug aufmachen und bei Zeiten ein neues Packerl schippern weil zum testen ist das nicht förderlich wenn der letzte Versuch noch läuft..

    Makki

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Ich habs hinbekommen, wie, da wären wir wahrscheinlich in 100 Posts noch nicht drauf gekommen:


    Im Modem hab ich als ichs bekommen hab gleich Flow Control deaktiviert, schlaue Idee ...
    Das ist der Trick:
    Code:
    rtscts = no

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Ich Versuch ja ständig wieder zu dem Sysstart zu kommen.

    Bitte nich persönlich nehmen greentux, aber hast du die ersten Seiten, oder zumindest meine letzten paar Posts gelesen?
    Ich bin dankbar für jede Hilfe, aber alles 3 mal schreiben zu müssen find ich ehrlich gesagt auch nicht so toll.

    Mein Modem braucht KEINEN einzigen Befehl zum initialisieren.
    Nachdem es ^Sysstart meldet ist es bereit, es muss keine Pin eingegeben werden, GARNICHTS.

    Einfach:
    Code:
    AT+CMGS="+4917xxxxxxxxxx" \r
    SMS-Text <CTRL-Z>
    Und gut ist

    Aber ich probier mal noch weiter wieder das ^Sysstart wieder zu bekommen.

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Du müsstest es bitte nochmal schaffen, ein
    Unexpected input: ^SYSSTART
    zu bekommen.
    An der Stelle warst Du schon sehr weit!

    Wie gesagt, ich kenne Modems, die bei
    AT oder ATZ komplett einschlafen.
    Daher wärs grad mal sinnvoll, ein
    screen /dev/ttyS0
    zu machen.
    Dann mal vorsichtig schauen, ob ein ATI was bringt, dann ein ATZ.
    usw.
    Ggf. braucht Dein Modem aber komplett andere Init Parameter, die sich aber in diversen PDFs finden lassen müssten.

    Wenn Du willst, kannst Du es auch mal mit "minicom" probieren.
    Da kann man die Schnittstellenparameter einstellen.
    Zut Not würde ich auch ein XP mit hypercom nehmen und erstmal schauen, was wie geht.

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Zitat von makki Beitrag anzeigen
    Danach nochmal von vorne, ich muss da mal ins init-script schauen, es scheint bei falschen Einstellungen wird er nicht richtig beendet..
    Das scheint wohl auch zu folgendem zu führen:
    Code:
    root@wiregate402:~# /etc/init.d/smstools stop
    Stopping SMS Daemon: (waiting...failed)Timeout occured, killing smsd hardly.
    root@wiregate402:~#
    EDIT: hab alle smsd gekillt, baudrate entfernt, tut sich nix, wiede ralle gekillt, baudrate wieder rein, auf der seriellen kommt wieder nix raus ...

    Einen Kommentar schreiben:


  • makki
    antwortet
    Eher schlecht, der smsd läuft 7x - soll: 1

    Code:
    killall smsd
    killall -9 smsd
    Danach nochmal von vorne, ich muss da mal ins init-script schauen, es scheint bei falschen Einstellungen wird er nicht richtig beendet..

    Makki

    Edit: das Init-script des smsd ist nach einem kurzen Blick bestenfalls kreativer murks.. Muss ich nochmal ein neues packerl machen..

    Einen Kommentar schreiben:


  • greentux
    antwortet
    kill doch mal alle weg.
    dann nochmal baudrate entfernen und schauen, ob endlich was ankommt...

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Weiß nicht ob das jetzt gut oder schlecht ist:

    Code:
    root@wiregate402:~# lsof | grep ttyS0
    smsd       2302          smsd    5u      CHR       4,64               2200 /dev/ttyS0
    smsd       4976          smsd    5u      CHR       4,64               2200 /dev/ttyS0
    smsd       5588          smsd    5u      CHR       4,64               2200 /dev/ttyS0
    smsd       5870          smsd    5u      CHR       4,64               2200 /dev/ttyS0
    smsd       9326          smsd    5u      CHR       4,64               2200 /dev/ttyS0
    smsd      13821          smsd    5u      CHR       4,64               2200 /dev/ttyS0
    smsd      16259          smsd    5u      CHR       4,64               2200 /dev/ttyS0

    Einen Kommentar schreiben:


  • makki
    antwortet
    Sitzt irgendwas anderes evtl. auf dem seriellen Port?

    lsof | grep ttyS0

    Makki

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Anscheinend scheint der Hund wirklich in der seriellen begraben zu sein, ich hab mich mittem Laptop jetzt mal wieder per Nullmodemkabel ans WG gehängt, und wenn smstools startet sollte ja zumindest das AT was im log aufgeführt wird gesendet werden, es kommt aber NICHTS an, auch nicht mit falscher Baudrate.

    Config sieht Momentan so aus:
    Code:
    devices = GSM1
    outgoing = /var/spool/sms/outgoing
    checked = /var/spool/sms/checked
    incoming = /var/spool/sms/incoming
    logfile = /var/log/smstools/smsd.log
    infofile = /var/run/smstools/smsd.working
    pidfile = /var/run/smstools/smsd.pid
    outgoing = /var/spool/sms/outgoing
    checked = /var/spool/sms/checked
    failed = /var/spool/sms/failed
    incoming = /var/spool/sms/incoming
    sent = /var/spool/sms/sent
    stats = /var/log/smstools/smsd_stats
    loglevel = 7
    #delaytime = 10
    #errorsleeptime = 10
    #blocktime = 3600
    #stats = /var/log/smsd_stats
    #stats_interval = 3600
    #stats_no_zeroes = no
    #checkhandler = /usr/local/bin/smscheck
    receive_before_send = no
    # autosplit 0=no 1=yes 2=with text numbers 3=concatenated
    autosplit = 3
    # store_received_pdu 0=no, 1=unsupported, 2=unsupported and 8bit, 3=all
    #store_received_pdu = 1
    #validity = 255
    #decode_unicode_text = no
    #internal_combine = no
    # You can specify here an external program that is started whenever an alarm occurs.
    # alarmhandler = /path/to/an/alarmhandler/script
    # Specifies what levels start an alarmhandler. You can use value between 2 and 5.
    # alarmlevel = 4
    # eventhandler = @EVENTHANDLER@
    #blacklist = /etc/smstools/blacklist
    #whitelist = /etc/smstools/whitelist
    
    
    [GSM1]
    init = AT
    device = /dev/ttyS0
    incoming = no
    pin = xxxxx
    baudrate = 19200
    root@wiregate402:/var/spool/sms#
    Hab auch mal wie empfohlen die Baudrate weg gelassen, geholfen hat es nix ...

    Einen Kommentar schreiben:


  • makki
    antwortet
    Ja, vermutlich die Baudrate falsch..

    Das sollte in etwa so aussehen:
    Code:
    2012-11-02 21:33:20,5, GSM1: Modem handler 0 has started. PID: 2633. Will only send messages.
    2012-11-02 21:33:20,6, GSM1: Checking if modem is ready
    2012-11-02 21:33:21,7, GSM1: -> AT
    2012-11-02 21:33:21,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:21,7, GSM1: <- AT OK
    2012-11-02 21:33:21,6, GSM1: Pre-initializing modem
    2012-11-02 21:33:21,7, GSM1: -> ATE0+CMEE=1;+CREG=2
    2012-11-02 21:33:21,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:21,7, GSM1: <- ATE0+CMEE=1;+CREG=2 OK
    2012-11-02 21:33:21,6, GSM1: Checking if modem needs PIN
    2012-11-02 21:33:22,7, GSM1: -> AT+CPIN?
    2012-11-02 21:33:22,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:22,7, GSM1: <- +CPIN: READY OK
    2012-11-02 21:33:22,6, GSM1: Initializing modem
    2012-11-02 21:33:22,7, GSM1: -> ATZ
    2012-11-02 21:33:22,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:22,7, GSM1: <- OK
    2012-11-02 21:33:23,7, GSM1: -> AT+CSQ
    2012-11-02 21:33:23,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:23,7, GSM1: <- AT+CSQ +CSQ: 12,99 OK
    2012-11-02 21:33:23,6, GSM1: Signal Strength Indicator: (12,99) -89 dBm (Workable), Bit Error Rate: not known or not detectable
    2012-11-02 21:33:23,6, GSM1: Selecting PDU mode
    2012-11-02 21:33:23,7, GSM1: -> AT+CMGF=0
    2012-11-02 21:33:23,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:23,7, GSM1: <- AT+CMGF=0 OK
    2012-11-02 21:33:24,7, GSM1: -> AT+CIMI
    2012-11-02 21:33:24,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:24,7, GSM1: <- AT+CIMI XXXX OK
    2012-11-02 21:33:24,7, GSM1: -> AT+CGSN
    2012-11-02 21:33:24,7, GSM1: Command is sent, waiting for the answer
    2012-11-02 21:33:24,7, GSM1: <- AT+CGSN XXXX OK
    2012-11-02 21:33:24,5, GSM1: CGSN: XXXX
    2012-11-02 21:33:24,5, GSM1: IMSI: XXXXX
    2012-11-02 21:33:24,5, GSM1: Waiting for messages to send...
    Makki

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Da biste wieder nen Schritt zurück, da das Modem nun nix mehr gesagt hat (oben hatte es sich ja noch gemeldet). Nimm mal die baudrate raus, die ist nämlich 115k2 statt 19k2.

    Einen Kommentar schreiben:


  • daviid
    antwortet
    gestern Abend hab ich mir die SMStools Doku auch mal angeschaut, und fest gestellt dass ich init eigentlich garnicht brauch, denn mein Modem braucht nichts zum initialisieren.

    Deine Config Makki war ja auch in nem anderen Post von dir in nem anderen Thread zu finden, damit hab ich Gestern angefangen, hat nich funktioniert.

    Ich brauch also weder init noch nen pin, den Pin Eingabe brauch ich auch nicht, Pin Eingabe ist abgeschalten.

    Hab aber deine Config grad nochmal probiert, ich glaub langsam einfach ich bin wieder zu blöd dafür, den folgendes kam dabei raus:
    2012-11-02 21:50:52,2, smsd: Smsd v3.1.11 started.
    2012-11-02 21:50:52,2, smsd: Running as smsd:dialout.
    2012-11-02 21:50:52,7, smsd: Running startup_check (shell): /tmp/smsd_script.SGlQIt /tmp/smsd_data.tQKn5r
    2012-11-02 21:50:52,7, smsd: Done: startup_check (shell), execution time 0 sec., status: 0 (0)
    2012-11-02 21:50:52,4, smsd: File mode creation mask: 022 (0644, rw-r--r--).
    2012-11-02 21:50:52,5, smsd: Outgoing file checker has started. PID: 6368.
    2012-11-02 21:50:52,5, GSM1: Modem handler 0 has started. PID: 6369. Will only send messages.
    2012-11-02 21:50:52,6, GSM1: Checking if modem is ready
    2012-11-02 21:50:53,7, GSM1: -> AT
    2012-11-02 21:51:08,2, smsd: Smsd mainprocess is awaiting the termination of all modem handlers. PID: 6368.
    2012-11-02 21:52:42,2, smsd: Smsd v3.1.11 started.
    2012-11-02 21:52:42,2, smsd: Running as smsd:dialout.
    2012-11-02 21:52:42,7, smsd: Running startup_check (shell): /tmp/smsd_script.Oq0xQe /tmp/smsd_data.8af1It
    2012-11-02 21:52:42,7, smsd: Done: startup_check (shell), execution time 0 sec., status: 0 (0)
    2012-11-02 21:52:42,4, smsd: File mode creation mask: 022 (0644, rw-r--r--).
    2012-11-02 21:52:42,5, smsd: Outgoing file checker has started. PID: 8581.
    2012-11-02 21:52:42,5, GSM1: Modem handler 0 has started. PID: 8582. Will only send messages.
    2012-11-02 21:52:42,6, GSM1: Checking if modem is ready
    2012-11-02 21:52:42,7, GSM1: -> AT
    2012-11-02 21:54:43,5, smsd: Moved file /var/spool/sms/outgoing/test to /var/spool/sms/checked
    Hier helfen wohl nurnoch Eingebungen ...

    Einen Kommentar schreiben:

Lädt...
X