快速開發(fā):快速實(shí)現(xiàn)一個(gè)智能充電柜(智能鎖)

快速開發(fā):快速實(shí)現(xiàn)一個(gè)智能充電柜(智能鎖)
常用的JS調(diào)用Java代碼的方法,,主要包括以下三種:

1)通過WebView的addJavascriptInterface進(jìn)行對(duì)象映射

2)通過 WebViewClient 的shouldOverrideUrlLoading方法回調(diào)攔截 url

3) 通過 WebChromeClient 的onJsAlert,、onJsConfirm,、onJsPrompt方法回調(diào)攔截JS對(duì)話框alert、confirm,、prompt 消息

原生渲染

本地開發(fā)的web 頁(yè)面,,構(gòu)建形成 Weex 的一個(gè) JS bundle(native);在云端,,開發(fā)者可以把生成的 JS bundle 部署上去,,然后通過網(wǎng)絡(luò)請(qǐng)求或預(yù)下發(fā)的方式傳遞到用戶的移動(dòng)應(yīng)用客戶端;在移動(dòng)應(yīng)用客戶端里,,WeexSDK 會(huì)準(zhǔn)備好一個(gè) JavaScript 引擎,,并且在用戶打開一個(gè) Weex 頁(yè)面時(shí)執(zhí)行相應(yīng)的 JS bundle,,并在執(zhí)行過程中產(chǎn)生各種命令發(fā)送到 native 端進(jìn)行的界面渲染或數(shù)據(jù)存儲(chǔ),、網(wǎng)絡(luò)通信,、調(diào)用設(shè)備功能、用戶交互響應(yīng)等移動(dòng)應(yīng)用的場(chǎng)景實(shí)踐,。

1,、Weex 的 iOS 和 Android 客戶端中都會(huì)運(yùn)行一個(gè) JavaScript 引擎,來(lái)執(zhí)行 JS bundle,。

2,、Weex向各端的渲染層發(fā)送規(guī)范化的指令,調(diào)度客戶端的native渲染和其它各種能力,。

3,、我們?cè)?iOS 下選擇了 JavaScriptCore 內(nèi)核,而在 Android 下選擇了 UC 提供的 v8 內(nèi)核,。

原理:
1,、將XML+CSS+JavaScript代碼轉(zhuǎn)換為JSBundle
2、JSBundle傳給JS Framework解析為Json格式的Virtual DOM
3,、客戶端通過接收Virtual DOM渲染界面

vue示例

<template>
<view class="content">
<text> {{speedWarnInfo}} </text>
<view class="log">
<view v-for="(log,index) in logs" class="" :key="index">
{{log}}
</view>
</view>
</view>
</template>

