車聯(lián)網場景中 JT/T 808協(xié)議 是一種在中國廣泛應用的車載終端通信協(xié)議,用于車輛與監(jiān)控中心之間的數據通信。
01、JT/T808 協(xié)議
JT/T808 協(xié)議是指交通部頒布的《道路運輸車輛衛(wèi)星定位系統(tǒng)終端通訊協(xié)議及數據格式》,廣泛應用于車輛遠程監(jiān)管、物流管理、車輛安防等領域。它為車輛監(jiān)管和服務提供了統(tǒng)一的數據通信標準,實現(xiàn)了信息的快速傳輸和遠程控制。
JT/T808 協(xié)議規(guī)定了車輛與監(jiān)管平臺之間的通信規(guī)范,用于實現(xiàn)對道路車輛的遠程監(jiān)管和服務,主要包含以下幾個方面的內容:
消息結構:定義了不同類型的消息格式,包括消息頭、消息體和校驗碼等部分。消息體中包含了車輛相關的信息,如車輛位置、狀態(tài)、報警等。
消息分類:將不同功能的消息分為不同的消息類別,如位置信息匯報、報警信息上傳、車輛控制等。每個消息類別都有獨特的消息ID。
終端與平臺通信:規(guī)定了終端和監(jiān)管平臺之間的通信方式,包括消息的傳輸、數據加密解密、連接管理等。
位置信息:定義了采集車輛位置信息的方式和格式,如經緯度、速度、方向等,并規(guī)定了位置信息上報的頻率和條件。
報警信息:定義了不同類型的報警信息,如超速報警、緊急報警等。規(guī)定了報警信息的上報和處理方式。
車輛控制:規(guī)定了終端對車輛某些功能的控制,如車輛遠程鎖車、解鎖等。
數據轉發(fā):定義了終端之間的數據轉發(fā)方式,允許終端之間相互通信。
02、阿里云 JT/T808 云網關
阿里云 IoT 物聯(lián)網平臺的 JT/T808 云網關兼容JT/T 808-2019版協(xié)議,支持通過TCP 和 TLS 兩種方式接入車機終端設備。采用TLS方式接入時,支持使用服務端單向認證、設備端OCSP、設備和服務端雙向安全接入等能力。JT/T808?云網關能夠無縫接入各種品牌終端(博實結、??怠⒋笕A等),協(xié)助企業(yè)快速構建企業(yè)的車聯(lián)網應用系統(tǒng)。
云網關設備接入物聯(lián)網平臺并進行通信的完整流程如下圖。
云網關支持 JT/T 808 協(xié)議的消息及類型如下表所示。
消息 | 消息類型 |
終端通用應答 | 0x0001 |
平臺通用應答 | 0x8001 |
終端心跳 | 0x0002 |
終端注冊 | 0x0100 |
終端注冊應答 | 0x8100 |
終端注銷 | 0x0003 |
終端鑒權 | 0x0102 |
數據透傳下行 | 0x8900 |
數據上行透傳 | 0x0900 |
位置信息匯報 | 0x0200 |
定位數據批量上傳 | 0x0704 |
03、JT/T808 云網關開發(fā)實戰(zhàn)
創(chuàng)建云網關和注冊設備
阿里云 IoT 物聯(lián)網平臺僅華東2(上海)、華北2(北京)和華南1(深圳)地域的尊享型企業(yè)版實例支持使用JT/T 808協(xié)議云網關。開通入口:?https://common-buy.aliyun.com/?commodityCode=iot_instc_public_cn
尊享型企業(yè)實例創(chuàng)建完成后,在設備管理的云網關下,添加 JT/T808 協(xié)議網關,如下圖:
稍待片刻,創(chuàng)建完成后,你可以看到?JT/T808?網關接入域名和端口,以及關聯(lián)產品 productKey,如下圖:
為了方便后續(xù)管理和運維,你可以把產品改名 JT808車機
接下來你需要在設備管理的設備列表頁面,預登記終端設備標識,如下圖
批量上傳的csv文件內容包含 Manufacturer ID、Terminal Model 和Terminal ID列表,如下圖
注冊成功后,在設備列表可以查看到預登記的設備信息,如下圖:
JT/T808 終端接入
JT/T808 協(xié)議終端設備接入涉及以下指令:
終端注冊 [0x0100]
終端發(fā)起注冊信息,數據如下
7e0100405401000000000156488270990000001f0073333230313030373034343641452d41433432303400000000000000000000000000000000000000000042323032373944000000000000000000000000000000000000000000000001d5e34130303030316b7e
注冊成功后,服務端返回如下數據
8100405301000000000156488270990000000000564770425a4770324d7a564f4f4668614e6d4e465330354b556a64724d445179656a42664e324d30596d51795a544e6b5a6a4d354d6a59314f544e684e4464684e7a6c6c5a6a4e6d4d7a51314d54633d9d
你可以提取出身份鑒權的 token ,并保存在硬件終端中,用于后續(xù)身份鑒權
VGpBZGp2MzVOOFhaNmNFS03KUjdrMDQyejBfN2M0YmQyZTNkZjM6MjY1OTNhNDdhNzllZjNmMzQ1MTc=
終端鑒權 [0x0102]
終端發(fā)起鑒權請求,數據如下
7e01024073010000000001564882709900004f564770425a4770324d7a564f4f4668614e6d4e465330354b556a64724d445179656a42664e324d30596d51795a544e6b5a6a4d354d6a59314f544e684e4464684e7a6c6c5a6a4e6d4d7a51314d5463333538383832303436313736353430352e312e32333400000000000000000000000000437e
終端位置信息匯報 [0x0200]
終端鑒權成功后,即可按需發(fā)送位置信息匯報
longitude=11640382?9,latitude=39915931,altitude=312,speed=111,direction=99
7e0200401c0100000000010000000001000000000400000008000261119b06f02e750138006f0063230925132718017e
在阿里云?IoT 物聯(lián)網平臺的控制臺,監(jiān)控運維下的日志服務,也可以查看到完整消息通信日志,如下:
JT/T808 數據流轉
阿里云 IoT 物聯(lián)網平臺通過云產品流轉的方式,可以將車載終端的在線狀態(tài)、上報的數據實時流轉到數據庫、消息隊列、企業(yè)業(yè)務系統(tǒng)中。相關數據格式如下:
設備注冊流轉的數據結構
消息主題:
/sys/${productKey}/${deviceName}/device/identity/register
數據格式:
{
"createTime": 1669968170000,
"deviceId": "device05",
"deviceModel": "model1",
"deviceName": "manufactor_model1_device05",
"instanceId": "iotx-o****",
"iotId": "PkhDL********00101",
"licensePlateColour": "1",
"licensePlateNumber": "浙A****",
"manufacturer": "manufactor",
"productKey": "a16h****",
"status": "register",
"tenantId": "58CAC7******37C956"
}
設備在線/離線的數據結構
消息主題:
/sys/${productKey}/${deviceName}/device/status/notify
數據格式:
{
"protocol": "jt808",
"status":"online",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}
設備上報數據流轉的數據結構
消息主題:
/sys/${productKey}/${deviceName}/device/message/uplink
數據格式:
{
header:{
messageId:"",
version:"",
phone:"",
serialNumber:""
},
body:{
data:"dGVzdDEyMw==",
type: 65
}
}
設備注銷事件流轉的數據結構
消息主題:
/sys/${productKey}/${deviceName}/device/identity/unregister
數據格式:
{
"createTime": 1669968170000,
"deviceId": "device05",
"deviceModel": "model1",
"deviceName": "manufactor_model1_device05",
"instanceId": "iotx-o****",
"iotId": "PkhDL********00101",
"licensePlateColour": "1",
"licensePlateNumber": "浙A****",
"manufacturer": "manufactor",
"productKey": "a16h****",
"status": "register",
"tenantId": "58CAC7******37C956"
}
JT/T 808 協(xié)議終端上行的數據可以借助物聯(lián)網平臺的數據服務來進行數據解析,編寫自定義解析腳本,流轉到自定義數據表中,如下圖
?JT/T808 指令下行
阿里云 IoT 物聯(lián)網平臺云網關支持指令下行,你可以在服務端發(fā)起RRpc接口調用,向指定設備發(fā)送通信消息,并同步返回響應。
至此,完成了車聯(lián)網場景中 JT/T808 終端接入阿里云 IoT 物聯(lián)網平臺的完整開發(fā)實戰(zhàn)。