Пример #1
0
 public void Close()
 {
     if (SMSPort.IsOpen == true)
     {
         SMSPort.Close();
     }
 }
Пример #2
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            string sig   = null;
            float  value = 0;

            if (SMSPort.IsOpen)
            {
                try
                {
                    SMSPort.Write("AT+CSQ\r\n");
                    Thread.Sleep(1000);
                    // signal = SMSPort.ReadExisting();
                    int    in1 = signal.IndexOf("CSQ:");
                    string ret = signal.Substring(in1 + 4, 3);
                    ret = ret.Replace(" ", "");

                    signal_strength             = int.Parse(ret);
                    toolStripStatusLabel12.Text = signal_strength.ToString();
                    value = (signal_strength / 32.0f) * 100.0f;
                    toolStripProgressBar1.Value = (int)(value);
                }
                catch
                { }
            }
        }
Пример #3
0
        public bool Open1()
        {
            string s = null;

            if (SMSPort.IsOpen == false)
            {
                try
                {
                    SMSPort.Open();
                    SMSPort.Write("AT\r\n");
                    Thread.Sleep(100);
                    s = SMSPort.ReadExisting();
                    if (s.Contains("OK"))
                    {
                        SMSPort.Write("AT+CFUN=1\r\n");
                        ReadThread.Start();
                        return(true);
                    }
                    else
                    {
                        if (SMSPort.IsOpen)
                        {
                            SMSPort.Close();
                        }
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    //MessageBox.Show(ex.ToString());
                    return(false);
                }
            }
            return(true);
        }
Пример #4
0
        public bool SendSMS(string CellNumber, string SMSMessage)
        {
            string MyMessage = null;
            string s         = null;;;

            //Check if Message Length <= 160
            if (SMSMessage.Length <= 160)
            {
                MyMessage = SMSMessage;
            }
            else
            {
                MyMessage = SMSMessage.Substring(0, 160);
            }

            if (SMSPort.IsOpen == true)
            {
                SMSPort.Write("AT+CMGF=1\r\n");
                Thread.Sleep(1000);
                SMSPort.Write("AT+CMGS=\"" + CellNumber + "\"\r\n");

                Thread.Sleep(1000);
                SMSPort.Write(SMSMessage + (char)(26) + Environment.NewLine);
                Thread.Sleep(1000);
                s         = SMSPort.ReadExisting();
                _Continue = false;
                if (Sending != null)
                {
                    Sending(false);
                }
            }
            return(false);
        }
Пример #5
0
        private void ReadPort()
        {
            string SerialIn = null;

            byte[] RXBuffer = new byte[SMSPort.ReadBufferSize + 1];
            while (SMSPort.IsOpen == true)
            {
                try
                {
                    if ((SMSPort.BytesToRead != 0) & (SMSPort.IsOpen == true))
                    {
                        while (SMSPort.BytesToRead != 0)
                        {
                            SMSPort.Read(RXBuffer, 0, SMSPort.ReadBufferSize);
                            SerialIn =
                                SerialIn + System.Text.Encoding.ASCII.GetString(
                                    RXBuffer);
                            if (SerialIn.Contains("+CSQ:") == true)
                            {
                                signal = SerialIn;
                            }
                            if (SerialIn.Contains(">") == true)
                            {
                                _ContSMS = true;
                            }
                            if (SerialIn.Contains("+CMGS:") == true)
                            {
                                _Continue = true;
                                if (Sending != null)
                                {
                                    Sending(true);
                                }
                                _Wait    = false;
                                SerialIn = string.Empty;
                                RXBuffer = new byte[SMSPort.ReadBufferSize + 1];
                            }
                        }
                    }
                }
                catch
                {
                    MessageBox.Show("Unexpected GSM Module Error");
                }
                if (DataReceived != null)
                {
                    DataReceived(SerialIn);
                }
                SerialIn = string.Empty;
                RXBuffer = new byte[SMSPort.ReadBufferSize + 1];
            }
        }
Пример #6
0
        private void button5_Click(object sender, EventArgs e)
        {
            if (SMSPort.IsOpen)
            {
                SMSPort.Close();
                if (SMS_SENDING_THREAD.ThreadState.ToString() == "Running")
                {
                    SMS_SENDING_THREAD.Start();
                }

                label3.ForeColor = Color.Red;
                label3.Text      = "GSM Module Disconnected";
            }
        }
Пример #7
0
 public void Open()
 {
     if (SMSPort.IsOpen == false)
     {
         try
         {
             SMSPort.Open();
             SMSPort.Write("AT+CFUN=1\r\n");
             ReadThread.Start();
         }
         catch (Exception ex)
         {
             //MessageBox.Show(ex.ToString());
         }
     }
 }