Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Siemens TC35 GSM Modul... Kategorie: Programmierung (von Willi aus Oelde - 19.07.2013 18:27)
Als Antwort auf Siemens TC35 GSM Modul... von Willi aus Oelde - 3.07.2013 18:16

Hallo Forenteilnehmer,

Leider ist es doch recht still hier geworden.

Da niemand eine Alarmierung per Handy benötigt,
muÃ?te ich das "GSM-Modem" selbst in die Hand nehmen:
Es reicht, um einen Fehlercode zu senden :-)

Mir war die Sache einen Betrag von 23â?¬ wert :-)
Sonst ein altes Handy mit RS232 Kabel verwenden.
 
Anbei der vereinfachte Quelltext, der ohne Capture etc.,
nur mit HWCOM.C2 läuft: (getestet!!!!)



Modul GSM.c2 oder ins Hauptprogramm kopiern:

/********************************************************************
    ------------------------
    DO NOT MODIFY THIS FILE!
    ------------------------

    GSM.c2

    C-Control II Modul,
    provided by Willi aus Oelde, Germany

    release  : 2013/07/20
    author   : Willi aus Oelde
    requires : hwcom.c2 (auch? alte Version...)
   
    contents : Basis-Routinen für GSM Modem TC35 Siemens
   
    remarks  : Bei AnschluÃ? des TC 35 Modems an die RS232 die Station
               die Leitungen PIN 2&3 kreuzen oder umklemmen!!!
********************************************************************
(Habe diese Sachen auch in Turbo-Basic, C-Control Station M2.0 etc. getested.)
 Bei Bedarf hier posten....
   
    Kommandos TC35 Modem: Beispiele:
    ATE=0  heiÃ?t Kein Echo vom Modem zurücksenden
    ATE=1  heiÃ?t ECHO einschalten
   
    ATQ   Flusskontrolle RTS/CTS
   
    TIP: Wenn das Modem nicht will, erst mal mit einem Terminalprogramm
         wie "putty" prüfen, ob alles richtig gesendet wird!
         (9600Baud,COM1,8N1,kein Handshake...)
   
    Dieses ist eine "Einfachversion" für den Anfänger OHNE Schnickschnack!
    Modem nicht auf "ready" geprüft, keine Antworten ausgewertet!
    Mal in das Modul MODEM.C2 hier im Forum schauen....

    ACHTUNG: Unten in beide Funktionen die Telefonnummer einzutragen!
    SIM-Karte muss vorher im Handy entsperrt werden, sonst per AT-Befehle!

/**********************************
   Telefonnummer anrufen (getestet)
   Kommando: "ATD +49172xxxxxxxx;"
***********************************/
function dial()
{byte x;

  hwcom.put('A');  // AT-Kommandos siehe unter TC35-Siemens...
  hwcom.put('T');  // Ein 23â?¬ GSM Modem in der "E-Bucht"
  hwcom.put('D');  // für Bastler... 12V Version nehmen!
  hwcom.put(' ');
 
  hwcom.put('+');  // Ab hier Vorwahl Deutschland
  hwcom.put('4');
  hwcom.put('9');
 
  hwcom.put('1');  // Ab hier eigene Telefonnummer
  hwcom.put('7');  // eingeben...
  hwcom.put('2');  //
  hwcom.put('1');  //  ******* Ã?ndern ********
  hwcom.put('2');  //
  hwcom.put('3');  //
  hwcom.put('4');
  hwcom.put('5');
  hwcom.put('6');
  hwcom.put('7');
  hwcom.put('8');

  hwcom.put(';');  // Semikolon ist ganz wichtig !!!!
  hwcom.put(13 );  // Return senden

  wait hwcom.rxd();
  do
       {x=hwcom.get(); // Daten abholen bis "Return" kommt....
       }
  while x != 13;
}

/**********************************
     Telefon auflegen  (getestet)
     Kommando : "ATD+CHUP"
***********************************/
function hang_up()
{ byte x;

  hwcom.put('A');
  hwcom.put('T');
  hwcom.put('D');
  hwcom.put('+');
  hwcom.put('c');
  hwcom.put('h');
  hwcom.put('u');
  hwcom.put('p');
  hwcom.put(13) ;

wait hwcom.rxd();
 do
     {x=hwcom.get();  // Daten abholen bis "Return" kommt....
     }
 while x != 13;
 }
 
