SMS Versand Kategorie: Programmierung (von ThomasL - 18.02.2005 10:25) | ||
| ||
Hallo Alle Zusammen Ich habe mir ein " Vereinfachtes" SMS Modul geschrieben. nun Habe ich das Problem das die function hinhaut. Ich gehe aufgrund der meldungen auf dem LCD davon aus.Aber von 10 veschickten SMS ist nich eine angekommen. Den Teil TAPCRC() und loginTAB() habe ich aus dem alten SMS modul kopiert. Das einzige was ich mir vorstellen kann was nicht klappt ist entweder das ich von D1 nch Eplus eine SMS schicke .Wäre Dankbar für eine Eplus nummer. oder es Probleme mit dem Checksum gibt denn bei diesem Text bekomme ich eine Checksume von 89: ph.Message1="<-TEST ONE->"; ph.Message2="<-TEST TWO->"; ph.Message3=""; ph.Message4=""; Also wenn sich jemand Mal die zeit nimmt und sich mein Problem ansieht wäre ich dankbar Hier die function; // Jumper auf dem Board RTS/CTS Setzen!! // Funktion für Elsa Mircrolink Basic string Message1,Message2,Message3,Message4,checksum,ClientNumber,Status,SMSCNumber; byte data2[8],data3[8];string searchfor,test;int timeout; function ende() { } function getStatus() returns byte { searchfor="CO"; hwcom.receive(data3,8,80000); if strx.InStr(0,data3,searchfor,8,2)!=-1 {hwcom.flush(); return 255;} else {hwcom.flush(); return 0;} } function getOK() returns byte { searchfor="OK"; hwcom.receive(data2,8,1200); if strx.InStr(0,data2,searchfor,8,2)!=-1 {hwcom.flush(); return 255;} else {hwcom.flush(); return 0;} } //IIIIIIIIIIIIII CALCULATE TAP CHECKSUM IIIIIIIIIIIIIIIIII function TAPCRC() // Kopiert aus Altem SMS { long sum; byte i; //-------------- ADDING ALL BYTES ------------------------ sum=0;checksum=""; for i=0 ...str.length(ClientNumber) {sum=sum+(mem.getint(ClientNumber,i)shr 8);} for i=0 ...str.length(Message1) {sum=sum+(mem.getint(Message1,i)shr 8);} for i=0 ...str.length(Message2) {sum=sum+(mem.getint(Message2,i)shr 8);} for i=0 ...str.length(Message3) {sum=sum+(mem.getint(Message3,i)shr 8);} for i=0 ...str.length(Message4) {sum=sum+(mem.getint(Message4,i)shr 8);} //----------- SEPERATING 12 LOWER BITS ------------------- sum=sum+31;sum=sum and 0x00000fff; //--------------- MAKE STRING ---------------------------- i=(sum and 0xf00)shr 8; str.putchar(checksum,i+0x30); i=(sum and 0x0f0)shr 4; str.putchar(checksum,i+0x30); i=(sum and 0x00f); str.putchar(checksum,i+0x30); } function loginTAP() // Kopiert aus Altem SMS { byte data; //--------------- GET ID REQUEST "ID=" ------------------------- hwcom.put(13); wait hwcom.rxd(); do {data=hwcom.get();} while data!='='; //-------------- SEND ID PG1 ( hwcom.put(27); hwcom.print("PG113"); //------------------ GET ANSWER ---------------------------- wait hwcom.rxd(); do {data=hwcom.get();} while data!='[';//waiting for [p data=hwcom.get();data=hwcom.get(); //------ SEND SMS-CLIENT NUMBER ( hwcom.put(2); hwcom.print("01782021387"); lcdext.line(1); lcdext.print("Clientnummer");//Zum testen sleep 100; hwcom.put(13); sleep 100; //------ SEND SMS MESSAGE (THE ENTIRE MESSAGE hwcom.print(Message1);sleep 200; lcdext.line(2); lcdext.print("text1");//Zum testen hwcom.print(Message2);sleep 200; lcdext.line(2); lcdext.print("text2");//Zum testen hwcom.print(Message3);sleep 200; lcdext.line(2); lcdext.print("text3");//Zum testen hwcom.print(Message4); lcdext.line(2); lcdext.print("text4");///Zum testen hwcom.put(13); string checksume; //--------------SEND CHECKSUM hwcom.put(3); hwcom.print(checksum);sleep 100; hwcom.put(13);sleep 100; lcdext.line(3); lcdext.print(checksum);//Zum testen //--------------------- GET ANSWER ---------------------------- wait hwcom.rxd(); do { data=hwcom.get(); if data==6{ lcdext.line(4); lcdext.print("sent");}//zum testen } while data!=4;//waiting for EOT data=hwcom.get();//get CR lcdext.line(3); lcdext.print("Waiting CR");//Zum Testen //---------------SEND END OF TRANSMISSION hwcom.put(4); sleep 100; hwcom.put(13); lcdext.delline(3); lcdext.line(3); lcdext.print("PUT");//Zum Testen sleep 1000; hwcom.print("ATZ1310"); sleep 100; hwcom.print("ATZ1310"); lcdext.line(4); lcdext.print("Auflegen");//Zumtesten sleep 100; lcdext.delline(4); lcdext.line(4); lcdext.print("ende");//Zum Testen sleep 3000; lcdext.init(); } function sms2() { string antwort,vergleich;byte buchstabe; TAPCRC(); hwcom.init(); hwcom.setspeed(8); hwcom.flush(); lcdext.init(); lcdext.line(1); lcdext.print("sending SMS..."); hwcom.print("ATZ1310"); //Modem reset getOK(); if getOK()==255 {lcdext.line(2); lcdext.print("Modem gefunden"); sleep 1000; } else { lcdext.delline(2); lcdext.line(2); lcdext.print("kein Modem"); sleep 1000; ende(); } hwcom.print("ATS7=901310");// Register S7 warten auf Träger sleep 1000; hwcom.print("ATS8=21310"); // Register S8 Pausenlänge sleep 1000; hwcom.print("ATH11310"); //Abnehmen warten auf Wählton sleep 1000; hwcom.flush(); hwcom.print("ATDT017125210021310'");//D=Verbindung T=Tonwahl D1 Nummer01712521002 lcdext.line(2); lcdext.print("Waehle........"); int s; getStatus(); if getStatus()==255 { lcdext.clear(); lcdext.line(1); lcdext.print("verbunden"); loginTAP(); } else { lcdext.clear(); lcdext.line(1); lcdext.print("nicht verbunden"); hwcom.print("ATHZ1310"); hwcom.print("ATHZ1310"); sleep 5000; lcdext.init(); ende(); } } Ich wei� nicht mehr weiter Wer ne Idee??? Danke für eure müheru� Thomas L Gru� Thomas L | ||
Antwort schreiben Antworten: Re: SMS Versand (von cris - 18.02.2005 13:12) Re: SMS Versand (von ThomasL - 18.02.2005 16:03) Re: SMS Versand (von TG - 25.02.2005 12:42) Re: SMS Versand (von André H. - 4.03.2005 12:05) Ahnungslos..... (von Thomas L - 20.02.2005 20:03) Re: Ahnungslos..... (von André H. - 23.02.2005 23:18) |