Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: lập trình gửi tin nhắn từ máy tính sang dtdd như thế nào ?

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    3

    Mặc định lập trình gửi tin nhắn từ máy tính sang dtdd như thế nào ?

    Mình đang làm một project có một modul gửi tin nhắn cho khách hàng, thông báo thông tin khuyến mãi. Vậy mình phải bắt đầu từ đâu, cần những gì. Mình có xem qua tập lệnh at và cũng biết một vài lệnh cơ bản. Hy vọng nhận được sự giúp đỡ từ mọi người thank!

  2. #2
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    bạn dùng OZEKI MESSAGE SERVER: ozeki.hu

  3. #3
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Mua 1 USB 3G hoặc GSM Modem kết nối vào máy tính.
    Sử dụng SerialPort (C#) và AT Command để giao tiếp với thiết bị thông qua COM port.
    Đây là mã nguồn SMSHeper, bạn có thể tham khảo
    Visual C# Code:
    1. using System;
    2. using System.IO.Ports;
    3. using System.Threading;
    4.  
    5. namespace SMS_Service
    6. {
    7.     internal class SmsHelper
    8.     {
    9.         private static SerialPort _serialPort;
    10.         private string _response;
    11.  
    12.         public SmsHelper(SerialPort smsPort)
    13.         {
    14.             _response = string.Empty;
    15.             _serialPort = smsPort;
    16.             _serialPort.RtsEnable = true;
    17.             _serialPort.DataReceived += SerialPortDataReceived;
    18.         }
    19.  
    20.         void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
    21.         {
    22.             if (e.EventType == SerialData.Chars)
    23.             {
    24.                 _response += _serialPort.ReadLine();
    25.             }
    26.         }
    27.         public bool IsReady()
    28.         {
    29.             try
    30.             {
    31.                 if (!_serialPort.IsOpen)
    32.                     _serialPort.Open();
    33.  
    34.                 _serialPort.Write("AT\r");
    35.                 Thread.Sleep(3000);
    36.             }
    37.             catch
    38.             {
    39.                 return false;
    40.             }
    41.  
    42.             return _response.Contains("OK");
    43.         }
    44.  
    45.         public SmsHelper(string portName, int baudRate) :
    46.             this(new SerialPort(portName, baudRate))
    47.         {
    48.         }
    49.  
    50.         public static bool SendSms(string phoneNumber, string message)
    51.         {
    52.             try
    53.             {
    54.                 if (!_serialPort.IsOpen)
    55.                     _serialPort.Open();
    56.  
    57.                 // Send
    58.                 _serialPort.Write("AT+CMGF=1" + (Char) 13);
    59.                 _serialPort.Write(String.Format("AT+CMGS=\"{0}\"" + (Char) 13, phoneNumber));
    60.                 _serialPort.Write(String.Format("{0}" + (Char) 26 + (Char) 13, message));
    61.                 return true;
    62.             }
    63.             catch
    64.             {
    65.                 return false;
    66.             }
    67.         }
    68.     }
    69. }
    What you see is never what you get...

  4. #4
    Ngày gia nhập
    04 2011
    Bài viết
    53

    hi cần tìm hiểu các lệnh AT của điện thoại. mở, gửi và nhận data qua cổng COM của máy tính. ok các thứ chỉ có thế..
    Vu.hoangkim@yahoo.com hân hạnh làm quen với mọi người

  5. #5
    Ngày gia nhập
    07 2010
    Bài viết
    2

    Hi !
    Mình đang viết app gửi tin nhắn, nhận tin nhắn qua 1 cổng cố định. Nhưng lại ko có máy đt thật để test. Vậy có cách nào để test gửi, nhận sms qua emulator được không nhỉ. mình viết winphone 7.
    Cảm ơn anh em.

  6. #6
    Ngày gia nhập
    07 2010
    Bài viết
    2

    Mặc định lập trình gửi tin nhắn từ máy tính sang dtdd như thế nào ?

    Tại sao mình dùng using System.IO.Ports lại báo lỗi nhỉ, thậm chí trong reference của .Net cũng không có :( Bạn nào giúp mình với

  7. #7
    Ngày gia nhập
    08 2010
    Bài viết
    46

    Trích dẫn Nguyên bản được gửi bởi Tab Xem bài viết
    Mua 1 USB 3G hoặc GSM Modem kết nối vào máy tính.
    Sử dụng SerialPort (C#) và AT Command để giao tiếp với thiết bị thông qua COM port.
    Đây là mã nguồn SMSHeper, bạn có thể tham khảo
    Visual C# Code:
    1. using System;
    2. using System.IO.Ports;
    3. using System.Threading;
    4.  
    5. namespace SMS_Service
    6. {
    7.     internal class SmsHelper
    8.     {
    9.         private static SerialPort _serialPort;
    10.         private string _response;
    11.  
    12.         public SmsHelper(SerialPort smsPort)
    13.         {
    14.             _response = string.Empty;
    15.             _serialPort = smsPort;
    16.             _serialPort.RtsEnable = true;
    17.             _serialPort.DataReceived += SerialPortDataReceived;
    18.         }
    19.  
    20.         void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
    21.         {
    22.             if (e.EventType == SerialData.Chars)
    23.             {
    24.                 _response += _serialPort.ReadLine();
    25.             }
    26.         }
    27.         public bool IsReady()
    28.         {
    29.             try
    30.             {
    31.                 if (!_serialPort.IsOpen)
    32.                     _serialPort.Open();
    33.  
    34.                 _serialPort.Write("AT\r");
    35.                 Thread.Sleep(3000);
    36.             }
    37.             catch
    38.             {
    39.                 return false;
    40.             }
    41.  
    42.             return _response.Contains("OK");
    43.         }
    44.  
    45.         public SmsHelper(string portName, int baudRate) :
    46.             this(new SerialPort(portName, baudRate))
    47.         {
    48.         }
    49.  
    50.         public static bool SendSms(string phoneNumber, string message)
    51.         {
    52.             try
    53.             {
    54.                 if (!_serialPort.IsOpen)
    55.                     _serialPort.Open();
    56.  
    57.                 // Send
    58.                 _serialPort.Write("AT+CMGF=1" + (Char) 13);
    59.                 _serialPort.Write(String.Format("AT+CMGS=\"{0}\"" + (Char) 13, phoneNumber));
    60.                 _serialPort.Write(String.Format("{0}" + (Char) 26 + (Char) 13, message));
    61.                 return true;
    62.             }
    63.             catch
    64.             {
    65.                 return false;
    66.             }
    67.         }
    68.     }
    69. }
    Mình có thử code của bạn và chạy ko đc

  8. #8
    Ngày gia nhập
    04 2011
    Bài viết
    53

    hi mở cổng com và gửi lệnh at qua là được thôi mà
    Vu.hoangkim@yahoo.com hân hạnh làm quen với mọi người

  9. #9
    Ngày gia nhập
    08 2010
    Bài viết
    46

    Mình đã mở và gửi lệnh AT nhưng ko thấy phản hồi lại gì cả, ngay cả khi mình có down thử project mẫu (Link) về nhưng cũng ko thể chạy được.

  10. #10
    Ngày gia nhập
    08 2010
    Bài viết
    46

    Visual C# Code:
    1. public bool DetectSMSModem(string portName)
    2.         {
    3.             bool available = false;
    4.             string str;
    5.             SerialPort port = new SerialPort();
    6.             port.PortName = portName;
    7.             port.BaudRate = 9600;
    8.             port.DataBits = 8;
    9.             port.StopBits = StopBits.One;
    10.             port.Parity = Parity.None;
    11.             port.Handshake = Handshake.RequestToSend;
    12.             port.NewLine = System.Environment.NewLine;
    13.             port.ReadTimeout = 5000;
    14.             port.WriteTimeout = 5000;
    15.             port.Open();
    16.             try
    17.             {
    18.                 if (port.IsOpen)
    19.                 {
    20.                     port.WriteLine("AT\r");
    21.                     str = port.ReadExisting(); //Response text from GSM modem
    22.                     //MessageBox.Show(str);
    23.                     if (!string.IsNullOrEmpty(str))
    24.                     {
    25.                         available = true;
    26.                         //this.cboPortName.Items.Add(port.PortName);  
    27.                         port.Close();
    28.                         //port.Dispose();
    29.                     }
    30.                 }
    31.             }
    32.             catch (Exception ex)
    33.             {
    34.                 //MessageBox.Show("Try another Port. Phone not detected", "CONNECTION ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
    35.                 port.Close();
    36.                 port.Dispose();
    37.             }
    38.             return available;
    39.  
    40.         }

    Code trên dùng để kiểm tra có kết nối từ máy tính và GSM modem hay không? Kết quả là không có phản hồi gì cả, bạn nào xem giúp mình code có sai chỗ nào ko nhé?

Các đề tài tương tự

  1. Sofa da chính hãng,da thật 100% nhập khẩu Italia và Malaysia, kiểu dáng sang trọng hiện đại: rẻ hơn tới 20%
    Gửi bởi phampham trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 09-04-2012, 11:04 AM
  2. Hỏi về thuật toán chuyển so thập phan sang số nhị phân,thập lục phân
    Gửi bởi chicken_chip trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 04-11-2011, 05:45 PM
  3. Trả lời: 14
    Bài viết cuối: 10-10-2011, 03:58 PM
  4. Chuyển hệ thập phân sang hệ thập lục phân, giúp mình
    Gửi bởi Yio_91 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 04-10-2010, 01:04 PM
  5. web dtdd help!!!!
    Gửi bởi duckman trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 01-03-2008, 05:40 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn