Commit b5a79dddd10d01a0ada82ae3a15273e4a00a6b16
1 parent
3a404b2a
电信IOT插件
Showing
4 changed files
with
578 additions
and
0 deletions
zteits-nbiot/VehicleDetector-ZTEITS-ZTEITS.iml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||
3 | + <component name="FacetManager"> | ||
4 | + <facet type="Osmorc" name="OSGi"> | ||
5 | + <configuration manifestGenerationMode="OsmorcControlled" manifestLocation="" jarfileLocation="VehicleDetector-ZTEITS-ZTEITS-1.0.0.jar" outputPathType="CompilerOutputPath" bndFileLocation="" bundlorFileLocation="" bundleActivator="" bundleSymbolicName="VehicleDetector-ZTEITS-ZTEITS" bundleVersion="1.0.0" ignoreFilePattern="" useProjectDefaultManifestFileLocation="true" alwaysRebuildBundleJAR="false" doNotSynchronizeWithMaven="false"> | ||
6 | + <additionalProperties> | ||
7 | + <property key="Bundle-RequiredExecutionEnvironment" value="J2SE-1.5" /> | ||
8 | + <property key="Service-Component" value="OSGI-INF/*" /> | ||
9 | + <property key="Import-Package" value="org.slf4j,org.slf4j.spi,org.apache.log4j.spi,com.huawei.m2m.cig.tup.modules.protocol_adapter,com.fasterxml.jackson.databind,com.fasterxml.jackson.databind.node" /> | ||
10 | + <property key="Embed-Dependency" value="json-lib" /> | ||
11 | + <property key="Bundle-Name" value="VehicleDetector-ZTEITS-ZTEITS" /> | ||
12 | + <property key="Bundle-ClassPath" value=".,json-lib-2.4-jdk15.jar" /> | ||
13 | + <property key="Include-Resource" value="json-lib-2.4-jdk15.jar=$MAVEN_REPOSITORY$/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar" /> | ||
14 | + <property key="Embedded-Artifacts" value="json-lib-2.4-jdk15.jar;g="net.sf.json-lib";a="json-lib";v="2.4";c="jdk15"" /> | ||
15 | + </additionalProperties> | ||
16 | + <additionalJARContents /> | ||
17 | + </configuration> | ||
18 | + </facet> | ||
19 | + </component> | ||
20 | + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> | ||
21 | + <output url="file://$MODULE_DIR$/target/classes" /> | ||
22 | + <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||
23 | + <content url="file://$MODULE_DIR$"> | ||
24 | + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||
25 | + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||
26 | + <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||
27 | + <excludeFolder url="file://$MODULE_DIR$/target" /> | ||
28 | + </content> | ||
29 | + <orderEntry type="inheritedJdk" /> | ||
30 | + <orderEntry type="sourceFolder" forTests="false" /> | ||
31 | + <orderEntry type="library" name="Maven: junit:junit:4.11" level="project" /> | ||
32 | + <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" /> | ||
33 | + <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.6" level="project" /> | ||
34 | + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.7.4" level="project" /> | ||
35 | + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.7.0" level="project" /> | ||
36 | + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.7.4" level="project" /> | ||
37 | + <orderEntry type="module-library"> | ||
38 | + <library name="Maven: com.huawei:protocal-jar:1.3.1"> | ||
39 | + <CLASSES> | ||
40 | + <root url="jar://$MODULE_DIR$/lib/com.huawei.m2m.cig.tup-1.3.1.jar!/" /> | ||
41 | + </CLASSES> | ||
42 | + <JAVADOC /> | ||
43 | + <SOURCES /> | ||
44 | + </library> | ||
45 | + </orderEntry> | ||
46 | + <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" /> | ||
47 | + <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" /> | ||
48 | + <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" /> | ||
49 | + <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.5" level="project" /> | ||
50 | + <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" /> | ||
51 | + <orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" /> | ||
52 | + </component> | ||
53 | +</module> | ||
0 | \ No newline at end of file | 54 | \ No newline at end of file |
zteits-nbiot/src/main/java/com/zteits/nbiot/decoder/CRC16Util.java
0 → 100644
1 | +package com.zteits.nbiot.decoder; | ||
2 | + | ||
3 | +public class CRC16Util { | ||
4 | + | ||
5 | + /** | ||
6 | + * 获取源数据和验证码的组合byte数组 | ||
7 | + * | ||
8 | + * @param strings 可变长度的十六进制字符串 | ||
9 | + * @return | ||
10 | + */ | ||
11 | + public static byte[] appendCrc16(String... strings) { | ||
12 | + byte[] data = new byte[]{}; | ||
13 | + for (int i = 0; i < strings.length; i++) { | ||
14 | + int x = Integer.parseInt(strings[i], 16); | ||
15 | + byte n = (byte) x; | ||
16 | + byte[] buffer = new byte[data.length + 1]; | ||
17 | + byte[] aa = {n}; | ||
18 | + System.arraycopy(data, 0, buffer, 0, data.length); | ||
19 | + System.arraycopy(aa, 0, buffer, data.length, aa.length); | ||
20 | + data = buffer; | ||
21 | + } | ||
22 | + return appendCrc16(data); | ||
23 | + } | ||
24 | + | ||
25 | + /** | ||
26 | + * 获取源数据和验证码的组合byte数组 | ||
27 | + * | ||
28 | + * @param aa 字节数组 | ||
29 | + * @return | ||
30 | + */ | ||
31 | + public static byte[] appendCrc16(byte[] aa) { | ||
32 | + byte[] bb = getCrc16(aa); | ||
33 | + byte[] cc = new byte[aa.length + bb.length]; | ||
34 | + System.arraycopy(aa, 0, cc, 0, aa.length); | ||
35 | + System.arraycopy(bb, 0, cc, aa.length, bb.length); | ||
36 | + return cc; | ||
37 | + } | ||
38 | + | ||
39 | + /** | ||
40 | + * 获取验证码byte数组,基于Modbus CRC16的校验算法 | ||
41 | + */ | ||
42 | + public static byte[] getCrc16(byte[] arr_buff) { | ||
43 | + int len = arr_buff.length; | ||
44 | + | ||
45 | + // 预置 1 个 16 位的寄存器为十六进制FFFF, 称此寄存器为 CRC寄存器。 | ||
46 | + int crc = 0xFFFF; | ||
47 | + int i, j; | ||
48 | + for (i = 0; i < len; i++) { | ||
49 | + // 把第一个 8 位二进制数据 与 16 位的 CRC寄存器的低 8 位相异或, 把结果放于 CRC寄存器 | ||
50 | + crc = ((crc & 0xFF00) | (crc & 0x00FF) ^ (arr_buff[i] & 0xFF)); | ||
51 | + for (j = 0; j < 8; j++) { | ||
52 | + // 把 CRC 寄存器的内容右移一位( 朝低位)用 0 填补最高位, 并检查右移后的移出位 | ||
53 | + if ((crc & 0x0001) > 0) { | ||
54 | + // 如果移出位为 1, CRC寄存器与多项式A001进行异或 | ||
55 | + crc = crc >> 1; | ||
56 | + crc = crc ^ 0xA001; | ||
57 | + } else | ||
58 | + // 如果移出位为 0,再次右移一位 | ||
59 | + crc = crc >> 1; | ||
60 | + } | ||
61 | + } | ||
62 | + return intToBytes(crc); | ||
63 | + } | ||
64 | + | ||
65 | + /** | ||
66 | + * 将int转换成byte数组,低位在前,高位在后 | ||
67 | + * 改变高低位顺序只需调换数组序号 | ||
68 | + */ | ||
69 | + private static byte[] intToBytes(int value) { | ||
70 | + byte[] src = new byte[2]; | ||
71 | + src[1] = (byte) ((value >> 8) & 0xFF); | ||
72 | + src[0] = (byte) (value & 0xFF); | ||
73 | + return src; | ||
74 | + } | ||
75 | +} | ||
0 | \ No newline at end of file | 76 | \ No newline at end of file |
zteits-nbiot/src/main/java/com/zteits/nbiot/decoder/ProtocolAdapterImpl.java
0 → 100644
1 | +package com.zteits.nbiot.decoder; | ||
2 | + | ||
3 | +import com.fasterxml.jackson.databind.node.ObjectNode; | ||
4 | +import com.huawei.m2m.cig.tup.modules.protocol_adapter.IProtocolAdapter; | ||
5 | +import org.slf4j.Logger; | ||
6 | +import org.slf4j.LoggerFactory; | ||
7 | + | ||
8 | + | ||
9 | +public class ProtocolAdapterImpl implements IProtocolAdapter { | ||
10 | + | ||
11 | + private static final Logger logger = LoggerFactory.getLogger(ProtocolAdapterImpl.class); | ||
12 | + // 厂商名称 | ||
13 | + private static final String MANU_FACTURERID = "ZTEITS"; | ||
14 | + private static final String MODEL = "ZTEITS"; | ||
15 | + | ||
16 | + @Override | ||
17 | + public String getManufacturerId() { | ||
18 | + return MANU_FACTURERID; | ||
19 | + } | ||
20 | + | ||
21 | + @Override | ||
22 | + public String getModel() { | ||
23 | + return MODEL; | ||
24 | + } | ||
25 | + | ||
26 | + public void activate() { | ||
27 | + logger.info("Codec demo HttpMessageHander activated."); | ||
28 | + } | ||
29 | + | ||
30 | + public void deactivate() { | ||
31 | + logger.info("Codec demo HttpMessageHander deactivated."); | ||
32 | + } | ||
33 | + | ||
34 | + public byte[] encode(ObjectNode input) throws Exception { | ||
35 | + logger.info("接收到平台的信息为 " + input.toString()); | ||
36 | + try { | ||
37 | + ZteitsCmdProcess cmdProcess = new ZteitsCmdProcess(input); | ||
38 | + byte[] byteNode = cmdProcess.toByte(); | ||
39 | + return byteNode; | ||
40 | + } catch (Exception e) { | ||
41 | + e.printStackTrace(); | ||
42 | + return null; | ||
43 | + } | ||
44 | + } | ||
45 | + | ||
46 | + public ObjectNode decode(byte[] binaryData) throws Exception { | ||
47 | + try { | ||
48 | + logger.info("接收到的报文:"+Utilty.parseByte2HexStr(binaryData)); | ||
49 | + ZteitsReportProcess zteitsReportProcess = new ZteitsReportProcess(binaryData); | ||
50 | + ObjectNode objectNode = zteitsReportProcess.toJsonNode(); | ||
51 | + logger.info("dynamic zteitsReportProcess " + objectNode.toString()); | ||
52 | + return objectNode; | ||
53 | + } catch (Exception e) { | ||
54 | + e.printStackTrace(); | ||
55 | + return null; | ||
56 | + } | ||
57 | + } | ||
58 | + | ||
59 | +} |
zteits-nbiot/src/main/java/com/zteits/nbiot/decoder/ZteitsReportProcess.java
0 → 100644
1 | +package com.zteits.nbiot.decoder; | ||
2 | + | ||
3 | +import com.fasterxml.jackson.databind.ObjectMapper; | ||
4 | +import com.fasterxml.jackson.databind.node.ArrayNode; | ||
5 | +import com.fasterxml.jackson.databind.node.ObjectNode; | ||
6 | + | ||
7 | +import java.util.Arrays; | ||
8 | + | ||
9 | +public class ZteitsReportProcess { | ||
10 | + | ||
11 | + private String factoryCode; | ||
12 | + private String model; | ||
13 | + private int reportType; | ||
14 | + private int nowTime1; | ||
15 | + private int nowTime2; | ||
16 | + private int state; | ||
17 | + private int packCount; | ||
18 | + private int voltage; | ||
19 | + private int magId; | ||
20 | + private int magRssi; | ||
21 | + private int x; | ||
22 | + private int y; | ||
23 | + private int z; | ||
24 | + private int version; | ||
25 | + private int parkCnt; | ||
26 | + private int sendCnt; | ||
27 | + private int baseX; | ||
28 | + private int baseY; | ||
29 | + private int baseZ; | ||
30 | + private int alarmInfo; | ||
31 | + private int reserverd1; | ||
32 | + private int reserverd2; | ||
33 | + private int reserverd3; | ||
34 | + private int reserverd4; | ||
35 | + private int reserverd5; | ||
36 | + private int reserverd6; | ||
37 | + private int crc; | ||
38 | + | ||
39 | + public String getFactoryCode() | ||
40 | + { | ||
41 | + return this.factoryCode; | ||
42 | + } | ||
43 | + | ||
44 | + public void setFactoryCode(String paramString) | ||
45 | + { | ||
46 | + this.factoryCode = paramString; | ||
47 | + } | ||
48 | + | ||
49 | + public String getModel() | ||
50 | + { | ||
51 | + return this.model; | ||
52 | + } | ||
53 | + | ||
54 | + public void setModel(String paramString) | ||
55 | + { | ||
56 | + this.model = paramString; | ||
57 | + } | ||
58 | + | ||
59 | + public int getReportType() | ||
60 | + { | ||
61 | + return this.reportType; | ||
62 | + } | ||
63 | + | ||
64 | + public void setReportType(int paramInt) | ||
65 | + { | ||
66 | + this.reportType = paramInt; | ||
67 | + } | ||
68 | + | ||
69 | + public int getNowTime1() | ||
70 | + { | ||
71 | + return this.nowTime1; | ||
72 | + } | ||
73 | + | ||
74 | + public void setNowTime1(int paramInt) | ||
75 | + { | ||
76 | + this.nowTime1 = paramInt; | ||
77 | + } | ||
78 | + | ||
79 | + public int getNowTime2() | ||
80 | + { | ||
81 | + return this.nowTime2; | ||
82 | + } | ||
83 | + | ||
84 | + public void setNowTime2(int paramInt) | ||
85 | + { | ||
86 | + this.nowTime2 = paramInt; | ||
87 | + } | ||
88 | + | ||
89 | + public int getState() | ||
90 | + { | ||
91 | + return this.state; | ||
92 | + } | ||
93 | + | ||
94 | + public void setState(int paramInt) | ||
95 | + { | ||
96 | + this.state = paramInt; | ||
97 | + } | ||
98 | + | ||
99 | + public int getPackCount() | ||
100 | + { | ||
101 | + return this.packCount; | ||
102 | + } | ||
103 | + | ||
104 | + public void setPackCount(int paramInt) | ||
105 | + { | ||
106 | + this.packCount = paramInt; | ||
107 | + } | ||
108 | + | ||
109 | + public int getVoltage() | ||
110 | + { | ||
111 | + return this.voltage; | ||
112 | + } | ||
113 | + | ||
114 | + public void setVoltage(int paramInt) | ||
115 | + { | ||
116 | + this.voltage = paramInt; | ||
117 | + } | ||
118 | + | ||
119 | + public int getMagId() | ||
120 | + { | ||
121 | + return this.magId; | ||
122 | + } | ||
123 | + | ||
124 | + public void setMagId(int paramInt) | ||
125 | + { | ||
126 | + this.magId = paramInt; | ||
127 | + } | ||
128 | + | ||
129 | + public int getMagRssi() | ||
130 | + { | ||
131 | + return this.magRssi; | ||
132 | + } | ||
133 | + | ||
134 | + public void setMagRssi(int paramInt) | ||
135 | + { | ||
136 | + this.magRssi = paramInt; | ||
137 | + } | ||
138 | + | ||
139 | + public int getX() | ||
140 | + { | ||
141 | + return this.x; | ||
142 | + } | ||
143 | + | ||
144 | + public void setX(int paramInt) | ||
145 | + { | ||
146 | + this.x = paramInt; | ||
147 | + } | ||
148 | + | ||
149 | + public int getY() | ||
150 | + { | ||
151 | + return this.y; | ||
152 | + } | ||
153 | + | ||
154 | + public void setY(int paramInt) | ||
155 | + { | ||
156 | + this.y = paramInt; | ||
157 | + } | ||
158 | + | ||
159 | + public int getZ() | ||
160 | + { | ||
161 | + return this.z; | ||
162 | + } | ||
163 | + | ||
164 | + public void setZ(int paramInt) | ||
165 | + { | ||
166 | + this.z = paramInt; | ||
167 | + } | ||
168 | + | ||
169 | + public int getVersion() | ||
170 | + { | ||
171 | + return this.version; | ||
172 | + } | ||
173 | + | ||
174 | + public void setVersion(int paramInt) | ||
175 | + { | ||
176 | + this.version = paramInt; | ||
177 | + } | ||
178 | + | ||
179 | + public int getParkCnt() | ||
180 | + { | ||
181 | + return this.parkCnt; | ||
182 | + } | ||
183 | + | ||
184 | + public void setParkCnt(int paramInt) | ||
185 | + { | ||
186 | + this.parkCnt = paramInt; | ||
187 | + } | ||
188 | + | ||
189 | + public int getSendCnt() | ||
190 | + { | ||
191 | + return this.sendCnt; | ||
192 | + } | ||
193 | + | ||
194 | + public void setSendCnt(int paramInt) | ||
195 | + { | ||
196 | + this.sendCnt = paramInt; | ||
197 | + } | ||
198 | + | ||
199 | + public int getBaseX() | ||
200 | + { | ||
201 | + return this.baseX; | ||
202 | + } | ||
203 | + | ||
204 | + public void setBaseX(int paramInt) | ||
205 | + { | ||
206 | + this.baseX = paramInt; | ||
207 | + } | ||
208 | + | ||
209 | + public int getBaseY() | ||
210 | + { | ||
211 | + return this.baseY; | ||
212 | + } | ||
213 | + | ||
214 | + public void setBaseY(int paramInt) | ||
215 | + { | ||
216 | + this.baseY = paramInt; | ||
217 | + } | ||
218 | + | ||
219 | + public int getBaseZ() | ||
220 | + { | ||
221 | + return this.baseZ; | ||
222 | + } | ||
223 | + | ||
224 | + public void setBaseZ(int paramInt) | ||
225 | + { | ||
226 | + this.baseZ = paramInt; | ||
227 | + } | ||
228 | + | ||
229 | + public int getAlarmInfo() | ||
230 | + { | ||
231 | + return this.alarmInfo; | ||
232 | + } | ||
233 | + | ||
234 | + public void setAlarmInfo(int paramInt) | ||
235 | + { | ||
236 | + this.alarmInfo = paramInt; | ||
237 | + } | ||
238 | + | ||
239 | + public int getReserverd1() | ||
240 | + { | ||
241 | + return this.reserverd1; | ||
242 | + } | ||
243 | + | ||
244 | + public void setReserverd1(int paramInt) | ||
245 | + { | ||
246 | + this.reserverd1 = paramInt; | ||
247 | + } | ||
248 | + | ||
249 | + public int getReserverd2() | ||
250 | + { | ||
251 | + return this.reserverd2; | ||
252 | + } | ||
253 | + | ||
254 | + public void setReserverd2(int paramInt) | ||
255 | + { | ||
256 | + this.reserverd2 = paramInt; | ||
257 | + } | ||
258 | + | ||
259 | + public int getReserverd3() | ||
260 | + { | ||
261 | + return this.reserverd3; | ||
262 | + } | ||
263 | + | ||
264 | + public void setReserverd3(int paramInt) | ||
265 | + { | ||
266 | + this.reserverd3 = paramInt; | ||
267 | + } | ||
268 | + | ||
269 | + public int getReserverd4() | ||
270 | + { | ||
271 | + return this.reserverd4; | ||
272 | + } | ||
273 | + | ||
274 | + public void setReserverd4(int paramInt) | ||
275 | + { | ||
276 | + this.reserverd4 = paramInt; | ||
277 | + } | ||
278 | + | ||
279 | + public int getReserverd5() | ||
280 | + { | ||
281 | + return this.reserverd5; | ||
282 | + } | ||
283 | + | ||
284 | + public void setReserverd5(int paramInt) | ||
285 | + { | ||
286 | + this.reserverd5 = paramInt; | ||
287 | + } | ||
288 | + | ||
289 | + public int getReserverd6() | ||
290 | + { | ||
291 | + return this.reserverd6; | ||
292 | + } | ||
293 | + | ||
294 | + public void setReserverd6(int paramInt) | ||
295 | + { | ||
296 | + this.reserverd6 = paramInt; | ||
297 | + } | ||
298 | + | ||
299 | + public int getCrc() | ||
300 | + { | ||
301 | + return this.crc; | ||
302 | + } | ||
303 | + | ||
304 | + public void setCrc(int paramInt) | ||
305 | + { | ||
306 | + this.crc = paramInt; | ||
307 | + } | ||
308 | + | ||
309 | + public ZteitsReportProcess(byte[] binaryData) { | ||
310 | + this.factoryCode = Utilty.hexStringToString(binaryData, 0, 4); | ||
311 | + this.model = Utilty.hexStringToString(binaryData,4,8); | ||
312 | + this.reportType = Utilty.hexStringToInteger(binaryData,8,9); | ||
313 | + this.nowTime1 = Utilty.hexStringToInteger(binaryData,9,13); | ||
314 | + this.nowTime2 = Utilty.hexStringToInteger(binaryData,13,17); | ||
315 | + | ||
316 | + this.state = Utilty.hexStringToInteger(binaryData,17,18); | ||
317 | + | ||
318 | + this.packCount = Utilty.hexStringToInteger(binaryData,18,20); | ||
319 | + this.voltage = Utilty.hexStringToInteger(binaryData,20,22); | ||
320 | + this.magId = Utilty.hexStringToInteger(binaryData,22,26); | ||
321 | + this.magRssi = Utilty.hexStringToInteger(binaryData,26,27); | ||
322 | + this.x = Utilty.hexStringToInteger(binaryData,27,29); | ||
323 | + this.y = Utilty.hexStringToInteger(binaryData,29,31); | ||
324 | + this.z = Utilty.hexStringToInteger(binaryData,31,33); | ||
325 | + this.version = Utilty.hexStringToInteger(binaryData,33,35); | ||
326 | + this.parkCnt = Utilty.hexStringToInteger(binaryData,35,37); | ||
327 | + this.sendCnt = Utilty.hexStringToInteger(binaryData,37,40); | ||
328 | + this.baseX = Utilty.hexStringToInteger(binaryData,40,42); | ||
329 | + this.baseY = Utilty.hexStringToInteger(binaryData,42,44); | ||
330 | + this.baseZ = Utilty.hexStringToInteger(binaryData,44,46); | ||
331 | + this.alarmInfo = Utilty.hexStringToInteger(binaryData,46,47); | ||
332 | + this.reserverd1 = Utilty.hexStringToInteger(binaryData,47,48); | ||
333 | + this.reserverd2 = Utilty.hexStringToInteger(binaryData,48,49); | ||
334 | + this.reserverd3 = Utilty.hexStringToInteger(binaryData,49,50); | ||
335 | + this.reserverd4 = Utilty.hexStringToInteger(binaryData,50,52); | ||
336 | + this.reserverd5 = Utilty.hexStringToInteger(binaryData,52,54); | ||
337 | + this.reserverd6 = Utilty.hexStringToInteger(binaryData,54,58); | ||
338 | + this.crc = Utilty.hexStringToInteger(binaryData,58,60); | ||
339 | + } | ||
340 | + | ||
341 | + public ObjectNode toJsonNode() | ||
342 | + { | ||
343 | + ObjectMapper localObjectMapper = new ObjectMapper(); | ||
344 | + ObjectNode localObjectNode1 = localObjectMapper.createObjectNode(); | ||
345 | + localObjectNode1.put("msgType", "deviceReq"); | ||
346 | + | ||
347 | + ArrayNode localArrayNode = localObjectMapper.createArrayNode(); | ||
348 | + | ||
349 | + ObjectNode localObjectNode2 = localObjectMapper.createObjectNode(); | ||
350 | + localObjectNode2 = localObjectMapper.createObjectNode(); | ||
351 | + localObjectNode2.put("factoryCode", getFactoryCode()); | ||
352 | + localObjectNode2.put("model", getModel()); | ||
353 | + localObjectNode2.put("reportType", getReportType()); | ||
354 | + localObjectNode2.put("reportTime1", getNowTime1()); | ||
355 | + localObjectNode2.put("reportTime", getNowTime2()); | ||
356 | + localObjectNode2.put("state", getState()); | ||
357 | + localObjectNode2.put("packCount", getPackCount()); | ||
358 | + localObjectNode2.put("voltage", getVoltage()); | ||
359 | + localObjectNode2.put("magId", getMagId()); | ||
360 | + localObjectNode2.put("deviceId", getMagId()); | ||
361 | + localObjectNode2.put("rssi", getMagRssi()); | ||
362 | + localObjectNode2.put("x", getX()); | ||
363 | + localObjectNode2.put("y", getY()); | ||
364 | + localObjectNode2.put("z", getZ()); | ||
365 | + localObjectNode2.put("version", getVersion()); | ||
366 | + localObjectNode2.put("parkCnt", getParkCnt()); | ||
367 | + localObjectNode2.put("sendCnt", getSendCnt()); | ||
368 | + localObjectNode2.put("baseX", getBaseX()); | ||
369 | + localObjectNode2.put("baseY", getBaseY()); | ||
370 | + localObjectNode2.put("baseZ", getBaseZ()); | ||
371 | + localObjectNode2.put("alarmInfo", getAlarmInfo()); | ||
372 | + localObjectNode2.put("reserverd1", getReserverd1()); | ||
373 | + localObjectNode2.put("reserverd2", getReserverd2()); | ||
374 | + localObjectNode2.put("reserverd3", getReserverd3()); | ||
375 | + localObjectNode2.put("reserverd4", getReserverd4()); | ||
376 | + localObjectNode2.put("reserverd5", getReserverd5()); | ||
377 | + localObjectNode2.put("reserverd6", getReserverd6()); | ||
378 | + localObjectNode2.put("crc", getCrc()); | ||
379 | + | ||
380 | + ObjectNode localObjectNode3 = localObjectMapper.createObjectNode(); | ||
381 | + localObjectNode3.put("serviceId", "VehicleDetectorInfo"); | ||
382 | + | ||
383 | + localObjectNode3.set("serviceData", localObjectNode2); | ||
384 | + | ||
385 | + localArrayNode.add(localObjectNode3); | ||
386 | + | ||
387 | + localObjectNode1.set("data", localArrayNode); | ||
388 | + | ||
389 | + return localObjectNode1; | ||
390 | + } | ||
391 | +} | ||
0 | \ No newline at end of file | 392 | \ No newline at end of file |