11. marts 2011 - 21:57Der er
12 kommentarer og 1 løsning
AT Commands til at sende SMS virker ikke
Hej Eksperter,
Jeg skal prøve at sende nogle AT commands via C# til en nokia telefon. Har brugt TeraTerm Pro terminal til at forsøge mig med følgende commands (med svar):
ATZ<enter> OK AT+GMGF=1<enter> OK AT+CMGS="xxxxxxxx" > Hej how goes?<CTRL-z> OK
Og så får jeg en SMS til det specificerede nummer med "Hej how goes?". Ganske fint.
Når jeg så konverterer dette til C#:
System.IO.Ports.SerialPort p;
public SMSModule() { p = new System.IO.Ports.SerialPort("COM3",9600);
if (!p.IsOpen) { p.Open(); } p.Write("AT+CMGF=1" + (char)13);
Men det virker ikke, der kommer ingen SMS. Så jeg har fundet ud af at hvis jeg så efterfølgende går ind i teraterm og trykker Enter. Så får jeg de commands der lige er blevet sendt og det ser sådan ud:
AT+CMGS="xxxxxxxx" tester
OK
> OK
Det sidste > og OK er dog mig der trykker enter i teraterm. Og det ser ud til at gøre tricket. Dvs. den står og tænker i buffer og sender først reelt når jeg trykker på enter i teraterm.
Hvordan kan jeg få den til at sende selv? Hvad mangler jeg?
Det skal dog siges, at når jeg forsøger i Tera Term alene skal jeg trykke CTRL+z 2 gange før den går igennem. Men har prøvet alle mulige måder at tilføje (char)26 eller (char13) endnu en gang.
Det har jeg lige forsøgt mig med, samme resultat desværre.
Jeg får fornemmelsen af at den venter på en afsluttende kommando, for igen når jeg går ind i tera term og trykker enter, bliver den sendt med det samme.
Jamen har prøvet både at smide ekstra (char)26, (char)13, samt "\r\n" ind. Både i samme WriteLine som i "message + (char)26" og i en efterfølgende. Samme resultat.
Det er testet, og virker ikke. Bortset fra at jeg skulle trykke CTRL+z selv i teraterm for at sende. Og så sendte den en tom linie med SMS'en (som jeg går ud fra er (char)4 eller (char)3).
Undskyld mit sene svar. Jeg fandt en hel SMS sender klasse på nettet. Som i realiteten gør præcis hvad jeg har prøvet, og det virker. Hvorfor ved jeg ikke. Men den bruger /r til at sende med.
Og så lige et link ... så andre kan få glæde af det.
mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.