私は現在、マイクロハードセルラーモデムIPn3Gと通信する必要があるプロジェクトに取り組んでいます。TCPを介してコンピュータにメッセージを送信するようにモデムを設定しており、ソケットでメッセージを受信できます。
ただし、メッセージは次のようになります。
���������DKReadyCANRogersWirelessInc. Home354626030393530302720391029547
これで、StatusやCarrierinfoのようなこれらのフィールドのいくつかと、最終的にはimeiとimsiを認識できます。
私の問題は、どうすれば変な見た目のものを解析できるかということです。構造体を試しましたが、あまり役に立たなかったようです。
モデムのドキュメントで私はこれだけを見つけました:
Modem_eventメッセージ構造:
- 固定ヘッダー(固定サイズ20バイト)
- モデムID(uint64_t(8バイト))
- メッセージタイプマスク(uint8_t(1バイト))
- 予約済み
- パケット長(uint16_t(2バイト))注:パケット長=固定ヘッダーの長さ+メッセージペイロードの長さ。
運送業者情報:
- コンテンツの長さ2バイト(UINT16_T)
- RSSI 1バイト(UINT8_T)
- RFバンド2バイト(UINT16_T)
- サービスタイプSTRING(1-30バイト)
- チャネル番号STRING(1-30バイト)
- SIMカード番号STRING(1-30バイト)
- 電話番号STRING(1-30バイト)
私には、メッセージが本来あるべきものと一致していないように思えます。この問題に取り組む方法について誰かがアドバイスをくれたらとてもうれしいです。
ありがとうございました