Wiki source code of LTC2 - LoRaWAN Temperature Transmitter User Manual
Last modified by Bei Jinggeng on 2025/03/03 13:49
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | (% aria-label="image-20220611143226-1.png image widget" contenteditable="false" role="region" tabindex="-1" %) | ||
2 | ((( | ||
3 | (% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]] | ||
4 | ))) | ||
5 | |||
6 | (% style="text-align:center" %) | ||
7 | [[image:image-20220617163631-2.jpeg||height="704" width="617"]] | ||
8 | |||
9 | |||
10 | **Table of Contents:** | ||
11 | |||
12 | {{toc/}} | ||
13 | |||
14 | (% aria-label="macro:toc widget" contenteditable="false" role="region" tabindex="-1" %) | ||
15 | ((( | ||
16 | (% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]] | ||
17 | ))) | ||
18 | |||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | |||
27 | = 1. Introduction = | ||
28 | |||
29 | == 1.1 What is LTC2 LoRaWAN Temperature Transmitter == | ||
30 | |||
31 | ((( | ||
32 | |||
33 | |||
34 | ((( | ||
35 | ((( | ||
36 | The Dragino LTC2 Industrial LoRaWAN Temperature Transmitter is designed to monitor temperature for different environment. It supports to read (% style="color:#4472c4" %)**PT100 probe**(%%) and convert the value to temperature and uplink to IoT server via LoRaWAN protocol. | ||
37 | ))) | ||
38 | |||
39 | ((( | ||
40 | LTC2 is powered by (% style="color:#4472c4" %)**8500mA Li-SOCI2 battery**(%%) for long time measurement. The battery can run 2~~10 years depends on the network environment and working mode. | ||
41 | ))) | ||
42 | |||
43 | ((( | ||
44 | Each LTC2 has (% style="color:#4472c4" %)**two internal 24-bit ADC interfaces** (%%)and are calibrated on 12 set resistors to make sure the accuracy measurement on wide range. | ||
45 | ))) | ||
46 | |||
47 | ((( | ||
48 | LTC2 is LoRaWAN v1.0.3 compatible. Each LTC2 is pre-load with a set of unique keys for LoRaWAN registration, register these keys to local LoRaWAN server and it will auto connect after power on. | ||
49 | ))) | ||
50 | |||
51 | |||
52 | [[image:image-20220617164020-3.png||height="314" width="756"]] | ||
53 | ))) | ||
54 | ))) | ||
55 | |||
56 | |||
57 | == 1.2 Features == | ||
58 | |||
59 | |||
60 | * LoRaWAN v1.0.3 Class A | ||
61 | * max: 2 x monitor temperature channels | ||
62 | * Support 3 -wire PT-100 | ||
63 | * 8500mAh Li-SOCI2 Battery | ||
64 | * Firmware upgrade via console | ||
65 | * Wall Mountable | ||
66 | * Configurable via LoRa or UART | ||
67 | * Use pre-load PT100 probe or 3rd PT100 probe | ||
68 | * Factory calibration for different resistance range | ||
69 | * Support accuracy measure of resistance and upload | ||
70 | * Battery Monitoring and upload | ||
71 | * Operation Temperature: -40 ~~ 65 ℃ | ||
72 | |||
73 | (% style="display:none" %) ** ** | ||
74 | |||
75 | |||
76 | == 1.3 Applications == | ||
77 | |||
78 | |||
79 | * Logistics and Supply Chain Management | ||
80 | * Food management | ||
81 | * Cold chains solution | ||
82 | * Industrial Monitoring and Control | ||
83 | |||
84 | == 1.4 Hardware Change log == | ||
85 | |||
86 | |||
87 | LTC2 v1.0: Release. | ||
88 | |||
89 | |||
90 | == 1.5 Pin Definitions and Switch == | ||
91 | |||
92 | === (% title="Click and drag to resize" %)1.5.1 J(%%)umper JP2 ( Power ON) === | ||
93 | |||
94 | (% class="wikigeneratedid" id="H200B200B200B200B" %) | ||
95 | (% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)(%%) | ||
96 | |||
97 | Put a jumper on JP2 will power on the LTC2. | ||
98 | |||
99 | |||
100 | === 1.5.2 LED === | ||
101 | |||
102 | |||
103 | The LED will flash in below case. | ||
104 | |||
105 | ((( | ||
106 | 1. Send an uplink packet | ||
107 | |||
108 | |||
109 | ))) | ||
110 | |||
111 | === 1.5.3 PT100 Interfaces === | ||
112 | |||
113 | |||
114 | ((( | ||
115 | There are two independent channels to connect 2 x PT100 probes. | ||
116 | ))) | ||
117 | |||
118 | ((( | ||
119 | Each channel has 3-wire connection for 3-wire PT100 probes. | ||
120 | ))) | ||
121 | |||
122 | |||
123 | === 1.5.4 Reset Button === | ||
124 | |||
125 | |||
126 | Press this button will reboot the LTC2 | ||
127 | |||
128 | |||
129 | == 1.6 Probe Variant == | ||
130 | |||
131 | |||
132 | LTC2 provide default probe version. See below for the variant: | ||
133 | |||
134 | |||
135 | (% border="1" cellspacing="4" style="width:505px" %) | ||
136 | |=(% style="width: 78px;background-color:#4F81BD;color:white" %)((( | ||
137 | **Model** | ||
138 | )))|=(% style="width: 127px;background-color:#4F81BD;color:white" %)((( | ||
139 | **Photo** | ||
140 | )))|=(% style="width: 300px;background-color:#4F81BD;color:white" %)((( | ||
141 | **Description** | ||
142 | ))) | ||
143 | |(% style="width:78px" %)((( | ||
144 | LTC2-SI | ||
145 | )))|(% style="width:117px" %)((( | ||
146 | (% style="text-align:center" %) | ||
147 | [[image:1655458404877-785.png]] | ||
148 | )))|(% style="width:314px" %)((( | ||
149 | Standard IP68 Probe Version | ||
150 | |||
151 | * ((( | ||
152 | LTC2 with 1 x Standard IP68 PT100 probe. | ||
153 | ))) | ||
154 | * ((( | ||
155 | Installation: Insert | ||
156 | ))) | ||
157 | * ((( | ||
158 | Cable Length : 2m | ||
159 | ))) | ||
160 | * ((( | ||
161 | PT100 Class : Class A | ||
162 | ))) | ||
163 | * ((( | ||
164 | Probe Dimension: 4*30mm | ||
165 | ))) | ||
166 | * ((( | ||
167 | Measure Range: -50 ~~ 200 °C | ||
168 | ))) | ||
169 | * ((( | ||
170 | Suitable Environment: General environment | ||
171 | ))) | ||
172 | ))) | ||
173 | |(% style="width:78px" %)((( | ||
174 | LTC2-LT | ||
175 | )))|(% style="width:117px" %)((( | ||
176 | (% style="text-align:center" %) | ||
177 | [[image:image-20220617172838-2.png]] | ||
178 | )))|(% style="width:314px" %)((( | ||
179 | Low Temperature Version | ||
180 | |||
181 | * ((( | ||
182 | LTC2 with 1 x Low Temperature PT100 probe. | ||
183 | ))) | ||
184 | * ((( | ||
185 | Installation: Insert | ||
186 | ))) | ||
187 | * ((( | ||
188 | Cable Length : 2m | ||
189 | ))) | ||
190 | * ((( | ||
191 | PT100 Class : Class A | ||
192 | ))) | ||
193 | * ((( | ||
194 | Probe Dimension: 4*30mm | ||
195 | ))) | ||
196 | * ((( | ||
197 | Measure Range: -196 ~~ 150 °C | ||
198 | ))) | ||
199 | * ((( | ||
200 | Suitable Environment: Low temperature measurement, such as COVID vaccine transport | ||
201 | ))) | ||
202 | ))) | ||
203 | |(% style="width:78px" %)((( | ||
204 | LTC2-FS | ||
205 | )))|(% style="width:117px" %)((( | ||
206 | (% style="text-align:center" %) | ||
207 | [[image:image-20220617172838-3.png]] | ||
208 | )))|(% style="width:314px" %)((( | ||
209 | Food Safety Version | ||
210 | |||
211 | * ((( | ||
212 | LTC2 with 1 x Food Safety PT100 probe. | ||
213 | ))) | ||
214 | * ((( | ||
215 | Installation: Insert | ||
216 | ))) | ||
217 | * ((( | ||
218 | Cable Length : 2m | ||
219 | ))) | ||
220 | * ((( | ||
221 | PT100 Class : Class A | ||
222 | ))) | ||
223 | * ((( | ||
224 | Probe Dimension: 4*150mm | ||
225 | ))) | ||
226 | * ((( | ||
227 | Measure Range: -50 ~~ 200 °C | ||
228 | ))) | ||
229 | * ((( | ||
230 | Suitable Environment: Food temperature measurement | ||
231 | ))) | ||
232 | ))) | ||
233 | |(% style="width:78px" %)LTC-FSA|(% style="width:117px" %)((( | ||
234 | (% style="text-align:center" %) | ||
235 | [[image:image-20221222182717-1.jpeg]] | ||
236 | )))|(% style="width:314px" %)((( | ||
237 | Food Safety Version | ||
238 | |||
239 | * ((( | ||
240 | LTC2 with 1 x Food Safety PT100 probe. | ||
241 | ))) | ||
242 | * ((( | ||
243 | Installation: Insert | ||
244 | ))) | ||
245 | * ((( | ||
246 | Cable Length : 2m | ||
247 | ))) | ||
248 | * ((( | ||
249 | PT100 Class : Class A | ||
250 | ))) | ||
251 | * ((( | ||
252 | Probe Dimension: 4*150mm | ||
253 | ))) | ||
254 | * ((( | ||
255 | Measure Range: -50 ~~ 200 °C | ||
256 | ))) | ||
257 | * ((( | ||
258 | Suitable Environment: Food temperature measurement | ||
259 | ))) | ||
260 | ))) | ||
261 | |(% style="width:78px" %)((( | ||
262 | LTC2-FT | ||
263 | )))|(% style="width:117px" %)((( | ||
264 | (% style="text-align:center" %) | ||
265 | [[image:image-20220617172838-4.png]] | ||
266 | )))|(% style="width:314px" %)((( | ||
267 | Flat Type Version | ||
268 | |||
269 | * LTC2 with 1 x Flat Type PT100 probe. | ||
270 | * Installation: Attached | ||
271 | * Cable Length : 2m | ||
272 | * PT100 Class : Class A | ||
273 | * Probe Dimension: 8*25mm | ||
274 | * Measure Range: -50 ~~ 200 °C | ||
275 | * Suitable Environment: Attached to the measure point. | ||
276 | ))) | ||
277 | |(% style="width:78px" %)LTC2-HT|(% style="width:117px" %)((( | ||
278 | (% style="text-align:center" %) | ||
279 | [[image:image-20250212084650-1.png||height="112" width="80"]] | ||
280 | )))|(% style="width:314px" %)((( | ||
281 | High Temperature Version | ||
282 | |||
283 | * LTC2 with 1 x high temperature PT100 probe. | ||
284 | * Installation: Insert | ||
285 | * Cable Length : 3m | ||
286 | * PT100 Class : Class A | ||
287 | * Probe Dimension: 4*30mm | ||
288 | * Measure Range: -70 ~~ 450 °C | ||
289 | |||
290 | Suitable Environment: High Temperature | ||
291 | ))) | ||
292 | |(% style="width:78px" %)LTC2-NA|(% style="width:117px" %)((( | ||
293 | (% style="text-align:center" %) | ||
294 | [[image:image-20220617172838-6.png]] | ||
295 | )))|(% style="width:314px" %)((( | ||
296 | No Probe version: | ||
297 | |||
298 | * User can connect to their own PT100 Probe | ||
299 | * Grand Hole: M12 | ||
300 | * Suitable Environment: | ||
301 | |||
302 | Connect to customized probe | ||
303 | ))) | ||
304 | |||
305 | = 2. How to use LTC2? = | ||
306 | |||
307 | == 2.1 Connect to PT100 sensors == | ||
308 | |||
309 | |||
310 | LTC2 has different probe option provided for ordering, if user has LTC2 with probe, just skip this step. If user want to connect to a 3^^rd^^ party PT100 probe, please see [[CONNECT A 3(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^rd^^ PARTY PT100 probe>>||anchor="H6.A0FAQ"]](%%). | ||
311 | |||
312 | |||
313 | == 2.2 How it works? == | ||
314 | |||
315 | |||
316 | ((( | ||
317 | ((( | ||
318 | The LTC2 is working in LoRaWAN OTAA Class A mode. Each LTC2 is shipped with a worldwide unique set of OTAA and ABP keys. User needs to input the OTAA or ABP keys in the LoRaWAN network server so to register. LTC2 will join the LoRaWAN network and start to transmit data. The default period for each uplink is **20 minutes**. | ||
319 | ))) | ||
320 | |||
321 | ((( | ||
322 | On each uplink, LTC2 will check its two ADC Interfaces and get the temperature from the sensor and send out to server. | ||
323 | ))) | ||
324 | ))) | ||
325 | |||
326 | |||
327 | == 2.3 Quick guide to connect to LoRaWAN server (OTAA) == | ||
328 | |||
329 | |||
330 | ((( | ||
331 | Here is an example for how to join the [[TTN v3 LoRaWAN >>url:https://eu1.cloud.thethings.network/]]Server. Below is the network structure, in this demo we use [[DLOS8>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]] as LoRaWAN gateway. | ||
332 | |||
333 | (% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:1655687566853-908.png]](% title="Click and drag to resize" %)[[image:1655687927369-781.png||height="311" width="751"]] | ||
334 | ))) | ||
335 | |||
336 | (% title="Click and drag to resize" %)(%%)The DLOS8 is already set to connect to [[TTN >>url:https://eu1.cloud.thethings.network/]]. Rest we need to is register the LTC2 to TTN v3:(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)(%%) | ||
337 | |||
338 | ((( | ||
339 | |||
340 | |||
341 | === 2.3.1 Step 1: Create a device in TTN with the OTAA keys from LTC2 === | ||
342 | |||
343 | |||
344 | Below is TTN screen shot: | ||
345 | |||
346 | * Create Application first. | ||
347 | * Manually Add a LoRaWAN End Device device. Choose **OTAA** and **MAC v1.0.3** | ||
348 | |||
349 | [[image:1655690861020-685.png]] | ||
350 | |||
351 | |||
352 | [[image:1655690877643-259.png]] | ||
353 | |||
354 | |||
355 | Input the OTAA keys for LTC2. | ||
356 | |||
357 | Each LTC2 is shipped with a sticker with the default device EUI as below: | ||
358 | |||
359 | [[image:image-20230426083905-2.png||height="272" width="586"]] | ||
360 | |||
361 | |||
362 | * **Input these keys to device portal.** | ||
363 | |||
364 | [[image:image-20220620100853-1.png]] | ||
365 | |||
366 | |||
367 | |||
368 | * **Choose the Frequency band for this end node.** | ||
369 | |||
370 | [[image:image-20220620100853-2.png]] | ||
371 | |||
372 | |||
373 | * **Input APP Key in this page as well. ** | ||
374 | |||
375 | [[image:image-20220620100853-3.png]] | ||
376 | |||
377 | |||
378 | Add payload formatter So TTNv3 knows how to parse the LTC2 upload value. | ||
379 | |||
380 | The payload for TTN can be found at below link: [[ttps:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] | ||
381 | |||
382 | |||
383 | [[image:image-20220620100853-4.png||height="496" width="1097"]] | ||
384 | |||
385 | |||
386 | === 2.3.2 Step 2: Power on LTC2 === | ||
387 | |||
388 | |||
389 | LTC2 is power off when ship from factory. | ||
390 | |||
391 | Put a Jumper on JP2 to power on the device. | ||
392 | |||
393 | |||
394 | [[image:1655691076464-442.png]] | ||
395 | |||
396 | |||
397 | ((( | ||
398 | After power on, LTC2 will auto join to TTN network via the LoRaWAN coverage by DLOS8. After join success, LTC2 will start to update message to IoT server. | ||
399 | ))) | ||
400 | |||
401 | ((( | ||
402 | Below is an example uplink message which shows the LTC2 is sending Join Request to TTNv3. | ||
403 | ))) | ||
404 | |||
405 | |||
406 | [[image:1655691086647-147.png]] | ||
407 | |||
408 | |||
409 | After join successful, LTC2 will send uplink message with the sensor value. | ||
410 | |||
411 | [[image:1655691100066-163.png]] | ||
412 | |||
413 | Above value shows Channel1 detect 25.94 degree. There is no PT100 connected on Channel 2, so it shows -327.67. | ||
414 | ))) | ||
415 | |||
416 | |||
417 | == 2.4 Uplink Payload == | ||
418 | |||
419 | |||
420 | Below is the uplink payload which shows. | ||
421 | |||
422 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:390px" %) | ||
423 | |=(% style="width: 70px;background-color:#4F81BD;color:white" %)((( | ||
424 | **Size(bytes)** | ||
425 | )))|=(% style="width: 40px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)2|=(% style="width: 70px;background-color:#4F81BD;color:white" %)2|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**4** | ||
426 | |(% style="width:62.5px" %)Value|((( | ||
427 | [[BAT>>||anchor="HBAT"]] | ||
428 | )))|((( | ||
429 | [[Status & EXT>>||anchor="HStatus26EXT"]] | ||
430 | )))|((( | ||
431 | [[Channel 1 data>>||anchor="HChannel1dataandChannel2data"]] | ||
432 | )))|((( | ||
433 | [[Channel 2 data>>||anchor="HChannel1dataandChannel2data"]] | ||
434 | )))|((( | ||
435 | [[Unix TimeStamp>>||anchor="HUnixTimeStamp"]] | ||
436 | ))) | ||
437 | |||
438 | (% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]] | ||
439 | |||
440 | |||
441 | ((( | ||
442 | === (% style="color:blue" %)**BAT**(%%) === | ||
443 | |||
444 | |||
445 | Ex1: 0x0E3C ⇒ 3644 (mV) = 3.644 V | ||
446 | |||
447 | (% class="wikigeneratedid" %) | ||
448 | |||
449 | ))) | ||
450 | |||
451 | ((( | ||
452 | === (% style="color:blue" %)**Status & EXT**(%%) === | ||
453 | ))) | ||
454 | |||
455 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) | ||
456 | |(% style="background-color:#4f81bd; color:white; width:60px" %)**Bits**|(% style="background-color:#4f81bd; color:white; width:90px" %)**7**|(% style="background-color:#4f81bd; color:white; width:100px" %)**6**|(% style="background-color:#4f81bd; color:white; width:90px" %)**5**|(% style="background-color:#4f81bd; color:white; width:100px" %)**4**|(% style="background-color:#4f81bd; color:white; width:60px" %)**[3:0]** | ||
457 | |(% style="width:96px" %)Status&Ext|(% style="width:124px" %)Not Defined|(% style="width:146px" %)Poll Message FLAG|(% style="width:109px" %)Sync time OK|(% style="width:143px" %)Unix Time Request|(% style="width:106px" %)Ext: 0b(1001) | ||
458 | |||
459 | * (% style="color:#037691" %)**Poll Message Flag**(%%): 1: This message is a poll message reply, 0: means this is a normal uplink. | ||
460 | * (% style="color:#037691" %)**Sync time OK**(%%): 1: Set time ok, 0: N/A. After time SYNC request is send, device will set this bit to 0 until got the time stamp from application server. | ||
461 | * (% style="color:#037691" %)**Unix Time Request**(%%): 1: Request server downlink Unix time, 0 : N/A. In this mode, LTC2 will set this bit to 1 every 10 day to request a time SYNC. (AT+SYNCMOD to set this) | ||
462 | * (% style="color:#037691" %)**EXT**(%%): The decode method for Channel 1 data and Channel 2 data | ||
463 | ** 0b(0001): Upload PT100 temperature, with 2 decimals, range: **-327.67 ~~ 327.67 ℃** | ||
464 | ** 0b(0010): Upload PT100 temperature, with 1 decimals, range: ** -3276.7 ~~ 3276.7 ℃** | ||
465 | ** 0b(0011): Upload Resistance instead of Temperature, range: **-327.67~~ 327.67 ohm** | ||
466 | |||
467 | ((( | ||
468 | (% class="wikigeneratedid" %) | ||
469 | |||
470 | |||
471 | |||
472 | === (% style="color:blue" %)**Channel 1 data and Channel 2 data**(%%) === | ||
473 | |||
474 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %) | ||
475 | |(% style="background-color:#4f81bd; color:white; width:150px" %)**Example Payload on channel 1 or channel 2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**Sensor Value when EXT=0b(0001)**|(% style="background-color:#4f81bd; color:white; width:127.5px" %)**Sensor Value when EXT=0b(0010)**|(% style="background-color:#4f81bd; color:white; width:107.5px" %)**Sensor Value when EXT=0b(0011)** | ||
476 | |(% style="width:139px" %)0x1422|(% style="width:142px" %)0x1422/100=51.54℃|(% style="width:155px" %)0x1422/100=515.4℃|(% style="width:148px" %)0x1422/100=51.54Ω | ||
477 | |(% style="width:139px" %)OXEC2D|(% style="width:142px" %)(0XEC2D-65536)/100=-50.75℃|(% style="width:155px" %)(0XEC2D-65536)/10=-507.5℃|(% style="width:148px" %)0XEC2D/100=604.61Ω | ||
478 | ))) | ||
479 | |||
480 | ((( | ||
481 | (% class="wikigeneratedid" %) | ||
482 | |||
483 | |||
484 | === (% style="color:blue" %)**Unix TimeStamp**(%%) === | ||
485 | ))) | ||
486 | |||
487 | Refer to Datalog feature. | ||
488 | |||
489 | (% style="color:#037691" %)**Example Uplink Payload**: | ||
490 | |||
491 | |||
492 | **Uplink payload example 1:** 0CE9011422EC2D6073E83B | ||
493 | |||
494 | * Bat voltage:0x0CE9 =3305mV | ||
495 | * Ext=0x01 | ||
496 | * Channel1 temp=0x1422/100=51.54 ℃ | ||
497 | * Channel2 temp=(0xEC2D-65536)/100=-50.75 ℃ | ||
498 | * System timestamp=0x6073E83B= 1618208827(UTC) | ||
499 | |||
500 | If payload is: EC2DH : (EC2D & 8000 == 1), temp = (EC2DH - 65536)/100 = -50.75 ℃ | ||
501 | |||
502 | (EC2D & 8000: Judge whether the highest bit is 1, when the highest bit is 1, it is negative) | ||
503 | |||
504 | |||
505 | **Uplink payload example 2: ** 0CED020203FE056073E697 | ||
506 | |||
507 | * Bat voltage:0x0CED =3309mV | ||
508 | * Ext=0x02 | ||
509 | * Channel1 temp=0x0203/10=515.4 ℃ | ||
510 | * Channel2 temp=(0xFE05-65536)/10=-507.5 ℃ | ||
511 | * System timestamp=0x6073E697=1618208407(UTC) | ||
512 | |||
513 | If payload is: FE05H : (FE05 & 8000 == 1) , temp = (FE05H - 65536)/100 = 507.5 ℃ | ||
514 | |||
515 | (EC2D & 8000: Judge whether the highest bit is 1, when the highest bit is 1, it is negative) | ||
516 | |||
517 | |||
518 | **Uplink payload example 3 :** 0CE9032EDE1F406073E967 | ||
519 | |||
520 | * Bat voltage:0x0CE9 =3305mV | ||
521 | * Ext=0x03 | ||
522 | * Channel1 res=0x2EDE/100=119.98 ohm | ||
523 | * Channel2 res=0x1F40/100=80.00 ohm | ||
524 | * System timestamp=0x6073E967= 1618209127(UTC) | ||
525 | |||
526 | (% title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)(%%) | ||
527 | |||
528 | |||
529 | == 2.5 Alarm Mode == | ||
530 | |||
531 | |||
532 | ((( | ||
533 | LTC2 can monito the temperature in every CTTEMP time, when the temperature exceed the limit , it will uplink the sensor value immediately. | ||
534 | |||
535 | Detail commands see: | ||
536 | |||
537 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)**Enable Alarm Mode**>>||anchor="H3.9EnableAlarmmode"]] | ||
538 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)**Config Alarm Sampling Time**>>||anchor="H3.10Alarmchecktime"]] | ||
539 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)**Set Alarm Threshold**>>||anchor="H3.11SetAlarmThreshold"]] | ||
540 | |||
541 | |||
542 | ))) | ||
543 | |||
544 | |||
545 | = 3. Configure LTC2 via AT Command or LoRaWAN Downlink = | ||
546 | |||
547 | |||
548 | ((( | ||
549 | ((( | ||
550 | Use can configure LTC2 via AT Command or LoRaWAN Downlink. | ||
551 | ))) | ||
552 | ))) | ||
553 | |||
554 | * ((( | ||
555 | ((( | ||
556 | AT Command Connection: See [[FAQ>>||anchor="H6.A0FAQ"]]. | ||
557 | ))) | ||
558 | ))) | ||
559 | * ((( | ||
560 | ((( | ||
561 | LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]] | ||
562 | ))) | ||
563 | ))) | ||
564 | |||
565 | ((( | ||
566 | ((( | ||
567 | |||
568 | ))) | ||
569 | |||
570 | ((( | ||
571 | There are two kinds of commands to configure LTC2, they are: | ||
572 | ))) | ||
573 | ))) | ||
574 | |||
575 | * ((( | ||
576 | ((( | ||
577 | (% style="color:#4f81bd" %)** General Commands**. | ||
578 | ))) | ||
579 | ))) | ||
580 | |||
581 | ((( | ||
582 | ((( | ||
583 | These commands are to configure: | ||
584 | ))) | ||
585 | ))) | ||
586 | |||
587 | * ((( | ||
588 | ((( | ||
589 | General system settings like: uplink interval. | ||
590 | ))) | ||
591 | ))) | ||
592 | * ((( | ||
593 | ((( | ||
594 | LoRaWAN protocol & radio related command. | ||
595 | ))) | ||
596 | ))) | ||
597 | |||
598 | ((( | ||
599 | ((( | ||
600 | They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] | ||
601 | ))) | ||
602 | ))) | ||
603 | |||
604 | ((( | ||
605 | ((( | ||
606 | |||
607 | ))) | ||
608 | ))) | ||
609 | |||
610 | * ((( | ||
611 | ((( | ||
612 | (% style="color:#4f81bd" %)** Commands special design for LTC2** | ||
613 | ))) | ||
614 | ))) | ||
615 | |||
616 | ((( | ||
617 | ((( | ||
618 | These commands only valid for LTC2, as below:(% title="Click and drag to resize" %) | ||
619 | ))) | ||
620 | ))) | ||
621 | |||
622 | (% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %) | ||
623 | |||
624 | |||
625 | == 3.1 Set Transmit Interval Time == | ||
626 | |||
627 | |||
628 | Feature: Change LoRaWAN End Node Transmit Interval. | ||
629 | |||
630 | (% style="color:#037691" %)**AT Command: AT+TDC** | ||
631 | |||
632 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:501px" %) | ||
633 | |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:180px" %)**Response** | ||
634 | |(% style="width:155px" %)AT+TDC=?|(% style="width:162px" %)Show current transmit Interval|(% style="width:177px" %)((( | ||
635 | 30000 | ||
636 | OK | ||
637 | the interval is 30000ms = 30s | ||
638 | ))) | ||
639 | |(% style="width:155px" %)AT+TDC=60000|(% style="width:162px" %)Set Transmit Interval|(% style="width:177px" %)((( | ||
640 | OK | ||
641 | Set transmit interval to 60000ms = 60 seconds | ||
642 | ))) | ||
643 | |||
644 | ((( | ||
645 | (% style="color:#037691" %)**Downlink Command: 0x01** | ||
646 | ))) | ||
647 | |||
648 | ((( | ||
649 | ((( | ||
650 | Format: Command Code (0x01) followed by 3 bytes time value. | ||
651 | |||
652 | ((( | ||
653 | If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. | ||
654 | ))) | ||
655 | |||
656 | * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds | ||
657 | * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds | ||
658 | ))) | ||
659 | ))) | ||
660 | |||
661 | |||
662 | |||
663 | == 3.2 Enable PT100 channels == | ||
664 | |||
665 | |||
666 | Feature: Enable PT100 channels. Default only Enable Channel 1 | ||
667 | |||
668 | (% style="color:#037691" %)**AT Command: AT+ENPTCHNUM** | ||
669 | |||
670 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:494px" %) | ||
671 | |=(% style="width: 164px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 254px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 76px;background-color:#4F81BD;color:white" %)**Response** | ||
672 | |(% style="width:164px" %)AT+ENPTCHNUM=?|(% style="width:254px" %)Get current ENPTCHNUM settings|(% colspan="1" rowspan="3" style="width:74px" %)((( | ||
673 | 1 | ||
674 | |||
675 | OK | ||
676 | ))) | ||
677 | |(% style="width:164px" %)AT+ ENPTCHNUM =1|(% colspan="1" style="width:254px" %)Enable channel 1 | ||
678 | |(% style="width:164px" %)AT+ ENPTCHNUM =2|(% colspan="1" style="width:254px" %)Enable channel 1 and 2 | ||
679 | |||
680 | (% style="color:#037691" %)**Downlink Command: 0xA1** | ||
681 | |||
682 | Total bytes: 2 bytes | ||
683 | |||
684 | Example: | ||
685 | |||
686 | * 0xA101: same as AT+ENPTCHNUM =1 | ||
687 | * 0xA102: same as AT+ENPTCHNUM =2 | ||
688 | |||
689 | == 3.3 Set External Sensor Mode == | ||
690 | |||
691 | |||
692 | ((( | ||
693 | Feature: Change External Sensor Mode. | ||
694 | ))) | ||
695 | |||
696 | ((( | ||
697 | (% style="color:#037691" %)**Downlink Command: AT+EXT** | ||
698 | ))) | ||
699 | |||
700 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:431px" %) | ||
701 | |=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 184px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**Response** | ||
702 | |(% style="width:155px" %)AT+EXT=?|(% style="width:180px" %)Get current EXT settings|(% colspan="1" rowspan="4" style="width:86px" %)((( | ||
703 | 1 | ||
704 | OK | ||
705 | ))) | ||
706 | |(% style="width:155px" %)AT+EXT=1|(% colspan="1" style="width:180px" %)Set EXT to 0b(0001) | ||
707 | |(% style="width:155px" %)AT+EXT=2|(% colspan="1" style="width:180px" %)Set EXT to 0b(0010) | ||
708 | |(% style="width:155px" %)AT+EXT=3|(% colspan="1" style="width:180px" %)Set EXT to 0b(0011) | ||
709 | |||
710 | (% style="color:#037691" %)**Downlink Command: 0xA2** | ||
711 | |||
712 | Total bytes: 2 bytes | ||
713 | |||
714 | Example: | ||
715 | |||
716 | * 0xA201: same as AT+EXT=1 | ||
717 | |||
718 | == 3.4 Quit AT Command == | ||
719 | |||
720 | |||
721 | Feature: Quit AT Command mode, so user need to input password again before use AT Commands. | ||
722 | |||
723 | (% style="color:#037691" %)**AT Command: AT+DISAT** | ||
724 | |||
725 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:446px" %) | ||
726 | |=(% style="width: 163px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 195px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 88px;background-color:#4F81BD;color:white" %)**Response** | ||
727 | |(% style="width:161px" %)AT+DISAT|(% style="width:193px" %)Quit AT Commands mode|(% style="width:87px" %)OK | ||
728 | |||
729 | (% style="color:#037691" %)**Downlink Command:** | ||
730 | |||
731 | No downlink command for this feature. | ||
732 | |||
733 | |||
734 | == 3.5 Set system time == | ||
735 | |||
736 | |||
737 | Feature: Set system time, unix format. [[See here for formmat detail.>>||anchor="H2.5.1A0UnixTimeStamp"]] | ||
738 | |||
739 | (% style="color:#037691" %)**AT Command:** | ||
740 | |||
741 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:506px" %) | ||
742 | |=(% style="width: 219px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 287px;background-color:#4F81BD;color:white" %)**Function** | ||
743 | |(% style="width:218px" %)AT+TIMESTAMP=1611104352|(% style="width:285px" %)((( | ||
744 | OK | ||
745 | Set System time to 2021-01-20 00:59:12 | ||
746 | ))) | ||
747 | |||
748 | (% style="color:#037691" %)**Downlink Command:** | ||
749 | |||
750 | 0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 | ||
751 | |||
752 | |||
753 | == 3.6 Set Time Sync Mode == | ||
754 | |||
755 | |||
756 | Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply this command. | ||
757 | |||
758 | SYNCMOD is set to 1 by default. If user want to set a different time from LoRaWAN server, user need to set this to 0. | ||
759 | |||
760 | |||
761 | (% style="color:#037691" %)**AT Command:** | ||
762 | |||
763 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:473px" %) | ||
764 | |=(% style="width: 159px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 314px;background-color:#4F81BD;color:white" %)**Function** | ||
765 | |(% style="width:157px" %)AT+SYNCMOD=1|(% style="width:313px" %)Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) | ||
766 | |||
767 | (% style="color:#037691" %)**Downlink Command:** | ||
768 | |||
769 | 0x28 01 ~/~/ Same As AT+SYNCMOD=1 | ||
770 | |||
771 | 0x28 00 ~/~/ Same As AT+SYNCMOD=0 | ||
772 | |||
773 | |||
774 | == 3.7 Set Time Sync Interval == | ||
775 | |||
776 | |||
777 | Feature: Define System time sync interval. SYNCTDC default value: 10 days. | ||
778 | |||
779 | (% style="color:#037691" %)**AT Command:** | ||
780 | |||
781 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:469px" %) | ||
782 | |=(% style="width: 163px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 306px;background-color:#4F81BD;color:white" %)**Function** | ||
783 | |AT+SYNCTDC=0x0A|(% style="width:306px" %)Set SYNCTDC to 10 (0x0A), so the sync time is 10 days. | ||
784 | |||
785 | (% style="color:#037691" %)**Downlink Command:** | ||
786 | |||
787 | 0x29 0A ~/~/ Same as AT+SYNCTDC=0x0A | ||
788 | |||
789 | |||
790 | == 3.8 Retrieve data == | ||
791 | |||
792 | |||
793 | Feature: Retrieval data for specify time slot. | ||
794 | |||
795 | (% style="color:#037691" %)**AT Command**(%%)**:** | ||
796 | |||
797 | No AT Command, only valid for downlink command. | ||
798 | |||
799 | |||
800 | (% style="color:#037691" %)**Downlink Command:** | ||
801 | |||
802 | [[See Poll Sensor Value>>||anchor="H2.5.3A0Pollsensorvalue"]]. | ||
803 | |||
804 | |||
805 | == 3.9 Enable Alarm mode == | ||
806 | |||
807 | |||
808 | Feature: Enable Alarm Mode. | ||
809 | |||
810 | (% style="color:#037691" %)**AT Command: AT_WMOD** | ||
811 | |||
812 | Total bytes: 2 | ||
813 | |||
814 | Example: | ||
815 | |||
816 | 0xA500: AT+WMOD=0(default) | ||
817 | |||
818 | 0xA501: AT+WMOD=1(alarm mode) | ||
819 | |||
820 | |||
821 | (% style="color:#037691" %)**Downlink Command:** | ||
822 | |||
823 | [[See Poll Sensor Value>>||anchor="H2.5.3A0Pollsensorvalue"]]. | ||
824 | |||
825 | |||
826 | == 3.10 Alarm check time == | ||
827 | |||
828 | |||
829 | Feature: The time interval to check sensor value for Alarm. | ||
830 | |||
831 | (% style="color:#037691" %)**AT Command: AT+CITEMP** | ||
832 | |||
833 | Total bytes: 3 | ||
834 | |||
835 | Example: | ||
836 | |||
837 | 0xA60001: AT+CITEMP=1(default) | ||
838 | |||
839 | Set collection interval in 1min,only in alarm mode | ||
840 | |||
841 | |||
842 | (% style="color:#037691" %)**Downlink Command:** | ||
843 | |||
844 | [[See Poll Sensor Value>>||anchor="H2.5.3A0Pollsensorvalue"]]. | ||
845 | |||
846 | |||
847 | == 3.11 Set Alarm Threshold == | ||
848 | |||
849 | |||
850 | Feature: Set Alarm Threshold. | ||
851 | |||
852 | (% style="color:#037691" %)**AT Command: AT+ARTEMP** | ||
853 | |||
854 | Total bytes: 9 Unit: ℃ | ||
855 | |||
856 | Example: | ||
857 | |||
858 | A7FF380320FF380320 | ||
859 | |||
860 | AT+ARTEMP=-200,800,-200,800 | ||
861 | |||
862 | |||
863 | A7000A0064000A0065 | ||
864 | |||
865 | AT+ARTEMP=10,100,10,101 | ||
866 | |||
867 | Channel 1 operating temp:10~~100 | ||
868 | |||
869 | Channel 2 operating temp:10~~101 | ||
870 | |||
871 | |||
872 | (% style="color:#037691" %)**Downlink Command:** | ||
873 | |||
874 | [[See Poll Sensor Value>>||anchor="H2.5.3A0Pollsensorvalue"]]. | ||
875 | |||
876 | |||
877 | == 3.12 Set Calibrate Value == | ||
878 | |||
879 | |||
880 | Feature: Set Calibrate value for PT100 cable. Detail of use of this command please see [[connect to a customized PT100 Probe>>||anchor="H6.2A0HowtoconnectacustomizedPT100cable3F"]]. | ||
881 | |||
882 | (% style="color:#037691" %)**AT Command: AT+RCABLE** | ||
883 | |||
884 | Total bytes: 5 | ||
885 | |||
886 | Example: | ||
887 | |||
888 | AT+RCABLE=296,300 | ||
889 | |||
890 | Channel 1 rcable=0x0128/1000=0.296R | ||
891 | |||
892 | Channel 2 rcable=0x012C/1000=0.300R | ||
893 | |||
894 | |||
895 | (% style="color:#037691" %)**Downlink Command:** | ||
896 | |||
897 | 0xA80128012C ~-~-> Same as AT+RCABLE=296,300 | ||
898 | |||
899 | |||
900 | == 3.13 Poll Calibrate Value == | ||
901 | |||
902 | |||
903 | Feature: Poll Calibrate value. LTC2 will reply with this command send an uplink to server. | ||
904 | |||
905 | (% style="color:#037691" %)**AT Command: No AT Command.** | ||
906 | |||
907 | |||
908 | (% style="color:#037691" %)**Downlink Command:** | ||
909 | |||
910 | Example: A901 | ||
911 | |||
912 | End nodes will send racable config to server | ||
913 | |||
914 | Like uplink payload: 010128012C | ||
915 | |||
916 | |||
917 | == 3.14 Print data entries base on page == | ||
918 | |||
919 | |||
920 | Feature: Print the sector data from start page to stop page (max is 400 pages). | ||
921 | |||
922 | (% style="color:#037691" %)**AT Command: AT+PDTA** | ||
923 | |||
924 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
925 | |(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:353px" %)**Response** | ||
926 | |(% style="width:156px" %)((( | ||
927 | |||
928 | |||
929 | AT+PDTA=259,260 | ||
930 | |||
931 | Print page 259 to 260 | ||
932 | |||
933 | |||
934 | )))|(% style="width:362px" %)((( | ||
935 | Stop Tx events when read sensor data | ||
936 | |||
937 | 8021600 systime= 2021/5/16 00:17:44 1 3684 Temp1=28.71 Temp2=-327.67 | ||
938 | |||
939 | 8021610 systime= 2021/5/16 00:37:44 1 3685 Temp1=28.78 Temp2=-327.67 | ||
940 | |||
941 | 8021620 systime= 2021/5/16 00:57:44 1 3684 Temp1=28.83 Temp2=-327.67 | ||
942 | |||
943 | 8021630 systime= 2021/5/16 01:17:44 1 3684 Temp1=28.89 Temp2=-327.67 | ||
944 | |||
945 | 8021640 systime= 2021/5/16 01:37:44 1 3681 Temp1=28.79 Temp2=-327.67 | ||
946 | |||
947 | 8021650 systime= 2021/5/16 01:57:44 1 3681 Temp1=28.67 Temp2=-327.67 | ||
948 | |||
949 | 8021660 systime= 2021/5/16 02:17:44 1 3684 Temp1=28.60 Temp2=-327.67 | ||
950 | |||
951 | 8021670 systime= 2021/5/16 02:37:44 1 3684 Temp1=28.56 Temp2=-327.67 | ||
952 | |||
953 | 8021680 systime= 2021/5/16 02:57:44 1 3684 Temp1=28.52 Temp2=-327.67 | ||
954 | |||
955 | 8021690 systime= 2021/5/16 03:17:44 1 3684 Temp1=28.51 Temp2=-327.67 | ||
956 | |||
957 | 80216A0 systime= 2021/5/16 03:37:44 1 3684 Temp1=28.50 Temp2=-327.67 | ||
958 | |||
959 | 80216B0 systime= 2021/5/16 03:57:44 1 3684 Temp1=28.46 Temp2=-327.67 | ||
960 | |||
961 | 80216C0 systime= 2021/5/16 04:17:44 1 3684 Temp1=28.40 Temp2=-327.67 | ||
962 | |||
963 | 80216D0 systime= 2021/5/16 04:37:44 1 3683 Temp1=28.37 Temp2=-327.67 | ||
964 | |||
965 | 80216E0 systime= 2021/5/16 04:57:44 1 3684 Temp1=28.36 Temp2=-327.67 | ||
966 | |||
967 | 80216F0 systime= 2021/5/16 05:17:44 1 3685 Temp1=28.32 Temp2=-327.67 | ||
968 | |||
969 | Start Tx events | ||
970 | |||
971 | OK | ||
972 | ))) | ||
973 | |||
974 | (% style="color:#037691" %)**Downlink Command:** | ||
975 | |||
976 | No downlink commands for feature | ||
977 | |||
978 | |||
979 | == 3.15 Print last few data entries == | ||
980 | |||
981 | |||
982 | Feature: Print the last few data entries | ||
983 | |||
984 | (% style="color:#037691" %)**AT Command: AT+PLDTA** | ||
985 | |||
986 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
987 | |(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:354px" %)**Response** | ||
988 | |((( | ||
989 | AT+PLDTA=5 | ||
990 | |||
991 | Print last 5 entries | ||
992 | )))|(% style="width:278px" %)((( | ||
993 | Stop Tx events when read sensor data | ||
994 | |||
995 | 1 systime= 2021/5/17 03:12:37 1 3681 Temp1=26.01 Temp2=-327.67 | ||
996 | |||
997 | 2 systime= 2021/5/17 03:17:37 1 3682 Temp1=26.02 Temp2=-327.67 | ||
998 | |||
999 | 3 systime= 2021/5/17 03:22:37 1 3687 Temp1=25.94 Temp2=-327.67 | ||
1000 | |||
1001 | 4 systime= 2021/5/17 03:27:37 1 3684 Temp1=25.95 Temp2=-327.67 | ||
1002 | |||
1003 | 5 systime= 2021/5/17 03:32:37 1 3684 Temp1=26.20 Temp2=-327.67 | ||
1004 | |||
1005 | Start Tx events | ||
1006 | |||
1007 | OK | ||
1008 | ))) | ||
1009 | |||
1010 | (% style="color:#037691" %)**Downlink Command:** | ||
1011 | |||
1012 | No downlink commands for feature | ||
1013 | |||
1014 | |||
1015 | == 3.16 Clear Flash Record == | ||
1016 | |||
1017 | |||
1018 | Feature: Clear flash storage for data log feature. | ||
1019 | |||
1020 | (% style="color:#037691" %)**AT Command: AT+CLRDTA** | ||
1021 | |||
1022 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
1023 | |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 216px;background-color:#4F81BD;color:white" %)**Response** | ||
1024 | |(% style="width:157px" %)AT+CLRDTA|(% style="width:136px" %)Clear date record|(% style="width:213px" %)((( | ||
1025 | Clear all stored sensor data… | ||
1026 | OK | ||
1027 | ))) | ||
1028 | |||
1029 | (% style="color:#037691" %)**Downlink Command: 0xA3** | ||
1030 | |||
1031 | * Example: 0xA301 ~/~/ Same as AT+CLRDTA | ||
1032 | |||
1033 | = 4. Battery & Power Consumption = | ||
1034 | |||
1035 | |||
1036 | LTC2 uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. | ||
1037 | |||
1038 | [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . | ||
1039 | |||
1040 | |||
1041 | = 5. Firmware Change Log and Upload Firmware = | ||
1042 | |||
1043 | |||
1044 | ((( | ||
1045 | User can use ST-Link v2 to upgrade firmware into LTC2 for bug fix or new features. The hardware connection for upgrade firmware is as below: | ||
1046 | ))) | ||
1047 | |||
1048 | ((( | ||
1049 | |||
1050 | ))) | ||
1051 | |||
1052 | ((( | ||
1053 | **Connection:** | ||
1054 | ))) | ||
1055 | |||
1056 | * ((( | ||
1057 | (% style="background-color:yellow" %)**ST-LINK v2 GND <~-~-> LTC2 GND** | ||
1058 | ))) | ||
1059 | * ((( | ||
1060 | (% style="background-color:yellow" %)**ST-LINK v2 RESET <~-~-> LTC2 NRST** | ||
1061 | ))) | ||
1062 | * ((( | ||
1063 | (% style="background-color:yellow" %)**ST-LINK v2 SWCLK <~-~-> LTC2 SWCLK** | ||
1064 | ))) | ||
1065 | * ((( | ||
1066 | (% style="background-color:yellow" %)**ST-LINK v2 SWDIO <~-~-> LTC2 SWDIO** | ||
1067 | ))) | ||
1068 | * ((( | ||
1069 | (% style="background-color:yellow" %)**LTC2 power must be on. ** | ||
1070 | ))) | ||
1071 | |||
1072 | ((( | ||
1073 | |||
1074 | |||
1075 | **Firmware Location and Change Log: **[[https:~~/~~/www.dropbox.com/sh/8ghh32xavvsr98l/AADg-NbTnq80Re4Bcj7uekJFa?dl=0>>https://www.dropbox.com/sh/8ghh32xavvsr98l/AADg-NbTnq80Re4Bcj7uekJFa?dl=0]] | ||
1076 | |||
1077 | **Firmware Upgrade Method:**[[https:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H4.2.FirmwareupgradeusingSTM32Cubeprogramer>>https://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H4.2.FirmwareupgradeusingSTM32Cubeprogramer||style="background-color: rgb(255, 255, 255);"]] | ||
1078 | ))) | ||
1079 | |||
1080 | = 6. FAQ = | ||
1081 | |||
1082 | == 6.1 How to use AT Command to configure LTC2 == | ||
1083 | |||
1084 | |||
1085 | LTC2 supports AT Command set. User can use a USB to TTL adapter plus the Program Cable to connect to LTC2 for using AT command, as below. | ||
1086 | |||
1087 | |||
1088 | **Connection:** | ||
1089 | |||
1090 | * (% style="background-color:yellow" %)**USB to TTL GND <~-~-> LTC2 GND** | ||
1091 | |||
1092 | * (% style="background-color:yellow" %)**USB to TTL RXD <~-~-> LTC2 TXD** | ||
1093 | |||
1094 | * (% style="background-color:yellow" %)**USB to TTL TXD <~-~-> LTC2 RXD** | ||
1095 | |||
1096 | ((( | ||
1097 | In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console for LTC2. The AT commands are disable by default and need to enter password (default: (% style="color:green" %)**123456**)(%%) to active it. Timeout to input AT Command is 5 min, after 5-minute, user need to input password again. User can use AT+DISAT command to disable AT command before timeout. | ||
1098 | ))) | ||
1099 | |||
1100 | |||
1101 | ((( | ||
1102 | Input password and ATZ to activate LTC2,As shown below: | ||
1103 | ))) | ||
1104 | |||
1105 | [[image:image-20220620151601-13.png||height="393" width="1042"]] | ||
1106 | |||
1107 | |||
1108 | == 6.2 How to connect a customized PT100 cable? == | ||
1109 | |||
1110 | |||
1111 | ((( | ||
1112 | The LTC2 has two channels means it can connect 2 x PT100 cables. Besides use the PT100 cables provided by Dragino, User can connect their PT100 probes. When connect to a user PT100 probe, we recommend that user do a calibration to eliminate the effect from the cables so to get the best accuracy. Below is the step for calibrate on a (% style="color:blue" %)**three wire PT100** (%%)probes. There is no step for 2 wire probe calibration at the moment. | ||
1113 | ))) | ||
1114 | |||
1115 | |||
1116 | ((( | ||
1117 | (% style="color:blue" %)**Step 1**(%%)**: **You need a multimeter can measure the accuracy of 0.001 ohm. We use Agilent 34401A digit multimeter. And will do test to make sure the multimeter accuracy before the measurement. Check the shortcut resistance of the multimeter. | ||
1118 | ))) | ||
1119 | |||
1120 | [[image:image-20220620152115-14.jpeg||height="548" width="763"]] | ||
1121 | |||
1122 | We know that the Multimeter has a shortcut resistance 0.002 ohm. | ||
1123 | |||
1124 | |||
1125 | (% style="color:blue" %)**Step 2**(%%): Measure the resistance between the two shorted wires of PT100 Probe. | ||
1126 | |||
1127 | |||
1128 | [[image:image-20220620152115-15.jpeg||height="791" width="704"]] | ||
1129 | |||
1130 | As example, in this step, we check the shorted wire (both red) with 0.594 ohm, So we know that each wire of PT100 has (0.594-0.002)/2=0.296R (Where 0.002 is the value we got from step 1) . | ||
1131 | |||
1132 | |||
1133 | (% style="color:blue" %)**Step 3**(%%): Run Calibrate Command. | ||
1134 | |||
1135 | Run this command to both channels to use 0.296R calibrate resistance. | ||
1136 | |||
1137 | (% style="color:red" %)**AT+RCABLE=296,0** (%%) ~-~-> Calibrate Channel 1 with 0.296R | ||
1138 | |||
1139 | |||
1140 | Or use LoRaWAN downlink command (0xA8 Code) to set: 0xA801280000 | ||
1141 | |||
1142 | User can use 0xA9 downlink command to poll the current calibration value. | ||
1143 | |||
1144 | |||
1145 | (% style="color:blue" %)**Step 4**(%%)**: **Connect the PT100 to LTC2 | ||
1146 | |||
1147 | [[image:image-20220620152115-16.png]] | ||
1148 | |||
1149 | |||
1150 | For a 3 wire PT100, there are two wire are shortcut, for example, as per above photo Channel 1, there are two red wire , which are shortcut in PT100, connect them as the photo. The 3^^rd^^ wire (white wire ) connect to the left pin of Channel -1. | ||
1151 | |||
1152 | |||
1153 | == 6.3 What is the frequency range of LTC2 LoRa part? == | ||
1154 | |||
1155 | |||
1156 | Different LTC2 version supports different frequency range, below is the table for the working frequency and recommend bands for each model: | ||
1157 | |||
1158 | [[image:image-20230427172553-5.jpeg||height="146" width="639"]] | ||
1159 | |||
1160 | |||
1161 | == 6.4 How to change the LoRa Frequency Bands/Region == | ||
1162 | |||
1163 | |||
1164 | You can follow the instructions for [[how to upgrade image>>||anchor="H5.A0FirmwareChangeLogandUploadFirmware"]]. | ||
1165 | When downloading the images, choose the required image file for download. | ||
1166 | |||
1167 | (% style="display:none" %) (%%) | ||
1168 | |||
1169 | |||
1170 | == 6.5 How can I read sensor data without LoRaWAN? For Calibration Purpose == | ||
1171 | |||
1172 | Some clients need to calibrate the sensor value in calibration Lab. In such case, Reading the data without LoRaWAN network is more convenient. To achieve this, use can use a USB-TTL Adapter to connect the LTC2 Motherboard's UART pins while still have the probe connected. See below. | ||
1173 | |||
1174 | [[image:image-20240417153156-3.jpeg||height="636" width="930"]] | ||
1175 | |||
1176 | |||
1177 | After there is UART Connection, reset the node. | ||
1178 | |||
1179 | Example output: | ||
1180 | |||
1181 | [[image:image-20240312141207-3.png||height="527" width="930"]] | ||
1182 | |||
1183 | |||
1184 | == 6.6 LTC2 supported with 3-wire PT100 == | ||
1185 | |||
1186 | The LTC2 uses the bridge method to measure temperature and supports the use of 3-wire PT100. | ||
1187 | |||
1188 | The difference between the wiring mode of three-wire PT100 and four-wire PT100 and the difference in the detection principle: | ||
1189 | |||
1190 | * Three wire PT100 adopts bridge method to measure data, and the relationship between the output temperature value and the output value of analog quantity. | ||
1191 | * The four-wire PT100 has no bridge, is sent by constant current source, voltmeter measurement, and finally gives the measured resistance value. | ||
1192 | |||
1193 | [[image:image-20240417145507-1.jpeg||height="234" width="522"]] | ||
1194 | |||
1195 | [[image:image-20240417145520-2.jpeg||height="182" width="523"]] | ||
1196 | |||
1197 | |||
1198 | **Note:** **2-wire PT100, current loop and voltage measurement loop combined in one, poor accuracy, not discussed.** | ||
1199 | |||
1200 | |||
1201 | |||
1202 | = 7. Trouble Shooting = | ||
1203 | |||
1204 | == 7.1 AT Command input doesn't work == | ||
1205 | |||
1206 | |||
1207 | In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string. | ||
1208 | |||
1209 | |||
1210 | = 8. Order Info = | ||
1211 | |||
1212 | |||
1213 | Part Number **:** (% style="color:blue" %)**LTC2-XXX-YYY** | ||
1214 | |||
1215 | (% style="color:#0000ff" %)**XXX**(%%)**: **Probe Version | ||
1216 | |||
1217 | * (% style="color:red" %)**SI**(%%): Standard IP68 probe x 1 | ||
1218 | * (% style="color:red" %)**LT**(%%): Low Temperature probe x 1 | ||
1219 | * (% style="color:red" %)**HT**(%%): High Temperature probe x 1 | ||
1220 | * (% style="color:red" %)**FSA**(%%): Food Safety probe x 1 | ||
1221 | * (% style="color:red" %)**FT**(%%): Flat Type probe x 1 | ||
1222 | * (% style="color:red" %)**NA**(%%): No probe | ||
1223 | |||
1224 | (% style="color:#0000ff" %)**YYY**(%%)**: **The default frequency band | ||
1225 | |||
1226 | * (% style="color:red" %)**AS923 **(%%)**:** LoRaWAN AS923 band | ||
1227 | * (% style="color:red" %)**AU915 **(%%)**:** LoRaWAN AU915 band | ||
1228 | * (% style="color:red" %)**EU433 **(%%)**:** LoRaWAN EU433 band | ||
1229 | * (% style="color:red" %)**EU868 **(%%)**:** LoRaWAN EU868 band | ||
1230 | * (% style="color:red" %)**KR920 **(%%)**:** LoRaWAN KR920 band | ||
1231 | * (% style="color:red" %)**US915 **(%%)**:** LoRaWAN US915 band | ||
1232 | * (% style="color:red" %)**IN865 **(%%)**:** LoRaWAN IN865 band | ||
1233 | * (% style="color:red" %)**CN470 **(%%)**:** LoRaWAN CN470 band | ||
1234 | |||
1235 | = 9. Packing Info = | ||
1236 | |||
1237 | |||
1238 | **Package Includes**: | ||
1239 | |||
1240 | * LTC2 LoRaWAN Temperature Transmitter x 1 | ||
1241 | |||
1242 | **Dimension and weight**: | ||
1243 | |||
1244 | * Device Size: cm | ||
1245 | * Device Weight: g | ||
1246 | * Package Size / pcs : cm | ||
1247 | * Weight / pcs : g | ||
1248 | |||
1249 | = 10. Support = | ||
1250 | |||
1251 | |||
1252 | * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. | ||
1253 | * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]. | ||
1254 | |||
1255 |