JT/T 808 ゲートウェイ
JT/T 808 ゲートウェイは、EMQXがIoV(Internet of Vehicles)シナリオ向けに設計したプロトコル適応コンポーネントです。車両の位置情報、状態監視、データ交換などの機能をサポートし、車載端末と監視プラットフォーム間の通信に広く利用されています。
基本設定
JT/T 808 ゲートウェイの操作列にある設定ボタンをクリックして、基本設定を行います。
- MountPoint:パブリッシュやサブスクライブ時にすべてのトピックのプレフィックスとして設定する文字列で、異なるプロトコル間のメッセージルーティングの分離を実現する方法です。例:
jt808/${clientid}/。このトピックプレフィックスはゲートウェイが管理するため、クライアントはパブリッシュやサブスクライブ時に明示的にこのプレフィックスを付加する必要はありません。 - Max Length of Frame:ゲートウェイが処理可能なフレームの最大サイズです。デフォルト値は
8192で、さまざまなパケットサイズに対応可能です。 - Parse Unknown Message IDs:標準プロトコルで定義されていないメッセージIDを解析するかどうかを指定します。
trueに設定すると、未知のメッセージIDを持つメッセージを処理し、そのペイロードをBase64エンコードして転送します。デフォルトはtrueです。falseに設定すると、メッセージを無視するか、Ignore Unsupported Framesの設定に応じてクライアントを切断します。
- String Encoding:デバイスから報告される文字列の解析およびデバイスへの文字列のパッケージング・配信時に使用する文字エンコーディングを指定します。
utf8に設定すると、UTF-8エンコーディングで文字列を解析します。デフォルトはutf8です。gbkに設定すると、GBKエンコーディングで文字列を解析し、EMQXにパブリッシュする前にUTF-8に変換します。
- Retry Interval:メッセージ配信失敗時の再試行間隔です。デフォルトは
8秒です。 - Max Retry Times:メッセージ送信時の最大再試行回数で、この回数を超えると送信できなかったメッセージは破棄されます。デフォルトは
3です。 - Max Message Queue Length:下流メッセージのメッセージキューの最大長さです。デフォルトは
10です。 - Idle Timeout:クライアントの非アクティブ時間(秒)で、これを超えると切断とみなされます。デフォルトは
30秒です。 - Up Topic:ゲートウェイからEMQXクラウドへメッセージをパブリッシュする際のMQTTトピックパターンです。JT/T 808クライアントのメッセージがアップリンク通信のためにMQTTトピックにマッピングされる方法を定義します。デフォルトは
jt808/${clientid}/${phone}/upです。 - Down Topic:EMQXクラウドからゲートウェイを経由してJT/T 808クライアントにメッセージを送信する際のMQTTトピックパターンです。MQTTメッセージがダウンリンク通信のためにJT/T 808クライアントにルーティングされる方法を定義します。デフォルトは
jt808/${clientid}/${phone}/dnです。 - Ignore Unsupported Frames:標準プロトコルに準拠しないJT/T 808フレームの処理方法を決定します。
trueに設定すると、サポートされていないフレームをログに記録しつつ、他の有効なメッセージの処理を継続し、カスタムや非標準メッセージによる切断を防ぎます。デフォルトはtrueです。falseに設定すると、サポートされていないフレームを受信した際にクライアントを切断します。
- Allow Anonymous:認証なしでクライアントの接続を許可するかどうかを指定します。
trueに設定すると、認証情報なしでクライアントが接続可能です。
クライアント
JT/T 808 ページのクライアントタブでは、デプロイメントに接続されているクライアントの基本情報を確認できます。操作列では、クライアントのキックアウト(切断)を選択可能です。
クライアントツールを使った接続テスト
シミュレートされたJT/T 808プロトコルゲートウェイクライアントを使って接続をテストする手順は以下の通りです。
JT/T 808端末シミュレーターのリポジトリにアクセスします:yedajiang44/GpsTerminalEmulator。READMEの手順に従い、Dockerでインストール・起動します。
bash## Docker Composeのインストール sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ## ディレクトリ作成 mkdir jt808terminalemulator cd jt808terminalemulator mkdir data ## 以下をdocker-compose.ymlにコピー&ペースト nano docker-compose.yml ## サービス起動 sudo docker-compose up -d ## サービス状態確認。起動後に以下で状態を確認 sudo docker-compose ps ## 問題発生時はログ確認 sudo docker-compose logs -f以下の内容が返されれば、サービスは正常に起動しています。

ブラウザで
server-ip:4000にアクセスし、端末エミュレーター管理画面を開きます。
指示に従い、車両データおよびルートデータを追加します。

タスクデータ追加時には、サーバーのデプロイメント接続アドレスを入力し、ポートは
8090を使用します。接続アドレスはデプロイメント概要ページに表示されています。保存をクリックするとデフォルトでタスクが開始されます。
これらの手順を完了すると、JT/T 808ゲートウェイのクライアント一覧に接続されたクライアントが表示されます。
クライアント一覧のクライアントIDをクリックすると、クライアントの詳細情報を確認できます。Kick Outボタンをクリックするとクライアントを切断できます。
アクセス認証/認可の設定
詳細な設定方法はクライアント認証/認可の設定を参照してください。ユーザーはIoV端末の要件に応じて認証設定を完了してください。
データ交換フォーマット
EMQXドキュメントのJT/T 808 2013 データ交換フォーマットをご参照ください。