あなたの質問は、あなたがイリジウム トランシーバーと通信するためのソフトウェアを書いているのか、それともサーバー側にいるのか明確ではありませんが、クライアント側にいると仮定します。彼らの Web サイトから判断すると、サーバー側は標準 IP ですネットワーキング。
プログラムは、RS-232 インターフェイスと AT (モデム) コマンド セットを使用してトランシーバーと通信します。Java を使用するには、ある種のシリアル ライブラリが必要になります。私はそのようなもの、特に通信をIPネットワークにブリッジするモデムのバンクを管理するプログラムで幅広い経験を積んできました。もう 1 つの実行可能なオプションはRxTx ですが、数年前にこれを使用したときは不安定で、数日おきに JVM がクラッシュしていました。どちらを使用しても、シリアル ライブラリを簡単に切り替えることができるJavaComm APIに制限することができます (また、制限する必要があります) 。
シリアル ポートと通信するようになったら、トランシーバーの操作はモデムの操作と同じである必要があります。詳細については doco を参照する必要があります。モデムに忠実であれば、コマンドとデータの 2 つのモードで動作します。コマンド モードでは、CRLF で終了する AT xxx コマンドを送信しています。データ モードの場合は、バイナリ データを送信しています。
バイナリ データの構造は、ほぼ確実に Iridium システムによって決定されるため、それに準拠する必要があります。彼らのドコをもう一度見てください。
独自のデータ プロトコルを定義する余裕がある場合、またはそのプロトコルの上に自由形式のメッセージがある場合、メッセージを論理的にキーワードと値のペアにして、長期的な柔軟性を確保することをお勧めします。スペースが限られている場合 (Iridium デバイスのサイズ制限はかなり厳しいようです)、キーワードを定義済み (クライアントとサーバーで合意) にして、UTF-8 や ASCII の代わりに 2 進整数を送信できます。ストリング。プロトコルには、特に数値を可能な限り凝縮できるように、非常に基本的な型を含めるか、推測する必要があります。
とにかく、これが何を期待するかについての方向性とアイデアをあなたに与えることを願っています...特にJavaからのシリアルポートの使用に関する特定の質問については、コメントを介してお気軽に質問してください。