PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuern eines Handys über Kommandozeile



astra112
09.10.2006, 15:33
Hallo ihr da draußen!

Wenn mir einer bei folgendem Problem weiterhelfen könnte wäre ich seeehr dankbar:

Ich habe zur Auswertung FMS32
Ein GSM-Modem SonyEricsson GC75

Ich möchte nach Auswertung meiner Schleife über eine Batch-Datei eine SMS an mein Handy verschicken, dies soll über das GSM-Modem passieren.

Kann ich das über Befehlszeilen, sprich eine Batch-Datei, realisieren?

Ich habe mal etwas über AT-Kommandos gehört, klappt das damit irgendwie? (Bin ein Newbie auf diesem Gebiet)

Vorraussetzung für die Alarmierung per SMS: Ich möchte KEIN zusätzliches Programm starten, da externe Programme teuer und manchmal nicht zuverlässig sind. Ich habe SMS Sender von Microsoft probiert, wenn jetzt aber 2 Schleifen kurz hintereinander laufen, die per SMS alarmieren sollen, ist SMS Sender mit dem Senden der ersten SMS beschäftigt und wirft nur eine Fehlermeldung für die zweite SMS raus, die zweite wird also nicht mehr gesendet.

Vielen Dank im Voraus!

Buebchen
09.10.2006, 22:02
Hallo ihr da draußen!

Vorraussetzung für die Alarmierung per SMS: Ich möchte KEIN zusätzliches Programm starten, da externe Programme teuer und manchmal nicht zuverlässig sind. Ich habe SMS Sender von Microsoft probiert, wenn jetzt aber 2 Schleifen kurz hintereinander laufen, die per SMS alarmieren sollen, ist SMS Sender mit dem Senden der ersten SMS beschäftigt und wirft nur eine Fehlermeldung für die zweite SMS raus, die zweite wird also nicht mehr gesendet.

Vielen Dank im Voraus!

Hallo astra112,

ich verstehe das Posting noch so ganz. Zum einen willst die KEIN zusätzliches Programm starten - aber schreibst vom SMSSender - also wenn das nicht ein zusätzliches Programm ist, dann weiss ich es auch nicht ...

Aber zum Problem: Es gibt im Forum einige Batchdateien die einen solchen Sperrmechanismus, wie Du ihn brauchst realisieren. Im einfachsten Fall eine Batchdatei, die auf die Existenz einer Lockdatei prüft. Der erste Aufruf der Batch setzt dann die Sperre bis sie fertig ist. Die zweite startet erst nachdem das lock entfernt wurde und setzt dann das lock erneut. So geht dann alles der Reihe nach.

Für den Aufruf per AT Skript gibt es natürlich auch Forumsbeiträge. Z.B. diesen: http://www.funkmeldesystem.de/foren/showthread.php?t=22384&highlight=befehlssatz

Das ist natürlich nur etwas, wenn man einigermassen die Kommunikation mit AT Kommando's beherrscht ...

astra112
14.10.2006, 10:28
Danke erstmal für deine Antwort!
Hast du für mich zufällig mal einen Link parat, wo hier im Forum ich ne Diskussion oder Downloadquellen für solche Batchdateien finde?
Deine Lösung klingt logisch, kenne mich aber (noch) nicht so mit Batch-Programmierung aus. Aber ich bin ja lernfähig! :-)
Was ich eigentlich zuerst vor hatte: Ne Batchdatei die dann nach einer Alarmierung bestimmter Schleifen ne SMS an mein Handy schickt. (über meine GSM-Karte).

Mfg Christian

Buebchen
14.10.2006, 22:37
Ich mache es ungefähr so.



@echo off

::Parameter:
:. semaphore: Name der Sperrdatei, die erstellt wird
:: maxwait: maximale Anzahl an Durchläufen der Warteschlange bis zum Abbruch
:: delay: Verzögerung pro Durchlauf in Sekunden
:: debug: wenn 1, werde ein paar Ausgaben erzeugt, sonst bleibt die Batch stumm


set semaphore="c:\lock"
set maxwait=30
set delay=2
set debug=0

:: Start der eigentlichen Batch
:: --------------------------------------------------

set loop=1

:Start
if %debug%==1 (echo %loop%)
if Exist %Semaphore% (Goto :Warten)

:: Sperre setzen
echo "1" >>%Semaphore%
if %debug%==1 (echo Sperre gesetzt)

:: Hier kommt der immer nur einzeln zu betreibende Programmblock hin
:: -----------------------------------------------------------------------



:: Sperre entfernen und beenden
del %semaphore%
if %debug%==1 (echo Sperre entfernt)

Goto :EOF

:Warten
set /a loop=%loop%+1
if %loop% gtr %maxwait% (Goto :EOF)
Ping -n %delay% 127.0.0.1 > NUL
Goto Start

astra112
15.10.2006, 13:23
Alles klar, das hört sich schonmal ganz gut an.
Und wo/wie bringe ich jetzt meine eigentliche Batchdatei zum Aufruf von SMS Sender ein?
Inhalt der Batch:


cd c:\programme\microsoft sms sender
smssender.exe /p:0151xxxxxxxx /m:"Alarm Schleife 214"

Buebchen
15.10.2006, 14:46
Direkt hinter:



:: Hier kommt der immer nur einzeln zu betreibende Programmblock hin
:: -----------------------------------------------------------------------

astra112
17.10.2006, 18:52
Hey vielen Dank schonmal, vom Prinzip her funktioniert das ganze schon ganz gut (getestet).

Jetzt habe ich nur ein Problem: wenn die erste SMS verschickt ist, gibt das Programm SMS Sender eine Meldung raus, die mir sagt :

Die Nachricht wurde ordnungsgemäß versendet.

Diese Meldung gilt es per click auf OK zu bestätigen, ansonsten läuft das Programm noch, die Lock-Datei existiert immer noch und die zweite (dritte...) SMS wird nicht verschickt... :-(

Fällt dir hierzu eine Lösung ein?

Buebchen
17.10.2006, 22:37
Hmm....

Ich würde es wohl mit AutoIt lösen. Kleines Script, daß den smssender startet und auf das Bestätigungsfenster wartet. Dann "OK" senden (sollte durch die "Eingabetaste" schon gehen) und das sollte es gewesen sein.

So in etwa - Aufruf der erstellten .exe mit der Kommandozeile für den smssender: mein-sender.exe smssender ...

mein-sender.exe ist ein kompiliertes AutoIt Skript, das ungefähr so aussehen könnte:



Run($CmdLineRaw) ; Startet den SMS Sender
WinWaitActive("<Bestätigungsfenster>") ; Titel des "OK" Fensters ! -> Nicht smssender selbst
Send("{ENTER}") ;


... so in etwa.

Details gibts auf: http://www.autoitscript.com/autoit3/

astra112
14.12.2006, 16:22
So, nach etwas längerer Zeit melde ich mich auch mal wieder (war in letzter Zeit viel beschäftigt).
Das hört sich ja schon alles ganz gut an, allerdings tauchen da schon weder zwei Probleme auf.
1.: Der Titel des Bestätgungsfensters ist der selbe wie der des SMS- Senders selbst, nämlich "SMS Sender".
2.: Wo in dem Skript rufe ich den SMS-Sender auf? Die Befehlszeile für den Sender lautet ja:

c:\programme\microsoft sms sender
smssender.exe /p:015xxxxxxxxx /m:"Schleife 214" /l

Könntest du mir dabei noch einmal helfen?

Vielen Dank!

Buebchen
14.12.2006, 17:49
Wie sieht denn der Text in dem "OK" Fenster aus ? Darauf könnte man noch prüfen.