Cristina Carrasco Angulo
Да, решение есть.
Вам нужен и GSM-модем на вашем сервере (компьютере) с SIM-картой (можно было бы заплатить арендную плату за план с бесплатными sms в любой компании [sprint, at&t...]). с планом, как на вашем мобильном телефоне, у вас есть бесплатные безлимитные SMS, только платите арендную плату, лучше, чем платить за каждое отдельное SMS.
GSM-модем:
USB (я сделал тест с одним таким)
3G WCDMA GSM WIFI 7.2 Mbps HSDPA USB Dongle
ZTE MF190 3 G GSM 7.2 Mbps USB мобильный широкополосный модем
Еще один с несколькими SIM-картами:
Módems USB GSM 8 Puertos bulk sms
И еще один вид модема:
M2M módem M2M RS232 Módem Q24plus
Приложение (c#):
SMSapplication.zip
Сначала подключитесь к COM-порту, приложение покажет статус соединения, во второй вкладке "отправить SMS" поставьте номер мобильного телефона и сообщение, затем нажмите кнопку Отправить.
Код (кнопка):
private void btnSendSMS_Click(object sender, EventArgs e)
{
//.............................................. Send SMS ....................................................
try
{
if (objclsSMS.sendMsg(this.port, this.txtSIM.Text, this.txtMessage.Text))
{
//MessageBox.Show("Message has sent successfully");
this.statusBar1.Text = "Message has sent successfully";
}
else
{
//MessageBox.Show("Failed to send message");
this.statusBar1.Text = "Failed to send message";
}
}
catch (Exception ex)
{
ErrorLog(ex.Message);
}
}
Отправить Класс:
public bool sendMsg(SerialPort port, string PhoneNo, string Message)
{
bool isSend = false;
try
{
string recievedData = ExecCommand(port,"AT", 300, "No phone connected");
recievedData = ExecCommand(port,"AT+CMGF=1", 300, "Failed to set message format.");
String command = "AT+CMGS=\"" + PhoneNo + "\"";
recievedData = ExecCommand(port,command, 300, "Failed to accept phoneNo");
command = Message + char.ConvertFromUtf32(26) + "\r";
recievedData = ExecCommand(port,command, 3000, "Failed to send message"); //3 seconds
if (recievedData.EndsWith("\r\nOK\r\n"))
{
isSend = true;
}
else if (recievedData.Contains("ERROR"))
{
isSend = false;
}
return isSend;
}
catch (Exception ex)
{
throw ex;
}
}
Я не делал это приложение, я нашел его в интернете... Я сделал тест, и он сработал.
Чтобы построить свою сеть с помощью gsm модема вы должны быть внимательны:
- Иметь физический сервер с подключенным модемом (возможно, это ваш компьютер)
- Оплатить арендный план по SMS (Sim-картам)
- Заплатите статический IP, или noIP, din DNS, что угодно, чтобы поставить ваш сервер онлайн
GSM-модем получает AT-команды, то есть то, что делает приложение c#, отправляет AT-команды на модем.
gsm модем at команды
Я надеюсь, что это поможет