Untitled
unknown
plain_text
5 years ago
2.4 kB
8
Indexable
using System;
using System.Linq;
using System.Threading.Tasks;
using System.IO.Ports;
public class SmsSender
{
public SerialPort SerialPort { get; set; }
public bool IsAvailable { get => CanOpen && PortExists; }
public bool CanOpen {
get
{
bool retValue = false;
try
{
if (PortExists)
{
SerialPort.Open();
retValue = true;
}
}
catch (Exception)
{
retValue = false;
}
finally
{
SerialPort.Close();
}
return retValue;
}
}
public bool PortExists
{
get
{
string[] ports = SerialPort.GetPortNames();
if (SerialPort.PortName != null)
return ports.Contains(SerialPort.PortName);
return false;
}
}
public SmsSender(string portName)
{
SerialPort = new SerialPort(portName)
{
BaudRate = 115200,
DataBits = 8,
Parity = Parity.None,
ReadTimeout = 300,
WriteTimeout = 300,
StopBits = StopBits.One,
Handshake = Handshake.None
};
}
public async void sendSMS(string mobNo, string msg)
{
string telNo = Char.ConvertFromUtf32(34) + mobNo + Char.ConvertFromUtf32(34);
try
{
if (IsAvailable)
{
SerialPort.Open();
// sp.Encoding = Encoding.Unicode;
SerialPort.Write("AT+CMGF=1" + Char.ConvertFromUtf32(13));
SerialPort.Write("AT+CMGS=" + telNo + Char.ConvertFromUtf32(13));
SerialPort.Write(msg + Char.ConvertFromUtf32(26) + Char.ConvertFromUtf32(13));
SerialPort.Close();
await Task.Delay(500);
}
}
catch (Exception ex)
{
// To do //
}
}
}Editor is loading...