Show last authors
1
2
3 (% style="text-align:center" %)
4 [[image:D2x.jpg||height="390" width="1568"]]
5
6 (% style="display:none" %)
7
8 [[image:image-20240104114501-8.png||height="363" width="279"]] [[image:image-20240104114554-9.png||height="364" width="293"]] [[image:image-20240104114721-11.png||height="380" width="289"]] [[image:image-20240104114813-12.png||height="358" width="372"]]
9
10 [[image:image-20240104113457-1.png||height="349" width="289"]] (% style="display:none" %) (%%) [[image:image-20240104113523-2.png||height="346" width="316"]] [[image:image-20240104113548-3.png||height="359" width="330"]] (% style="display:none" %) (%%) [[image:image-20240104113631-5.png||height="365" width="400"]]
11
12 (% style="display:none" %) (%%)
13
14 (% style="display:none" %) (%%)
15
16
17 **Table of Contents:**
18
19 {{toc/}}
20
21
22
23
24
25
26 = 1. Introduction =
27
28 == 1.1 What is D2x-LB LoRaWAN Temperature Sensor ==
29
30
31 The Dragino D2x-LB is a (% style="color:blue" %)**LoRaWAN Temperature Sensor**(%%) for Internet of Things solution. D2x-LB has 1 ~~ 3 temperature probes. D2x-LB will convert the Temperature reading to LoRaWAN wireless data and send to IoT platform via LoRaWAN gateway.
32
33 The LoRa wireless technology used in D2x-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
34
35 The temperature sensor used in D2x-LB can (% style="color:blue" %)**measure -55°C ~~ 125°C with accuracy ±0.5°C (max ±2.0 °C)**(%%).
36
37 D2x-LB supports (% style="color:blue" %)**temperature alarm feature**(%%), user can set temperature alarm for instant notice. D2x-LB supports Datalog feature, it can save the data when there is no LoRaWAN network and uplink when network recover.
38
39 D2x-LB has max 3 probes which measure maximum 3 temperature points.
40
41 D2x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
42
43 D2x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
44
45 Each D2x-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
46
47
48 == 1.2 ​Features ==
49
50
51 * LoRaWAN 1.0.3 Class A
52 * Ultra-low power consumption
53 * 1 ~~ 3 External Temperature Probes
54 * Measure range -55°C ~~ 125°C
55 * Temperature alarm
56 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
57 * Support Bluetooth v5.1 and LoRaWAN remote configure
58 * Support wireless OTA update firmware
59 * Uplink on periodically
60 * Downlink to change configure
61 * 8500mAh Battery for long term use
62
63 == 1.3 Specification ==
64
65
66 (% style="color:#037691" %)**Common DC Characteristics:**
67
68 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
69 * Operating Temperature: -40 ~~ 85°C
70
71 (% style="color:#037691" %)**Temperature Sensor:**
72
73 * Dallas DS18B20
74 * Range: -55 to + 125°C
75 * Accuracy ±0.5°C (max ±2.0 °C).
76
77 (% style="color:#037691" %)**LoRa Spec:**
78
79 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
80 * Max +22 dBm constant RF output vs.
81 * RX sensitivity: down to -139 dBm.
82 * Excellent blocking immunity
83
84 (% style="color:#037691" %)**Battery:**
85
86 * Li/SOCI2 un-chargeable battery
87 * Capacity: 8500mAh
88 * Self-Discharge: <1% / Year @ 25°C
89 * Max continuously current: 130mA
90 * Max boost current: 2A, 1 second
91
92 (% style="color:#037691" %)**Power Consumption**
93
94 * Sleep Mode: 5uA @ 3.3v
95 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
96
97 == 1.4 Sleep mode and working mode ==
98
99
100 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
101
102 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
103
104
105 == 1.5 Button & LEDs ==
106
107
108 [[image:1675071855856-879.png]]
109
110
111 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
112 |=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
113 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
114 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
115 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
116 )))
117 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
118 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
119 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
120 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
121 )))
122 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means D2x-LB is in Deep Sleep Mode.
123
124 == 1.6 BLE connection ==
125
126
127 D2x-LB support BLE remote configure.
128
129
130 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
131
132 * Press button to send an uplink
133 * Press button to active device.
134 * Device Power on or reset.
135
136 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
137
138
139 == 1.7 Pin Definitions ==
140
141 [[image:http://8.211.40.43/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/WebHome/image-20230610163213-1.png?width=699&height=404&rev=1.1||alt="image-20230610163213-1.png"]]
142
143
144 == 1.8 Hardware Variant ==
145
146
147 (% border="1" cellspacing="5" style="width:510px" %)
148 |=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 218px;background-color:#D9E2F3;color:#0070C0" %)Probe Info
149 |(% style="width:102px" %)D20-LB|(% style="width:190px" %)(((
150 (% style="text-align:center" %)
151 [[image:image-20230526153320-2.jpeg]]
152 )))|(% style="width:297px" %)(((
153 1 x DS28B20 Probe
154
155 Cable Length : 2 meters
156
157
158 )))
159 |(% style="width:102px" %)D20S-LB|(% style="width:190px" %)(((
160 (% style="text-align:center" %)
161 [[image:image-20230526150859-1.jpeg]]
162 )))|(% style="width:297px" %)(((
163 1 x DS28B20 Probe (Suitable for bury in soil)
164
165 Material: TPE, Cable Length: 2meters
166 )))
167 |(% style="width:102px" %)D22-LB|(% style="width:190px" %)(((
168 (% style="text-align:center" %)
169 [[image:image-20230526153345-3.jpeg]]
170 )))|(% style="width:297px" %)(((
171 2 x DS28B20 Probes
172
173 Cable lengths total 1.5meters per probe
174
175 Cable Drawing: [[See This Link>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LSN50v2-D20/Cable_Drawing/&file=CAB0-35IC-K21G-210811.pdf]]
176 )))
177 |(% style="width:102px" %)(((
178 (((
179 D23-LB
180 )))
181
182 (((
183
184 )))
185 )))|(% style="width:190px" %)(((
186 (% style="text-align:center" %)
187 [[image:image-20230526153417-4.jpeg]]
188 )))|(% style="width:297px" %)(((
189 3 x DS28B20 Probes
190
191 Cable lengths total 1.5meters per probe
192
193 Cable Drawing: [[See This Link>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LSN50v2-D20/Cable_Drawing/&file=CAB0-35IC-K31G-210811.pdf]]
194 )))
195
196 (% style="display:none" %)
197
198
199
200 == 1.9 Mechanical ==
201
202
203 [[image:1675143884058-338.png]]
204
205
206 [[image:1675143899218-599.png]]
207
208
209 [[image:1675143909447-639.png]]
210
211
212 = 2. Configure D2x-LB to connect to LoRaWAN network =
213
214 == 2.1 How it works ==
215
216
217 The D2x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the D2x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
218
219
220 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
221
222
223 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
224
225 The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
226
227
228 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from D2x-LB.
229
230 Each D2x-LB is shipped with a sticker with the default device EUI as below:
231
232 [[image:image-20230426084024-1.png||alt="图片-20230426084024-1.png" height="236" width="508"]]
233
234
235 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
236
237
238 (% style="color:blue" %)**Register the device**
239
240 [[image:1675144099263-405.png]]
241
242
243 (% style="color:blue" %)**Add APP EUI and DEV EUI**
244
245 [[image:1675144117571-832.png]]
246
247
248 (% style="color:blue" %)**Add APP EUI in the application**
249
250
251 [[image:1675144143021-195.png]]
252
253
254 (% style="color:blue" %)**Add APP KEY**
255
256 [[image:1675144157838-392.png]]
257
258 (% style="color:blue" %)**Step 2:**(%%) Activate on D2x-LB
259
260
261 Press the button for 5 seconds to activate the D2x-LB.
262
263 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
264
265 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
266
267
268 == 2.3 ​Uplink Payload ==
269
270 === 2.3.1 Device Status, FPORT~=5 ===
271
272
273 Users can use the downlink command(**0x26 01**) to ask D2x-LB to send device configure detail, include device configure status. D2x-LB will uplink a payload via FPort=5 to server.
274
275 The Payload format is as below.
276
277 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
278 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
279 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
280 |(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
281
282 Example parse in TTNv3
283
284 [[image:image-20230524160021-1.png||height="149" width="1193"]]
285
286
287 (% style="color:#037691" %)**Sensor Model**(%%): For D2x-LB, this value is 0x19
288
289 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
290
291 (% style="color:#037691" %)**Frequency Band**:
292
293 0x01: EU868
294
295 0x02: US915
296
297 0x03: IN865
298
299 0x04: AU915
300
301 0x05: KZ865
302
303 0x06: RU864
304
305 0x07: AS923
306
307 0x08: AS923-1
308
309 0x09: AS923-2
310
311 0x0a: AS923-3
312
313 0x0b: CN470
314
315 0x0c: EU433
316
317 0x0d: KR920
318
319 0x0e: MA869
320
321
322 (% style="color:#037691" %)**Sub-Band**:
323
324 AU915 and US915:value 0x00 ~~ 0x08
325
326 CN470: value 0x0B ~~ 0x0C
327
328 Other Bands: Always 0x00
329
330
331 (% style="color:#037691" %)**Battery Info**:
332
333 Check the battery voltage.
334
335 Ex1: 0x0B45 = 2885mV
336
337 Ex2: 0x0B49 = 2889mV
338
339
340 === 2.3.2  Sensor Data. FPORT~=2 ===
341
342
343 D2x-LB will uplink below payload via FPORT=2 after Joined LoRaWAN Network.
344
345 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:520px" %)
346 |=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
347 **Size(bytes)**
348 )))|=(% style="width: 42px; background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 118px; background-color:#D9E2F3;color:#0070C0;" %)2|=(% style="width: 42px; background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 118px; background-color:#D9E2F3;color:#0070C0" %)1|=(% style="width: 70px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px; background-color:#D9E2F3;color:#0070C0" %)2
349 |(% style="width:65px" %)**Value**|(% style="width:66px" %)(((
350 Battery
351 )))|(% style="width:108px" %)(((
352 Temp_ Red or Temp _White
353 )))|(% style="width:62px" %)(((
354 ignore
355 )))|(% style="width:106px" %)(((
356 Alarm Flag & MOD& Level of PA8
357 )))|(% style="width:100px" %)(((
358 Temp_White
359 )))|(% style="width:95px" %)(((
360 Temp_Black
361
362
363 )))
364
365 **Payload per each model.**
366
367 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220916152530-2.png?rev=1.1||alt="图片-20220916152530-2.png" height="240" width="901"]]
368
369
370 [[image:image-20230524160233-2.png||height="184" width="1173"]]
371
372
373 ==== (% style="color:blue" %)**Decode corresponding probe color:**(%%) ====
374
375 **D20:**
376
377 Red <~-~-> C1
378
379
380 **D22:**
381
382 White <~-~-> C1 , Red <~-~-> C2
383
384
385 **D23:**
386
387 White <~-~->C1  , Red <~-~-> C2  , Black <~-~-> C3
388
389
390
391 ==== (% style="color:blue" %)**Battery:**(%%) ====
392
393 Sensor Battery Level.
394
395 Ex1: 0x0B45 = 2885mV
396
397 Ex2: 0x0B49 = 2889mV
398
399
400
401 ==== (% style="color:blue" %)**Temperature RED or Temperature White :**(%%) ====
402
403
404 (% style="color:red" %)**This point to the Red probe in D20-LB or the probe of D22-LB/D23-LB White**
405
406 **Example**:
407
408 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
409
410 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
411
412 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
413
414
415
416 ==== (% style="color:blue" %)**Temperature White:**(%%) ====
417
418
419 (% style="color:red" %)**This point to the Red probe in D22-LB/D23-LB.**
420
421 (% style="color:red" %)**If it is D20-LB, the value is 0x7FFF, which is 327.67.**
422
423
424 **Example**:
425
426 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
427
428 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
429
430 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
431
432
433
434 ==== (% style="color:blue" %)**Temperature Black:**(%%) ====
435
436
437 (% style="color:red" %)**This point to the BLACK probe in D23-LB**
438
439 (% style="color:red" %)**If it is D20-LB/D22-LB, the value is 0x7FFF, which is 327.67.**
440
441
442 **Example**:
443
444 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
445
446 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
447
448 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
449
450
451
452 ==== (% style="color:blue" %)**Alarm Flag & MOD & Level of PA8:**(%%) ====
453
454
455 **Example:**
456
457 If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature exceed the alarm value or trigger an interrupt.
458
459 If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
460
461 If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
462
463 If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
464
465 If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
466
467 If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>url:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/#HPolltheAlarmsettings:]] for detail. 
468
469
470 == 2.4 Payload Decoder file ==
471
472
473 (((
474 In TTN, use can add a custom payload so it shows friendly. 
475 )))
476
477 (((
478 In the page **Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder** to add the decoder from: 
479
480 [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/D20-LB%26D20S-LB%26D22-LB%26D23-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/D20-LB%26D20S-LB%26D22-LB%26D23-LB]]
481
482
483 )))
484
485 == 2.5 Datalog Feature ==
486
487
488 Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, D2x-LB will store the reading for future retrieving purposes.
489
490
491 === 2.5.1 Ways to get datalog via LoRaWAN ===
492
493
494 Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], D2x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,D2x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
495
496 * a) D2x-LB will do an ACK check for data records sending to make sure every data arrive server.
497 * b) D2x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but D2x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if D2x-LB gets a ACK, D2x-LB will consider there is a network connection and resend all NONE-ACK Message.
498
499 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
500
501 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
502
503
504 === 2.5.2 Unix TimeStamp ===
505
506
507 D2x-LB uses Unix TimeStamp format based on
508
509 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
510
511 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
512
513 Below is the converter example
514
515 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
516
517 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
518
519
520 === 2.5.3 Set Device Time ===
521
522
523 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
524
525 Once D2x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to D2x-LB. If D2x-LB fails to get the time from the server, D2x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
526
527 (% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
528
529
530 === 2.5.4 Datalog Uplink payload  (FPORT~=3) ===
531
532
533 The Datalog poll reply uplink will use below payload format.
534
535 **Retrieval data payload:**
536
537 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:520px" %)
538 |=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
539 **Size(bytes)**
540 )))|=(% style="width: 62px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 62px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 118px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 118px; background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px; background-color:#D9E2F3;color:#0070C0" %)**4**
541 |(% style="width:93px" %)**Value**|(% style="width:54px" %)(((
542 Temp_Black
543 )))|(% style="width:54px" %)Temp_White|(% style="width:132px" %)Temp_ Red or Temp _White|(% style="width:158px" %)(((
544 Poll message flag & Alarm Flag& Level of PA8
545 )))|(% style="width:111px" %)Unix Time Stamp
546
547 **Poll message flag & Ext:**
548
549 [[image:image-20230524160709-3.png]]
550
551 (% style="color:blue" %)**No ACK Message**(%%):  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature)
552
553 (% style="color:blue" %)**Poll Message Flag**(%%): 1: This message is a poll message reply.
554
555 * Poll Message Flag is set to 1.
556
557 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
558
559 For example, in US915 band, the max payload for different DR is:
560
561 (% style="color:blue" %)**a) DR0:**(%%) max is 11 bytes so one entry of data
562
563 (% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
564
565 (% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data
566
567 (% style="color:blue" %)**d) DR3: **(%%)total payload includes 22 entries of data.
568
569 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
570
571
572 **Example:**
573
574 If D2x-LB has below data inside Flash:
575
576
577 [[image:image-20230524160736-4.png]]
578
579 If user sends below downlink command: 31646DBAA0646DBB5405
580
581 Where : Start time: 646DBAA0 = time 23/5/24 07:20:00
582
583 Stop time: 646DBB54= time 23/5/24 07:23:00
584
585
586 **D2x-LB will uplink this payload.**
587
588
589 [[image:image-20230524160755-5.png||height="368" width="1146"]]
590
591
592 (((
593 01 08 01 05 01 08 40 64 6D BA A7 01 09 01 05 01 09 40 64 6D BA B6 01 09 01 05 01 09 40 64 6D BA C6 01 09 01 05 01 09 41 64 6D BA DD 01 09 01 05 01 09 43 64 6D BB 1E 01 09 01 06 01 09 41 64 6D BB 33 01 09 01 06 01 0A 40 64 6D BB 45 01 09 01 06 01 09 40 64 6D BB 51
594 )))
595
596 (((
597 Where the first 11 bytes is for the first entry:
598 )))
599
600 (((
601 01 08 01 05 01 08 40 64 6D BA A7
602 )))
603
604 (((
605 **Temp_Black**=0x0108/10=26.4
606 )))
607
608 (((
609 **Temp_White**=0x0105/10=26.1
610
611 **Temp_Red or White**=0x0108/10=26.4
612 )))
613
614 (((
615 **poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
616 )))
617
618 (((
619 **Unix time** is 0x646DBAA7=1684912807s=23/5/24 07:20:07
620 )))
621
622
623 (% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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="单击并拖动以调整大小" %)的
624
625 == 2.6 Temperature Alarm Feature ==
626
627
628 D2x-LB work flow with Alarm feature.
629
630
631 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="图片-20220623090437-1.png"]]
632
633
634 == 2.7 Frequency Plans ==
635
636
637 The D2x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
638
639 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
640
641
642 == 2.8 ​Firmware Change Log ==
643
644
645 **Firmware download link:**
646
647 [[https:~~/~~/www.dropbox.com/sh/tcpq06yl7rxrgcz/AACpAC7cy-tnGPqn6T6SUDEaa?dl=0>>https://www.dropbox.com/sh/tcpq06yl7rxrgcz/AACpAC7cy-tnGPqn6T6SUDEaa?dl=0]]
648
649
650 = 3. Configure D2x-LB =
651
652 == 3.1 Configure Methods: ==
653
654
655 D2x-LB supports below configure method:
656
657 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
658 * AT Command via UART Connection : See [[Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
659 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
660
661 == 3.2 General Commands ==
662
663
664 These commands are to configure:
665
666 * General system settings like: uplink interval.
667 * LoRaWAN protocol & radio related command.
668
669 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
670
671 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
672
673
674 == 3.3 Commands special design for D2x-LB ==
675
676
677 These commands only valid for D2x-LB, as below:
678
679
680 === 3.3.1 Set Transmit Interval Time ===
681
682
683 Feature: Change LoRaWAN End Node Transmit Interval.
684
685 (% style="color:blue" %)**AT Command: AT+TDC**
686
687 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
688 |=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
689 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
690 30000
691 OK
692 the interval is 30000ms = 30s
693 )))
694 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
695 OK
696 Set transmit interval to 60000ms = 60 seconds
697 )))
698
699 (% style="color:blue" %)**Downlink Command: 0x01**
700
701 Format: Command Code (0x01) followed by 3 bytes time value.
702
703 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
704
705 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
706 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
707
708 === 3.3.2 Get Device Status ===
709
710
711 Send a LoRaWAN downlink to ask device send Alarm settings.
712
713 * (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
714
715 Sensor will upload Device Status via FPORT=5. See payload section for detail.
716
717
718 === 3.3.3 Set Alarm Thredhold ===
719
720
721 (% style="color:blue" %)**1.  Set for All Probes:**
722
723 (% style="color:#037691" %)**AT+18ALARM=min,max**
724
725 * When min=0, and max≠0, Alarm trigger when higher than max
726 * When min≠0, and max=0, Alarm trigger when lower than min
727 * When min≠0 and max≠0, Alarm trigger when higher than max or lower than min
728
729 **Example:**
730
731 AT+18ALARM=-10,30  ~/~/ Alarm when < -10 or higher than 30.
732
733
734 * (% style="color:blue" %)**Downlink Payload:**
735
736 0x(0B F6 1E)   ~/~/ Same as AT+18ALARM=-10,30
737
738 (note: 0x1E= 30, 0xF6 means: 0xF6-0x100 = -10)
739
740
741 (% style="color:blue" %)**2.  Set for Separate Probe:**
742
743 (% style="color:#037691" %)**AT+18ALARM=min,max,index**
744
745 Index:
746
747 * 1: Temperature_Red
748 * 2: Temperature_White
749 * 3: Temperature_Black
750
751 **Example:**
752
753 AT+18ALARM=-10,30,1   ~/~/ Alarm when temperature_red < -10 or higher than 30.
754
755
756 * (% style="color:blue" %)**Downlink Payload:**
757
758 0x(0B F6 1E 01)   ~/~/ Same as AT+18ALARM=-10,30,1
759
760 (note: 0x1E= 30, 0xF6 means: 0xF6-0x100 = -10)
761
762
763 === 3.3.4 Set Alarm Interval ===
764
765
766 The shortest time of two Alarm packet. (unit: min)
767
768 * (% style="color:blue" %)**AT Command:**
769
770 AT+ATDC=30  ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
771
772
773 * (% style="color:blue" %)**Downlink Payload:**
774
775 0x(0D 00 1E)     **~-~-->** Set AT+ATDC=0x 00 1E = 30 minutes
776
777
778 === 3.3.5 Get Alarm settings ===
779
780
781 Send a LoRaWAN downlink to ask device send Alarm settings.
782
783 * (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
784
785 **Example:**
786
787 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]]
788
789
790 **Explain:**
791
792 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
793
794 === 3.3.6 Set Interrupt Mode ===
795
796
797 Feature, Set Interrupt mode for PA8 of pin.
798
799 When AT+INTMOD=0 is set, PA8 is used as a digital input port.
800
801 (% style="color:blue" %)**AT Command: AT+INTMOD**
802
803 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
804 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 160px;background-color:#D9E2F3" %)**Response**
805 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
806 0
807 OK
808 the mode is 0 =Disable Interrupt
809 )))
810 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
811 Set Transmit Interval
812 0. (Disable Interrupt),
813 ~1. (Trigger by rising and falling edge)
814 2. (Trigger by falling edge)
815 3. (Trigger by rising edge)
816 )))|(% style="width:157px" %)OK
817
818 (% style="color:blue" %)**Downlink Command: 0x06**
819
820 Format: Command Code (0x06) followed by 3 bytes.
821
822 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
823
824 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
825 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
826
827 === 3.3.7 Set Power Output Duration ===
828
829
830 Control the output duration 5V . Before each sampling, device will
831
832 ~1. first enable the power output to external sensor,
833
834 2. keep it on as per duration, read sensor value and construct uplink payload
835
836 3. final, close the power output.
837
838 (% style="color:blue" %)**AT Command: AT+5VT**
839
840 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
841 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 160px;background-color:#D9E2F3" %)**Response**
842 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
843 OK
844 |(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
845
846 (% style="color:blue" %)**Downlink Command: 0x07**
847
848
849 Format: Command Code (0x07) followed by 2 bytes.
850
851 The first and second bytes are the time to turn on.
852
853 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
854 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
855
856 === 3.3.8 Multiple VDC collections in one uplink(Since firmware version 1.3.2) ===
857
858
859 Added AT+STDC command to collect the voltage of **VDC_INPUT** multiple times and upload it at one time.
860
861 (% style="color:blue" %)**AT Command: AT** **+STDC**
862
863 AT+STDC=aa,bb,bb
864
865 (% style="color:#037691" %)**aa:**(%%)
866 **0:** means disable this function and use TDC to send packets.
867 **1:** means enable this function, use the method of multiple acquisitions to send packets.
868 (% style="color:#037691" %)**bb:**(%%) Each collection interval (s), the value is 1~~65535
869 (% style="color:#037691" %)**cc:**(%%)** **the number of collection times, the value is 1~~120
870
871 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
872 |(% style="background-color:#d9e2f3; width:160px" %)**Command Example**|(% style="background-color:#d9e2f3; width:215px" %)**Function**|(% style="background-color:#d9e2f3" %)**Response**
873 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=?|(% style="background-color:#f2f2f2; width:215px" %)Get the mode of multiple acquisitions and one uplink.|(% style="background-color:#f2f2f2" %)1,10,18
874 OK
875 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=1,10,18|(% style="background-color:#f2f2f2; width:215px" %)Set the mode of multiple acquisitions and one uplink, collect once every 10 seconds, and report after 18 times.|(% style="background-color:#f2f2f2" %)(((
876 Attention:Take effect after ATZ
877
878 OK
879 )))
880 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=0, 0,0|(% style="background-color:#f2f2f2; width:215px" %)(((
881 Use the TDC interval to send packets.(default)
882
883
884 )))|(% style="background-color:#f2f2f2" %)(((
885 Attention:Take effect after ATZ
886
887 OK
888 )))
889
890 (% style="color:blue" %)**Downlink Command: 0xAE**
891
892 Format: Command Code (0x08) followed by 5 bytes.
893
894 * Example 1: Downlink Payload: AE 01 02 58 12** ~-~-->**  AT+STDC=1,600,18
895
896 = 4. Battery & Power Consumption =
897
898
899 D2x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
900
901 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
902
903
904 = 5. OTA firmware update =
905
906
907 User can change firmware D2x-LB to:
908
909 * Change Frequency band/ region.
910 * Update with new features.
911 * Fix bugs.
912
913 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/tcpq06yl7rxrgcz/AACpAC7cy-tnGPqn6T6SUDEaa?dl=0]]**
914
915 Methods to Update Firmware:
916
917 * (Recommanded way) OTA firmware update via wireless : **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
918 * Update through UART TTL interface : **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
919
920 = 6. FAQ =
921
922
923
924 = 7. Order Info =
925
926
927 Part Number: (% style="color:blue" %)**D20-LB-XX  / D20S-LB-xx(**(%%)** designed for used in Soil or Road(% style="color:blue" %))/D22-LB-XX / D23-LB-XX(%%)**
928
929 (% style="color:red" %)**XX**(%%): The default frequency band
930
931 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
932
933 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
934
935 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
936
937 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
938
939 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
940
941 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
942
943 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
944
945 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
946
947 = 8. ​Packing Info =
948
949
950 (% style="color:#037691" %)**Package Includes**:
951
952 * D2x-LB LoRaWAN Temperature Sensor
953
954 (% style="color:#037691" %)**Dimension and weight**:
955
956 * Device Size: cm
957
958 * Device Weight: g
959
960 * Package Size / pcs : cm
961
962 * Weight / pcs : g
963
964 = 9. Support =
965
966
967 * 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.
968
969 * 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.cc>>mailto:Support@dragino.cc]].
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0