インターネット経由でバルクSMSを送信するサードパーティのサイトがたくさんあることは知っていますが、自分で作成したい場合はどうすればよいですか?携帯電話を使ってSMSゲートウェイを作成する方法を知っていますが、これは非常に遅いです。インターネットSMSゲートウェイを作成する他の方法はありますか?
4 に答える
私は自分の雇用主のために似たようなものをデザインしました (テキストメッセージははるかに少ないですが)。Linux サーバーは、ラボ内の組み込みセンサー デバイスからデータを受信するための Bluetooth USB ドングルと、RS232 シリアル リンクを介した Siemens TC35 GSM モデムに接続されています。サーバーは、C++ プログラムによっても処理される問題があるとセンサーが判断した場合、選択した従業員の電話にメッセージを送信できます。さらに、従業員が Web ページを介してメッセージを入力し、選択した従業員にテキスト メッセージとして送信できるようにする J2EE アプリがあります。J2EE アプリはメッセージをデータベースにダンプし、C++ プログラムによって収集され、AT
コマンドを使用して TC35 経由で送信されます。このように行われるため、センサーの問題メッセージが常に優先されます。
AT
コマンドは理解しやすいので、プログラミングに関しては特別なことではありませんでした。スパマーにハイジャックされないように、プログラミングが安全であることと、モデムが GSM/3G カバレッジの良好な部屋にあり、地下室にないことを確認してください。
また、プログラムで GSM モデムに定期的に信号強度やその他のセル基地局情報を要求し、これを特別なデータベース テーブルに格納することもお勧めします。これにより、セルプロバイダーの問題を特定し、必要に応じて別のプロバイダーに移動できます. この情報を使用して、使用している基地局がオフラインになっているように見えるか、技術的な問題が頻繁に発生しており、モデムのメッセージ スループットが少しずつ低下していることを発見しました。
幸運を
2 つの方法で実行できます 1) GSM モデム 2) http (サービス プロバイダー) (モデムよりも高速)
http://www.ozekisms.com/ゲートウェイ サービスを使用しました
Http リクエストを送信する C# コードと、ユーザー名とパスワードの IP アドレスとポートを追加する方法。
このコードを参照してください。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SMSClient;
namespace SMSDemoConsole
{
class Program
{
private static void WriteEvent(String myEvent)
{
Console.WriteLine(myEvent);
}
#region Events
static void mySMSClient_OnMessageReceived(object sender, DeliveryEventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " " + "Message received. Sender address: " + e.Senderaddress + " Message text: " + e.Messagedata + "\r\n");
}
static void mySMSClient_OnMessageDeliveryError(object sender, DeliveryErrorEventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " " + "Message could not be delivered. ID: " + e.Messageid + " Error message: " + e.ErrorMessage + "\r\n");
}
static void mySMSClient_OnMessageDeliveredToHandset(object sender, DeliveryEventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " " + "Message delivered to handset. ID: " + e.Messageid + "\r\n");
}
static void mySMSClient_OnMessageDeliveredToNetwork(object sender, DeliveryEventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " " + "Message delivered to network. ID: " + e.Messageid + "\r\n");
}
static void mySMSClient_OnMessageAcceptedForDelivery(object sender, DeliveryEventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " " + "Message accepted for delivery. ID: " + e.Messageid + "\r\n");
}
static void mySMSClient_OnClientConnectionError(object sender, ErrorEventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " " + e.ErrorMessage + "\r\n");
}
static void mySMSClient_OnClientDisconnected(object sender, EventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " Disconnected from the SMS gateway " + "\r\n");
}
static void mySMSClient_OnClientConnected(object sender, EventArgs e)
{
WriteEvent(DateTime.Now.ToString() + " Successfully connected to the SMS gateway " + "\r\n");
}
#endregion
static void Main(string[] args)
{
ozSMSClient mySMSClient = new ozSMSClient();
mySMSClient.OnClientConnected += new SimpleEventHandler(mySMSClient_OnClientConnected);
mySMSClient.OnClientDisconnected += new SimpleEventHandler(mySMSClient_OnClientDisconnected);
mySMSClient.OnClientConnectionError += new ErrorEventHandler(mySMSClient_OnClientConnectionError);
mySMSClient.OnMessageAcceptedForDelivery += new DeliveryEventHandler(mySMSClient_OnMessageAcceptedForDelivery);
mySMSClient.OnMessageDeliveredToNetwork += new DeliveryEventHandler(mySMSClient_OnMessageDeliveredToNetwork);
mySMSClient.OnMessageDeliveredToHandset += new DeliveryEventHandler(mySMSClient_OnMessageDeliveredToHandset);
mySMSClient.OnMessageDeliveryError += new DeliveryErrorEventHandler(mySMSClient_OnMessageDeliveryError);
mySMSClient.OnMessageReceived += new DeliveryEventHandler(mySMSClient_OnMessageReceived);
mySMSClient.Username = "admin";
mySMSClient.Password = "abc123";
mySMSClient.Host = "127.0.0.1";
mySMSClient.Port = 9500;
mySMSClient.Connected = true;
mySMSClient.sendMessage("+44987654", "TEST", "vp=" + DateTime.Now + "&ttt=werwerwe rewwe34232 1");
Console.ReadKey();
mySMSClient.Connected = false;
}
}
}
ありがとう。
うーん...あなたの要件に応じて、GSMモデムが必要になります。これを使用すると、標準のATコマンドでSMSメッセージを送信できます。次に、要求を取得して処理し、ATコマンドをGSMモデムに送信するHTTPサーバーを開発する必要があります。