Ваш вопрос неясен относительно того, пишете ли вы программное обеспечение для связи с трансивером Iridium, или находитесь ли вы на стороне сервера, но я предполагаю, что вы находитесь на стороне клиента, поскольку, судя по их веб-сайту, на стороне сервера это стандартная IP-сеть.
Программа общается с приемопередатчиком, используя интерфейс RS-232 и набор команд AT (модем). При использовании Java вам понадобится какая-то последовательная библиотека; Я имел большой опыт работы с таким, в частности, с программой для управления банком модемов, соединяющих их связь с IP-сетью, и в то время единственным пакетом связи, который работал и был стабильным, был SerialPort от SerialIO . Другой потенциально жизнеспособный вариант - RxTx , но когда я работал с этим несколько лет назад, он был нестабильным и приводил к падению JVM каждые несколько дней. С любым из них вы можете (и должны) ограничиться JavaComm API , который позволит вам легко переключать последовательные библиотеки.
Когда вы говорите со своим последовательным портом, манипулирование трансивером должно быть таким же, как и манипулирование модемом, вам нужно будет обратиться к документации для уточнения. Если он верен модему, он будет работать в двух режимах: команда и данные. В командном режиме вы отправляете команды AT xxx, завершенные CRLF. Когда вы находитесь в режиме данных, вы отправляете двоичные данные.
Структура двоичных данных почти наверняка будет определяться системой Iridium, и вам нужно будет соответствовать этому; снова увидеть их доко.
Если вы можете позволить себе определять собственный протокол данных или если у вас есть сообщения в свободной форме поверх их протокола, мой лучший совет - логически составлять ваши пары пар ключевое слово / значение для обеспечения долгосрочной гибкости. Если у вас мало места (и кажется, что ограничения на размер устройств Iridiums довольно строгие), вы можете сделать свои ключевые слова предопределенными (согласованными между клиентом и сервером) и отправить двоичное целое число вместо, скажем, UTF-8 или ASCII. строка. Протокол должен включать или выводить очень простой тип, чтобы числовые значения, особенно, могли быть как можно более сжатыми.
В любом случае, я надеюсь, что это даст вам некоторое руководство и идеи о том, чего ожидать ... пожалуйста, не стесняйтесь задавать вопросы через комментарии, особенно для конкретных вопросов об использовании последовательного порта из Java.