<script>
export default {
data() {
return {
logs: [],
speed: 0,
speedWarnInfo: ''
}
},
watch: {
speed: {
handler(val) {
if (val > 100) {
this.speedWarnInfo = "超速"
}
},
immediate: true
}
},
beforeCreate:function(){
// 實(shí)例完全被創(chuàng)建出來(lái)之前,,vue 實(shí)例的掛載元素$el和數(shù)據(jù)對(duì)象 data 都為 undefined,還未初始化
},
created:function(){
// 數(shù)據(jù)對(duì)象 data 已存在,,可以調(diào)用 methods 中的方法,,操作 data 中的數(shù)據(jù),但 dom 未生成,$el 未存在 ,。
this.connect()
},
beforeMount:function(){
// vue 實(shí)例的 $el 和 data 都已初始化,,掛載之前為虛擬的 dom節(jié)點(diǎn),模板已經(jīng)在內(nèi)存中編輯完成了,,但是尚未把模板渲染到頁(yè)面中,。data.message 未替換
},
mounted:function(){
// vue 實(shí)例掛載完成,data.message 成功渲染,。內(nèi)存中的模板,,已經(jīng)真實(shí)的掛載到了頁(yè)面中,用戶已經(jīng)可以看到渲染好的頁(yè)面了,。
},
updated:function(){
// 當(dāng) data 變化時(shí),,會(huì)觸發(fā)beforeUpdate方法 。data 數(shù)據(jù)尚未和最新的數(shù)據(jù)保持同步,。
},
beforeUpdate:function(){
// 當(dāng) data 變化時(shí),,會(huì)觸發(fā) updated 方法。頁(yè)面和 data 數(shù)據(jù)已經(jīng)保持同步了,。
},
beforeDestroy:function(){
// 組件銷毀之前調(diào)用 ,,在這一步,,實(shí)例仍然完全可用。
},
destroyed:function(){
// 組件銷毀之后調(diào)用,,對(duì) data 的改變不會(huì)再觸發(fā)周期函數(shù),,vue 實(shí)例已解除事件監(jiān)聽和 dom綁定,但 dom 結(jié)構(gòu)依然存在,。
},
methods: {
connect() {
var self = this
self.logs.push('connect')
var mqtt = require('mqtt/dist/mqtt.js')
// #ifdef H5
var client = mqtt.connect('xx://xxx.xxxxxx:8080')
// #endif
// #ifdef MP-WEIXIN||APP-PLUS
var client = mqtt.connect('xx://xxx.xxxxxx:8080')
// #endif
client.on('connect', function() {
self.logs.push('on connect')
client.subscribe('presence', function(err) {
if (!err) {
client.publish('presence', 'hello')
}
})
}).on('reconnect', function() {
self.logs.push('on reconnect')
}).on('error', function() {
self.logs.push('on error')
}).on('end', function() {
self.logs.push('on end')
}).on('message', function(topic, message) {
console.log(message)
self.logs.push(message.toString())
})
}
}
}
</script>

<style>
.content {
text-align: center;
height: 400upx;
word-break: break-all;
}
</style>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
后端通信協(xié)議
協(xié)議就是通信雙方的一個(gè)約定,,即,表示第1位傳輸?shù)氖裁?、?位傳輸?shù)氖裁?/p>

有哪些協(xié)議可用
長(zhǎng)鏈接:mqtt,,Jt808,Tcp,,http
短鏈接:coap,,http

短連接的操作步驟是:
建立連接——數(shù)據(jù)傳輸——關(guān)閉連接…建立連接——數(shù)據(jù)傳輸——關(guān)閉連接
長(zhǎng)連接的操作步驟是:
建立連接——數(shù)據(jù)傳輸…(保持連接)…數(shù)據(jù)傳輸——關(guān)閉連接

JT808
消息ID(0-1) 消息體屬性(2-3) 終端手機(jī)號(hào)(4-9) 消息流水號(hào)(10-11) 消息包封裝項(xiàng)(12-15)

byte[0-1] 消息ID word(16)
byte[2-3] 消息體屬性 word(16)
bit[0-9] 消息體長(zhǎng)度
bit[10-12] 數(shù)據(jù)加密方式
此三位都為 0,表示消息體不加密
第 10 位為 1,,表示消息體經(jīng)過 RSA 算法加密
其它保留
bit[13] 分包
1:消息體衛(wèi)長(zhǎng)消息,,進(jìn)行分包發(fā)送處理,具體分包信息由消息包封裝項(xiàng)決定
0:則消息頭中無(wú)消息包封裝項(xiàng)字段
bit[14-15] 保留
byte[4-9] 終端手機(jī)號(hào)或設(shè)備ID bcd[6]
根據(jù)安裝后終端自身的手機(jī)號(hào)轉(zhuǎn)換
手機(jī)號(hào)不足12 位,,則在前面補(bǔ) 0
byte[10-11] 消息流水號(hào) word(16)
按發(fā)送順序從 0 開始循環(huán)累加
byte[12-15] 消息包封裝項(xiàng)
byte[0-1] 消息包總數(shù)(word(16))
該消息分包后得總包數(shù)
byte[2-3] 包序號(hào)(word(16))
從 1 開始
如果消息體屬性中相關(guān)標(biāo)識(shí)位確定消息分包處理,則該項(xiàng)有內(nèi)容
否則無(wú)該項(xiàng)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
編碼
7E 02 00 00 3F 00 00 04 02 18 95 00 0B 00 00 00 00 00 04 00 03 01 58 CC AA 06 CB 79 F5 00 95 00 00 00 00 16 01 05 16 54 15 01 04 00 00 69 74 02 02 00 00 03 02 00 00 25 04 00 00 00 00 2B 04 00 00 00 00 30 01 00 31 01 0B 32 01 46 7C 7E
解碼

