4

私が行っているいくつかの作業では、Unix ソケットを介して Android-x86 仮想マシンと通信するエミュレートされた GSM モデムが必要です。VM は、エミュレーターを実際のモデムとして認識し、それを使用して (機能の最初のパスとして) SMS を送信する必要があります。

これまでのところ、いくつかの AT コマンドを処理し、残りすべてに「OK」と応答するだけのものをまとめました。「AT+CRSM」などの一部のコマンドについては、公式の Android エミュレーターを実行し、ラジオ ログを調べて収集した応答の表しかありません。他の人のために、私はいくつかの状態を維持し、答えを構築します。これらのコマンドは次のとおりです。

CFUN?
CPIN?
CGREG?
CGREG?
COPS?
CGREG=
CREG=
CPIN=
COPS=
CRSM=
CSMS=
CGSN
CIMI
CSQ

Android が起動し、エミュレートされたモデムにコマンドを送信して応答しますが、完全には機能していないようです。Android は無線信号の強度を検出しません。たとえば、信号バーに「x」が表示されるだけです。

誰かが同様のプロジェクトを知っていますか、またはいくつかの基本的な機能を得るために絶対に必要なATコマンドは何ですか?

4

1 に答える 1

4

さて、私は私自身の別の質問に答えます、それはその方が簡単です。

未承諾のCREGおよびCGREGメッセージが有効になっているかどうか、ネットワーク登録ステータスとネットワーク名の形式(COPSコマンドの場合)、SMSのメッセージ参照カウンターなど、少しの状態を維持するエミュレーターを実装することになりました。

次のコマンドをサポートします。

CFUN?
CPIN?
CGREG?
CREG?
COPS?
CGREG=
CREG=
CPIN=
COPS=
CRSM=
CSMS=
CMGS=
CGSN
CIMI
CSQ

他のすべてのメッセージは「OK」応答を受け取ります。

「-radiounix:/ tmp / phone」スイッチを備えたエミュレーターで、ストックのAOSP Androidソースを実行すると、SMSメッセージを送信し、バイナリPDUを実際のメッセージにデコードできます。SMSメッセージをAndroidに戻すことができるように機能を追加し続け、できればある時点でコードをオープンソース化します。

于 2012-07-17T20:53:59.817 に答える