Aylık Arşiv: Aralık 2011
Biraz tebessüm
GsmComm kütüphanesiyle SMS Göndermek ve SMS Okumak
AT Komutlarını yorumlayan bu kütüphaneyle SMS okuyup gönderebilirsiniz. Aşağıdaki kodu yorumlayıp en kolay hale getirmek için gayret ettim.
Önce telefonunuzu bilgisayarınıza USB veya Bluetooth ile bağlayın.
Telefonunuzun markasına göre modem driver’ını kurun.
“Denetim Masası”ndaki modemler bölümünden aldığı COM bağlantı portunu öğrenip aşağıdaki kodlarda güncelleyin.
Ben aşağıdaki kodları aspx olarak kullandım dilerseniz masaüstü programa da uyarlayabilirsiniz.
Burada önemli bir ayrıntıyı atlamayalım. Telefonlarda bazı AT komutları güvenlik nedeniyle dışarıdan kullanıma kapatılmıştır. Aşağıdaki kodlar SMS okumayabilir. Bu durumda okuyabilen bir telefon modeli seçmelisiniz. Ben genel olarak Sony Ericsson telefonlardan randıman aldım.
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
// GsmComm SMS Kütüphaneleri
using GsmComm.PduConverter;
using GsmComm.PduConverter.SmartMessaging;
using GsmComm.GsmCommunication;
using GsmComm.Interfaces;
using GsmComm.Server;
public partial class Sms : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(SmsOku());
Response.Write("<hr />");
Response.Write(SmsGonder("Merhaba dunya!", "05393807119"));
}
// ### SMS OKU ####################
public string SmsOku()
{
string RtnMsg = "";
GsmCommMain Comm = new GsmCommMain(9, 19200, 300); // Com Port'a bağlan (MODEM) - GsmCommMain kütüpühanesini kullan.
Comm.Open(); // Portu aç
DecodedShortMessage[] Sms = Comm.ReadMessages(PhoneMessageStatus.All, PhoneStorageType.Phone); // Telefondaki mesajları oku.
foreach (DecodedShortMessage Msg in Sms)
{
SmsDeliverPdu SmsData = (SmsDeliverPdu)Msg.Data; // PDU formatında gelen değişkenleri oku
try
{
string SMSMesaj = Msg.Data.UserDataText;
string MobilNo = SmsData.OriginatingAddress;
RtnMsg += SmsData.OriginatingAddress + " - " + SMSMesaj + "<br />"; // Mesaj kutusundaki mesaj metni
}
catch (Exception ex)
{
RtnMsg += SmsData.OriginatingAddress + " - " + ex.Message + "<br />";
}
}
//Comm.DeleteMessages(DeleteScope.All, PhoneStorageType.Phone); // SMS'lerin hepsini sil
Comm.Close(); // Portu kapat
return RtnMsg;
}
// ### SMS GÖNDER #################
public string SmsGonder(string MobilNo, string SmsMsg)
{
string RtnMsg = "";
try
{
GsmCommMain Comm = new GsmCommMain(9, 19200, 300); // Com Port'a bağlan (MODEM) - GsmCommMain kütüpühanesini kullan.
SmsSubmitPdu Pdu = new SmsSubmitPdu(SmsMsg, MobilNo, "", DataCodingScheme.NoClass_7Bit);
Comm.Open();
Comm.SendMessage(Pdu);
Comm.Close();
RtnMsg = "success";
}
catch (Exception msg)
{
RtnMsg = msg.ToString();
}
return RtnMsg;
}
}
















