Re: Siemens TC35 GSM Modul... Kategorie: Programmierung (von Frankhaus, http://frankhaus.de - 16.08.2013 14:35) | |
Als Antwort auf Re: Siemens TC35 GSM Modul... von Willi aus Oelde - 19.07.2013 18:27
| |
Hallo, gibt es auch eine Möglichkeit den Text als Mails zu versenden? Grü� Frank > 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 > Meine Seite: http://frankhaus.de | |
Antwort schreiben Antworten: |