Mqtt

MQTT客戶端
一個(gè)使用MQTT協(xié)議的應(yīng)用程序或者設(shè)備,,它總是建立到服務(wù)器的網(wǎng)絡(luò)連接??蛻舳丝梢裕?/p>

(1)發(fā)布其他客戶端可能會(huì)訂閱的信息,;
(2)訂閱其它客戶端發(fā)布的消息;
(3)退訂或刪除應(yīng)用程序的消息,;
(4)斷開與服務(wù)器連接,。

MQTT服務(wù)器
開源:mosquito,emq
MQTT服務(wù)器以稱為"消息代理"(Broker),,可以是一個(gè)應(yīng)用程序或一臺(tái)設(shè)備,。它是位于消息發(fā)布者和訂閱者之間,它可以:

(1)接受來(lái)自客戶的網(wǎng)絡(luò)連接,;
(2)接受客戶發(fā)布的應(yīng)用信息,;
(3)處理來(lái)自客戶端的訂閱和退訂請(qǐng)求;
(4)向訂閱的客戶轉(zhuǎn)發(fā)應(yīng)用程序消息,。

數(shù)據(jù)包結(jié)構(gòu)

在MQTT協(xié)議中,,一個(gè)MQTT數(shù)據(jù)包由:固定頭(Fixed header)、 可變頭(Variable header),、 消息體(payload)三部分構(gòu)成,。

MQTT 數(shù)據(jù)包結(jié)構(gòu)

固定頭(Fixed header),存在于所有MQTT數(shù)據(jù)包中,表示數(shù)據(jù)包類型及數(shù)據(jù)包的分組類標(biāo)識(shí)
可變頭(Variable header),,存在于部分MQTT數(shù)據(jù)包中,,數(shù)據(jù)包類型決定了可變頭是否存在及其具體內(nèi)容
消息體(Payload),存在于部分MQTT數(shù)據(jù)包中,,表示客戶端收到的具體內(nèi)容

1. MQTT固定頭
固定頭存在于所有MQTT數(shù)據(jù)包中,,其結(jié)構(gòu)如下:

1.1 MQTT數(shù)據(jù)包類型
位置:byte 1, bits 7-4。

相于一個(gè)4位的無(wú)符號(hào)值,,類型如下:

1.2 標(biāo)識(shí)位
位置:byte 1, bits 3-0,。

在不使用標(biāo)識(shí)位的消息類型中,,標(biāo)識(shí)位被做為保留位,。如果收到無(wú)效的標(biāo)志時(shí),接收端必須關(guān)閉網(wǎng)絡(luò)連接:

DUP:發(fā)布消息的副本,。用來(lái)在保證消息的可靠傳輸,,如果設(shè)置為 1,則在下面的變長(zhǎng)中增加MessageId,,并且需要回復(fù)確認(rèn),,以保證消息傳輸完成,但不能用于檢測(cè)消息重復(fù)發(fā)送,。
QoS:發(fā)布消息的服務(wù)質(zhì)量,,即:保證消息傳遞的次數(shù)
00:最多一次,即:<=1
01:至少一次,,即:>=1
10:一次,,即:=1
11:預(yù)留
RETAIN: 發(fā)布保留標(biāo)識(shí),表示服務(wù)器要保留這次推送的信息,,如果有新的訂閱者出現(xiàn),,就把這消息推送給它,如果設(shè)有那么推送至當(dāng)前訂閱者后釋放,。

1.3 剩余長(zhǎng)度(Remaining Length)
位置:byte 1,。

