2

私はクライアントサーバーアプリケーションを書いています。
クライアントは、SMS とインターネット (VPN、TCP サーバー) のさまざまなトランスポートを使用して、いくつかのメッセージをサーバーに送信します。
クライアントの PC には、SMS の送信とインターネット接続の確立の両方に使用する 1 つの 3G モデムがあります。
ubuntu の Network Manager 経由でインターネットに接続します。
SMS の送信には、smstools3 を使用します。実際、使用したツールは関係ありません。
同じモデムを介して確立されたアクティブなインターネット接続があった場合、SMS を送信することは不可能であることがわかりました。

Network Manager なしでインターネットに接続しようとしました。hereのマニュアルを使用して手動で pppd (ロック パラメータなし) をセットアップしました。接続はうまくいきましたが、問題は解決しませんでした。
次に、SMS の送信とインターネットへの接続に別のモデムの tty を使用しようとしました (私のモデムには 2 つの tty があります)。それも助けにはなりませんでした。ジョブを実行するために使用できるモデムは 1 つだけのようです。

今、私には2つのアイデアしかありません:

  1. 物事を同時にしないでください。時間を区切って、smstool デーモンを開始し、SMS を送信し、デーモンを停止し、インターネット接続を確立し、msg を送信し、接続を停止します。
  2. ここで説明されているように GSM 多重化を使用してみてくださいgsm mux上記のプロジェクト (gsm mux) が機能していないように見えるため、結果についてはわかりません。

問題を解決するための他のアイデアはありますか?

4

2 に答える 2

0

実際には、AT+MUX=0 が「実装されていません」と表示された場合でも、AT コマンド出力を使用して SMS を受信する場合があります。モデム ポートに接続します。

socat - /dev/ttyUSB2, crnl

+CMT コマンドを取得しない限り、出力に従います。出力はクリア テキストまたは PDU のいずれかです。平文は明らかに読みやすい。PDU は次のようになります。

+CMT: 0,32
07915892000000F001000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E

PDU を取得した場合は、それをデコードする必要があります。例: PDU デコーダー

于 2016-03-09T17:39:02.297 に答える