/**********************************
     Eine SMS schicken (getestet)
 **********************************
  Kommando1: "AT+CMGF=1"              +
  Kommando2: "AT+CMGS="Telefonnummer" +
  Kommando3: "SMS_Text"               + chr$(26) ohne
 
  Achtung: Warten, bis alles gesendet
  ist, bevor das Programm bendet wird!
  Es wird im Hintergrund "gespoolt"
  Keine 10 oder 13 zusätzlich einfügen!
***********************************/
function sms()
{byte x;

  hwcom.put('A');   // Modem in Textmodus versetzen
  hwcom.put('T');
  hwcom.put('+');
  hwcom.put('C');
  hwcom.put('M');
  hwcom.put('G');
  hwcom.put('F');
  hwcom.put('=');
  hwcom.put('1');
//  hwcom.put(10 );   // Nur für Ausgabe an "putty" aktivieren!!
  hwcom.put(13 );
  sleep 500;

  while hwcom.rxd() != 0
  {x = hwcom.get();
  }

  hwcom.put('A');   // Telefonnummer übermitteln
  hwcom.put('T');   // "AT+CMGS="+49172..........."+chr$(26)!
  hwcom.put('+');
  hwcom.put('C');
  hwcom.put('M');
  hwcom.put('G');
  hwcom.put('S');
  hwcom.put('=');
  hwcom.put(34 );   // "

  hwcom.put('+');   // Ab hier Vorwahl Deutschland
  hwcom.put('4');
  hwcom.put('9');

  hwcom.put('1');   // Ab hier eigene Telefonnummer
  hwcom.put('7');
  hwcom.put('2');
  hwcom.put('1');   // "17212345678" ******** Ã?NDERN !********
  hwcom.put('2');
  hwcom.put('3');
  hwcom.put('4');
  hwcom.put('5');
  hwcom.put('6');
  hwcom.put('7');
  hwcom.put('8');

  hwcom.put(34 );   // "
//  hwcom.put(10 );   // Nur für Ausgabe an "putty" aktivieren !
  hwcom.put(13 );
  sleep (500)   ;   // notwendig ???

  while hwcom.rxd() != 0  // Alle Zeichen weglesen
       {hwcom.get();      // oder evtl. ausgeben
       }

  hwcom.put('D');   // Ab hier der SMS Text:
  hwcom.put('I');   // Achtung evtl. Pufferlänge beachten,
  hwcom.put('E');   // wenn NICHT Einzelzeichen gesendet werden.
  hwcom.put(' ');  
  hwcom.put('T');
  hwcom.put('E');
  hwcom.put('S');
  hwcom.put('T');
  hwcom.put(' ');
  hwcom.put('S');
  hwcom.put('M');
  hwcom.put('S');
  hwcom.put(' ');
  hwcom.put('!');
  hwcom.put(26 );   // Hier muss man die "Eingabe" mit STRG "Z" beenden!
//hwcom.put(10 );   // Nur für Ausgabe an "putty" aktivieren
//hwcom.put(13 );   // Nur für Ausgabe an "putty" aktivieren

  while hwcom.rxd() != 0  // Alle Zeichen weglesen
       {x = hwcom.get();  // oder evtl. ausgeben
       }
}


Hauptprogramm dazu:

/********************************************************
   Vom TC35 GSM Modem anrufen und SMS senden
   Getestet 19.Juli.2013
********************************************************/
thread main
{  gsm.dial   ()      ;  // Tonanruf: Telefonnr. wählen
   sleep      (15000) ;  // Klingeln lassen
   gsm.hang_up()      ;  // wieder auflegen des "Telefons"
   gsm.sms    ()      ;  // jetzt eine SMS schicken....
   sleep      (5000)  ;  // muss das sein?
   quit(63)           ;  // In den Hostmodus
}

Viel Spass beim "Simsen",
Willi aus Oelde
 


    Antwort schreiben


Antworten:

Re: Siemens TC35 GSM Modul... (von Frankhaus - 16.08.2013 14:35)