固定頭的第二字節(jié)用來(lái)保存變長(zhǎng)頭部和消息體的總大小的,但不是直接保存的,。這一字節(jié)是可以擴(kuò)展,,其保存機(jī)制,前7位用于保存長(zhǎng)度,,后一部用做標(biāo)識(shí),。當(dāng)最后一位為 1時(shí),表示長(zhǎng)度不足,,需要使用二個(gè)字節(jié)繼續(xù)保存,。

2.MQTT可變頭
MQTT數(shù)據(jù)包中包含一個(gè)可變頭,它駐位于固定的頭和負(fù)載之間??勺冾^的內(nèi)容因數(shù)據(jù)包類型而不同,,較常的應(yīng)用是做為包的標(biāo)識(shí):

很多類型數(shù)據(jù)包中都包括一個(gè)2字節(jié)的數(shù)據(jù)包標(biāo)識(shí)字段,這些類型的包有:PUBLISH (QoS > 0),、PUBACK,、PUBREC、PUBREL,、PUBCOMP,、SUBSCRIBE、SUBACK,、UNSUBSCRIBE,、UNSUBACK
CONNECT報(bào)文的可變報(bào)頭按下列次序包含四個(gè)字段:

協(xié)議名(Protocol Name)
協(xié)議級(jí)別(Protocol Level)
連接標(biāo)志(Connect Flags)
保持連接(Keep Alive)。

3.Payload消息體
Payload消息體位MQTT數(shù)據(jù)包的第三部分,,CONNECT,、SUBSCRIBE、SUBACK,、UNSUBSCRIBE四種類型的消息 有消息體:

CONNECT,,消息體內(nèi)容主要是:客戶端的ClientID、訂閱的Topic,、Message以及用戶名和密碼,。
SUBSCRIBE,消息體內(nèi)容是一系列的要訂閱的主題以及QoS,。
SUBACK,,消息體內(nèi)容是服務(wù)器對(duì)于SUBSCRIBE所申請(qǐng)的主題及QoS進(jìn)行確認(rèn)和回復(fù)。
UNSUBSCRIBE,,消息體內(nèi)容是要訂閱的主題,。

硬件
Jetson nano

Haas

Raspberry Pi

Ruff

HaaS600 EC600S 開發(fā)板
1.串口
Enhanced COM Port 為日志串口

Standard COM Port 為用戶串口

$ ./amp.exe seriallist
COM5
COM4
1
2
3

...
1569/main | app_status_indication_set 1
1569/main | platform_init_step1 done, user_init=3, ret=0
1569/main | platform_init_step1 enter temprature cali on signal
1569/main | board_init platform_init_step1 done
1573/main_task | sys_init go
1573/main_task | sys freq calc : 320000000, wifi init 1
1573/main_task | sys_init soc_peripheral_init done
Welcome to AliOS Things
1574/main_task | sys_init aos_components_init done
1574/main_task | mesh has been opened
[Jan 01 00:00:01.482]<I>ULOG-test sys_init aos_components_init done

nano entry here!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2.putty
單片機(jī)或計(jì)算機(jī)在串口通信時(shí)的速率。

例如假設(shè)數(shù)據(jù)傳送速率為120符號(hào)/秒(symbol/s)(也就是波特率為120Baud),,又假設(shè)每一個(gè)符號(hào)為8位(bit),,則其傳送的比特率為(120symbol/s) * (8bit/symbol)=960bps.。

3.push
$ ./amp.exe serialput ./app COM5 -b 115200
device type: ymodem
generating app package...
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
Wait shakehand with board ...
Please reboot board now
Putting: ██████████████████████████████ 2/2
put complete!

1
2
3
4
5
6
7
8
9
10
11
12
13
4.reboot
5.代碼
import * as http from 'http'

var gpio = require('gpio');
var mqtt = require('mqtt');
var network = require('network');

var switch_01 = gpio.open({
id: 'D13'
});

var net = network.openNetWorkClient();
var netType = net.getType();
var netStatus = net.getStatus();
var switch_01_status = 0;
if (netStatus == 'connect') {
/* 網(wǎng)絡(luò)狀態(tài)已連接,,獲取網(wǎng)絡(luò)狀態(tài) */
getNetInfo();
} else {
/* wifi或者以太網(wǎng),,設(shè)置ifconfig */
if (netType === "wifi" || netType === "ethnet") {
net.setIfConfig({
dhcp_en: true, // true: 動(dòng)態(tài)IP模式(以下參數(shù)可忽略); false: 靜態(tài)IP模式(以下參數(shù)必填)
ip_addr: '192.168.124.66',
mask: '255.255.255.0',
gw: '192.168.124.1',
dns_server: '8.8.8.8'
});
}
/* 網(wǎng)絡(luò)狀態(tài)未連接,如果是wifi設(shè)備則主動(dòng)聯(lián)網(wǎng)(4G模組中系統(tǒng)會(huì)自動(dòng)注網(wǎng)) */
if (netType === "wifi") {
net.connect({
ssid: 'wangpengpeng-ssid', //熱點(diǎn)ssid
password: '******' //熱點(diǎn)的密碼
});
}

/**
* 監(jiān)聽網(wǎng)絡(luò)連接成功事件,,成功執(zhí)行回調(diào)函數(shù)
*/
net.on('connect', function() {
getNetInfo();
// create mqtt client
createMQTTClient();
});
net.on('disconnect', function() {});
}

function getNetInfo() {
console.log('net status is connected, begin getting net information...');
var info = net.getInfo();
if (netType === "wifi" || netType === "ethnet") {
/* 是否開啟dhcp */
console.log('net dhcp_en is: ' + info.netInfo.dhcp_en);
/* ip地址*/
console.log('net ip_addr is: ' + info.netInfo.ip_addr);
/* dns */
console.log('net dns_server is: ' + info.netInfo.dns_server);
/* 網(wǎng)關(guān) */
console.log('net gateway is: ' + info.netInfo.gw);
/* 子網(wǎng)掩碼 */
console.log('net mask is: ' + info.netInfo.mask);
/* mac地址 */
console.log('net mac is: ' + info.netInfo.mac);
/* wifi信號(hào)強(qiáng)度 */
console.log('net wifi rssi is: ' + info.netInfo.rssi);
return;
}
console.log('unkown net type');
}

function createMQTTClient() {
var client = mqtt.createClient({
host: 'de28fe41.cn-hangzhou.emqx.cloud',
port: 15129,
clientId: 'wangpengpeng_01',
username: 'wangpengpeng',
password: '******',
});

client.on('connect', function() {
// subscribe
client.subscribe({
topic: '/open',
success: function() {
switch_01_status = 1
switch_01.writeValue(switch_01_status);
},
fail: function() {}
});
// subscribe
client.subscribe({
topic: '/close',
success: function() {
switch_01_status = 0
switch_01.writeValue(switch_01_status);
},
fail: function() {}
});
// publish
setInterval(function() {
client.publish({
topic: '/push',
message: switch_01_status
});
}, 3 * 1000);
});
client.on('disconnect', function() {
console.log('mqtt disconnect');
});
client.on('reconnect', function() {
console.log('mqtt reconnect');
});
client.on('message', function(topic, payload) {
console.log('[' + topic + '] message: ' + payload);
});
client.on('close', function() {
console.log('mqtt close');
});
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

王鵬鵬鵬
關(guān)注

0

0

0

JT808-2019協(xié)議技術(shù)規(guī)范.pdf
01-09
JT808-2019協(xié)議技術(shù)規(guī)范帶
JT808-2019和JT809-2019協(xié)議PDF版
07-17
部標(biāo)平臺(tái)相關(guān)協(xié)議之809協(xié)議2019版本和部標(biāo)平臺(tái)相關(guān)協(xié)議之808協(xié)議2019版本,,與2011版本有變化。 本標(biāo)準(zhǔn)代替JT/T809-2011 《道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)平臺(tái)數(shù)據(jù)交換
參與評(píng)論 您還未登錄,,請(qǐng)先 登錄 后發(fā)表或查看評(píng)論
jt808協(xié)議詳解_zybiao2的博客_jt808協(xié)議
3-27
jt808協(xié)議詳解 7E0200005B014141138693224E00000100000000000157E6DE06CBEC600000000000001703090019200104000026F5EB3700060089FFFFFFFD000700B400FFFFFFFF002400A901CC000627BD0FABCC27910000B727911287BF27BD1159C327BD0000BB27910ED1B5C97E...
jt t808協(xié)議c語(yǔ)言,部標(biāo)JT808協(xié)議解碼包: 提供部標(biāo)JT/T8...
3-8
4[01] 協(xié)議版本號(hào): 1 5[00000000017299841738] 終端手機(jī)號(hào): 17299841738 15[ffff] 流水號(hào): 65535 0[00000400] 報(bào)警標(biāo)志: 1024 4[00000800] 狀態(tài): 2048 8[06eeb6ad] 緯度: 116307629
JT808-2019協(xié)議測(cè)試工具
12-02
JTIT 808一2019協(xié)議測(cè)試工具,,自己python寫的,非過檢終端。 1.連接到服務(wù)端 2.可以收發(fā)報(bào)文,,且能定時(shí)發(fā)送位置匯報(bào)的0200報(bào)文,,以及點(diǎn)擊按鈕發(fā)送終端主動(dòng)發(fā)的報(bào)文,并記錄日志,。 3.拆解報(bào)文
jt/t 808協(xié)議
04-03
這是交通局最新的808通訊協(xié)議,,你可以查詢相關(guān)的數(shù)據(jù)通訊命令,然后進(jìn)行開發(fā),。
java解析JT808協(xié)議_NiceSzy的博客_jtt808報(bào)文解析
2-23
本篇文章將介紹JT808協(xié)議的解析思路,。 另請(qǐng)大神繞路,不喜勿噴! 先寫個(gè)大致的思路,有疑問可以聯(lián)系本人,聯(lián)系方式: emial:[email protected] 1 JT808協(xié)議掃盲 1.1 數(shù)據(jù)類型 1.2 消息結(jié)構(gòu)
4G無(wú)線防拆報(bào)警GPS定位器JT808 部標(biāo)通訊協(xié)議及數(shù)據(jù)格式...
3-5
本協(xié)議采用的通信方式應(yīng)符合 JT/T 794 中的相關(guān)規(guī)定。通信協(xié)議采用 TCP,平臺(tái)作為 服務(wù)器端,終端作為客戶端,。 1.2.數(shù)據(jù)類型 協(xié)議消息中使用的數(shù)據(jù)類型見表 1: 表1 數(shù)據(jù)類型 數(shù)據(jù)類型 描述及要求 ...
JT808部標(biāo)協(xié)議
04-11
JT808部標(biāo)協(xié)議,,道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)終端通訊協(xié)議及數(shù)據(jù)格式。
java解析JT808協(xié)議
熱門推薦
hylexus的博客
3萬(wàn)+
JT808協(xié)議掃描 1 數(shù)據(jù)類型 2 消息結(jié)構(gòu) 3 消息頭 解析 1 消息體實(shí)體類 2 字節(jié)數(shù)組到消息體實(shí)體類的轉(zhuǎn)換 21 消息轉(zhuǎn)換器 22 用到的工具類 221 BCD操作工具類 222 位操作工具類 3 和netty結(jié)合 31 netty處理器鏈 32 netty針對(duì)于JT808的消息處理器 33 用到的其他類 注 本篇文章將介紹JT808協(xié)議的解析思路,。 另請(qǐng)大神繞路,,不喜勿噴,! 先寫個(gè)大
jt808協(xié)議_通信協(xié)議設(shè)計(jì)
weixin_39946534的博客
2496
在網(wǎng)絡(luò)應(yīng)用中會(huì)涉及到很多通訊協(xié)議的使用,,比如車聯(lián)網(wǎng)、V2X的通訊協(xié)議,,APP與后臺(tái)Server交互的協(xié)議,。同時(shí)有些協(xié)議可能是沒有標(biāo)準(zhǔn)的,需要我們自己設(shè)計(jì)一套通信協(xié)議,,當(dāng)然我們肯定在某些已有協(xié)議之上再進(jìn)行自定義,。比如我們要定義T-Box與車聯(lián)網(wǎng)平臺(tái)的通訊,那么肯定會(huì)使用TCP/UDP作為基礎(chǔ)協(xié)議,,再基于這一層的協(xié)議進(jìn)行自定義,。關(guān)于到底選擇TCP還是UDP就不多討論了,下面對(duì)協(xié)議的設(shè)計(jì)做一下...
JT808詳細(xì)解釋
fei0700的博客
804
7E0200005B014141138693224E00000100000000000157E6DE06CBEC600000000000001703090019200104000026F5EB3700060089FFFFFFFD000700B400FFFFFFFF002400A901CC000627BD0FABCC27910000B727911287BF27BD1159C327BD0000BB27910ED1B5C97E ———————————————— 詳細(xì)解釋 7E -
部標(biāo)JT808協(xié)議處理方案
難得糊涂
6529
序言 本來(lái)說(shuō)弄個(gè)系列博客,但是在實(shí)施的過程中,發(fā)現(xiàn)沒有想象的復(fù)雜.搞清楚下面的,后面的都是體力勞動(dòng) 現(xiàn)在開始弄交通部808協(xié)議解析具體的實(shí)施,之前都是在研究框架.今天正式開始實(shí)施.本篇主要介紹一些基礎(chǔ)知識(shí).另沒有源碼,[email protected] 僅限問題討論與實(shí)施方案的交流.本文使用的參考資料室JTT808-2013協(xié)議 位運(yùn)算(一定要搞明白...
jt808 jt-808 JT/T808-2001 jt/t808-2001 部標(biāo)協(xié)議 協(xié)議解析
hncdyj的專欄
9724
JT/T808-2011協(xié)議解析規(guī)則白話文詳解(JAVA版本) 1.包詳解 解析之前復(fù)習(xí)下java的數(shù)據(jù)結(jié)構(gòu),,以及對(duì)應(yīng)JT/L808-2011里面的數(shù)據(jù)類型,。 JT/T808 JAVA數(shù)據(jù)類型 JT/L808描述 JAVA描述 BYTE Byte 無(wú)符號(hào)單字節(jié)整型(字節(jié), 8 位) 以二進(jìn)制補(bǔ)碼表示的整數(shù) WORD Short 無(wú)符號(hào)雙字節(jié)整型(字節(jié),,16位) short數(shù)據(jù)類...
部標(biāo)JT808 JT/T808協(xié)議網(wǎng)關(guān)
最新發(fā)布
WordPress
257
項(xiàng)目介紹 基于Netty,,實(shí)現(xiàn)JT808 JT/T808部標(biāo)協(xié)議的消息處理,與編碼解碼,; 使用SpringBoot + MyBatis提供數(shù)據(jù)入庫(kù),、Web接口服務(wù); 協(xié)議部分不依賴Spring,,可移除Spring獨(dú)立運(yùn)行(支持Android客戶端),; 最簡(jiǎn)潔、清爽、易用的部標(biāo)開發(fā)框架,。 主要特性 代碼足夠精簡(jiǎn),,便于二次開發(fā); 致敬Spring,、Hibernate設(shè)計(jì)理念,,熟悉Web開發(fā)的同學(xué)上手極快; 使用注解描述協(xié)議,,告別繁瑣的封包,、解包; 支持異步批量處理,,顯著提升MySQL入庫(kù)性能,;
北斗系統(tǒng)學(xué)習(xí):JTT808協(xié)議初步解析
李遲的專欄
6118
本文學(xué)習(xí)部標(biāo)(交通運(yùn)輸部)JT/T 808,并使用 Golang 語(yǔ)言解析,。當(dāng)然,,僅使用位置數(shù)據(jù)進(jìn)行演示,所以只是一個(gè)開端(是否有后續(xù),,暫未知),。本文不是科普,因此不會(huì)詳細(xì)列出協(xié)議字段說(shuō)明,,可參考文后給出的資料,。
交通部808協(xié)議介紹_基于交通部JT/T808協(xié)議的車聯(lián)網(wǎng)物聯(lián)網(wǎng)框架開發(fā)技術(shù)方案(源碼)...
weixin_30291543的博客
496
(一)平臺(tái)介紹1、接入網(wǎng)關(guān)應(yīng)用采用mina/netty+spring架構(gòu),,獨(dú)立于其他應(yīng)用,,主要負(fù)責(zé)維護(hù)接入終端的tcp鏈接、上行以及下行消息的解碼,、編碼,、流量控制,黑白名單等安全控制,,網(wǎng)關(guān)同時(shí)支持交通部JT/T808-2011,、JT/T808-2013兩個(gè)版本全部的808協(xié)議,網(wǎng)關(guān)應(yīng)用提供二次開發(fā)接口,,支持協(xié)議擴(kuò)展而不需要改動(dòng)任何原有代碼,。接入網(wǎng)關(guān)采用json消息通過MQ消息隊(duì)列與業(yè)務(wù)平臺(tái)進(jìn)行交互...
JT/T808協(xié)議文檔
12-05
JT/T808協(xié)議文檔,這里介紹了JT/T808協(xié)議基本構(gòu)成,,報(bào)文類型,,以及協(xié)議開發(fā)流程
國(guó)內(nèi)物聯(lián)網(wǎng)平臺(tái)(8):中移物聯(lián)網(wǎng)開放平臺(tái)OneNet
weixin_30782331的博客
744
國(guó)內(nèi)物聯(lián)網(wǎng)平臺(tái)(8)——中移物聯(lián)網(wǎng)開放平臺(tái)OneNet 馬智 平臺(tái)定位 OneNET是中移物聯(lián)網(wǎng)有限公司搭建的開放、共贏設(shè)備云平臺(tái),,為各種跨平臺(tái)物聯(lián)網(wǎng)應(yīng)用,、行業(yè)解決方案,,提供簡(jiǎn)便的云端接入、存儲(chǔ),、計(jì)算和展現(xiàn),,快速打造物聯(lián)網(wǎng)產(chǎn)品應(yīng)用,降低開發(fā)成本,。 IoT PaaS基礎(chǔ)能力:提供智能設(shè)備自助開發(fā)工具,、后臺(tái)技術(shù)支持服務(wù)、物聯(lián)網(wǎng)專網(wǎng),、短彩信,、位置定位、設(shè)...
基于JT/T808協(xié)議的車聯(lián)網(wǎng)平臺(tái)架構(gòu)方案
gaoshbo的專欄
2萬(wàn)+
平臺(tái)基于(《JT/T808-2011道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)終端通訊協(xié)議及數(shù)據(jù)格式》,、《JT/T808-2013道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)北斗兼容車載終端通訊協(xié)議技術(shù)規(guī)范》,、JT/T-796-2011《道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)平臺(tái)技術(shù)要求》、JT/T-1078-2016《道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)車載視頻通信協(xié)議》,、JT/T-1077-2016《道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)車載視頻平臺(tái)技術(shù)要求》...
基于JT808協(xié)議的.gps文件解析工具
05-15
基于JT808協(xié)議的.gps文件解析工具,簡(jiǎn)單易用,,解析格式如下 時(shí)間 報(bào)警標(biāo)志 狀態(tài) 經(jīng)度 緯度 高度 速度KM/H 方向 里程KM 附加信息或者統(tǒng)計(jì)數(shù)據(jù)(16進(jìn)制顯
————————————————
版權(quán)聲明:本文為CSDN博主「王鵬鵬鵬」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明,。
原文鏈接:https://blog.csdn.net/AAA17864308253/article/details/112951326

avatar

發(fā)表評(píng)論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: