Show last authors
1 (% style="text-align:center" %)
2 [[image:D2x.jpg]]
3
4
5
6
7 **Table of Contents:**
8
9 {{toc/}}
10
11
12
13
14
15
16 = 1. Introduction =
17
18 == 1.1 What is D2x-LB LoRaWAN Temperature Sensor ==
19
20
21 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.
22
23 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.
24
25 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)**(%%).
26
27 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.
28
29 D2x-LB has max 3 probes which measure maximum 3 temperature points.
30
31 D2x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
32
33 D2x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
34
35 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.
36
37
38 == 1.2 ​Features ==
39
40
41 * LoRaWAN 1.0.3 Class A
42 * Ultra-low power consumption
43 * 1 ~~ 3 External Temperature Probes
44 * Measure range -55°C ~~ 125°C
45 * Temperature alarm
46 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
47 * Support Bluetooth v5.1 and LoRaWAN remote configure
48 * Support wireless OTA update firmware
49 * Uplink on periodically
50 * Downlink to change configure
51 * 8500mAh Battery for long term use
52
53
54
55 == 1.3 Specification ==
56
57
58 (% style="color:#037691" %)**Common DC Characteristics:**
59
60 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
61 * Operating Temperature: -40 ~~ 85°C
62
63 (% style="color:#037691" %)**Temperature Sensor:**
64
65 * Dallas DS18B20
66 * Range: -55 to + 125°C
67 * Accuracy ±0.5°C (max ±2.0 °C).
68
69 (% style="color:#037691" %)**LoRa Spec:**
70
71 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
72 * Max +22 dBm constant RF output vs.
73 * RX sensitivity: down to -139 dBm.
74 * Excellent blocking immunity
75
76 (% style="color:#037691" %)**Battery:**
77
78 * Li/SOCI2 un-chargeable battery
79 * Capacity: 8500mAh
80 * Self-Discharge: <1% / Year @ 25°C
81 * Max continuously current: 130mA
82 * Max boost current: 2A, 1 second
83
84 (% style="color:#037691" %)**Power Consumption**
85
86 * Sleep Mode: 5uA @ 3.3v
87 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
88
89
90
91 == 1.4 Sleep mode and working mode ==
92
93
94 (% 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.
95
96 (% 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.
97
98
99 == 1.5 Button & LEDs ==
100
101
102 [[image:1675071855856-879.png]]
103
104
105 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
106 |=(% 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**
107 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
108 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
109 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
110 )))
111 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
112 (% 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.
113 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
114 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.
115 )))
116 |(% 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.
117
118
119
120 == 1.6 BLE connection ==
121
122
123 D2x-LB support BLE remote configure.
124
125
126 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:
127
128 * Press button to send an uplink
129 * Press button to active device.
130 * Device Power on or reset.
131
132 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
133
134
135 == 1.7 Pin Definitions ==
136
137 [[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"]]
138
139
140 == 1.8 Hardware Variant ==
141
142
143 (% border="1" cellspacing="5" style="width:510px" %)
144 |=(% 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
145 |(% style="width:102px" %)D20-LB|(% style="width:190px" %)(((
146 (% style="text-align:center" %)
147 [[image:image-20230526153320-2.jpeg]]
148 )))|(% style="width:297px" %)(((
149 1 x DS28B20 Probe
150
151 Cable Length : 2 meters
152
153
154 )))
155 |(% style="width:102px" %)D20S-LB|(% style="width:190px" %)(((
156 (% style="text-align:center" %)
157 [[image:image-20230526150859-1.jpeg]]
158 )))|(% style="width:297px" %)(((
159 1 x DS28B20 Probe (Suitable for bury in soil)
160
161 Material: TPE, Cable Length: 2meters
162 )))
163 |(% style="width:102px" %)D22-LB|(% style="width:190px" %)(((
164 (% style="text-align:center" %)
165 [[image:image-20230526153345-3.jpeg]]
166 )))|(% style="width:297px" %)(((
167 2 x DS28B20 Probes
168
169 Cable lengths total 1.5meters per probe
170
171 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]]
172 )))
173 |(% style="width:102px" %)(((
174 (((
175 D23-LB
176 )))
177
178 (((
179
180 )))
181 )))|(% style="width:190px" %)(((
182 (% style="text-align:center" %)
183 [[image:image-20230526153417-4.jpeg]]
184 )))|(% style="width:297px" %)(((
185 3 x DS28B20 Probes
186
187 Cable lengths total 1.5meters per probe
188
189 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]]
190 )))
191
192 (% style="display:none" %)
193
194
195
196 == 1.9 Mechanical ==
197
198
199 [[image:1675143884058-338.png]]
200
201
202 [[image:1675143899218-599.png]]
203
204
205 [[image:1675143909447-639.png]]
206
207
208 = 2. Configure D2x-LB to connect to LoRaWAN network =
209
210 == 2.1 How it works ==
211
212
213 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.
214
215
216 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
217
218
219 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.
220
221 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.
222
223
224 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from D2x-LB.
225
226 Each D2x-LB is shipped with a sticker with the default device EUI as below:
227
228 [[image:image-20230426084024-1.png||alt="图片-20230426084024-1.png" height="236" width="508"]]
229
230
231 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
232
233
234 (% style="color:blue" %)**Register the device**
235
236 [[image:1675144099263-405.png]]
237
238
239 (% style="color:blue" %)**Add APP EUI and DEV EUI**
240
241 [[image:1675144117571-832.png]]
242
243
244 (% style="color:blue" %)**Add APP EUI in the application**
245
246
247 [[image:1675144143021-195.png]]
248
249
250 (% style="color:blue" %)**Add APP KEY**
251
252 [[image:1675144157838-392.png]]
253
254 (% style="color:blue" %)**Step 2:**(%%) Activate on D2x-LB
255
256
257 Press the button for 5 seconds to activate the D2x-LB.
258
259 (% 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.
260
261 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
262
263
264 == 2.3 ​Uplink Payload ==
265
266 === 2.3.1 Device Status, FPORT~=5 ===
267
268
269 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.
270
271 The Payload format is as below.
272
273 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
274 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
275 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
276 |(% 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
277
278 Example parse in TTNv3
279
280 [[image:image-20230524160021-1.png||height="149" width="1193"]]
281
282
283 (% style="color:#037691" %)**Sensor Model**(%%): For D2x-LB, this value is 0x19
284
285 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
286
287 (% style="color:#037691" %)**Frequency Band**:
288
289 *0x01: EU868
290
291 *0x02: US915
292
293 *0x03: IN865
294
295 *0x04: AU915
296
297 *0x05: KZ865
298
299 *0x06: RU864
300
301 *0x07: AS923
302
303 *0x08: AS923-1
304
305 *0x09: AS923-2
306
307 *0x0a: AS923-3
308
309 *0x0b: CN470
310
311 *0x0c: EU433
312
313 *0x0d: KR920
314
315 *0x0e: MA869
316
317
318 (% style="color:#037691" %)**Sub-Band**:
319
320 AU915 and US915:value 0x00 ~~ 0x08
321
322 CN470: value 0x0B ~~ 0x0C
323
324 Other Bands: Always 0x00
325
326
327 (% style="color:#037691" %)**Battery Info**:
328
329 Check the battery voltage.
330
331 Ex1: 0x0B45 = 2885mV
332
333 Ex2: 0x0B49 = 2889mV
334
335
336 === 2.3.2  Sensor Data. FPORT~=2 ===
337
338
339 D2x-LB will uplink below payload via FPORT=2 after Joined LoRaWAN Network.
340
341 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:520px" %)
342 |=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
343 **Size(bytes)**
344 )))|=(% 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
345 |(% style="width:65px" %)**Value**|(% style="width:66px" %)(((
346 Battery
347 )))|(% style="width:108px" %)(((
348 Temp_ Red or Temp _White
349 )))|(% style="width:62px" %)(((
350 ignore
351 )))|(% style="width:106px" %)(((
352 Alarm Flag & MOD& Level of PA8
353 )))|(% style="width:100px" %)(((
354 Temp_White
355 )))|(% style="width:95px" %)(((
356 Temp_Black
357
358
359 )))
360
361 **Payload per each model.**
362
363 [[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"]]
364
365
366 [[image:image-20230524160233-2.png||height="184" width="1173"]]
367
368
369 ==== (% style="color:blue" %)**Decode corresponding probe color:**(%%) ====
370
371 **D20:**
372
373 Red <~-~-> C1
374
375
376 **D22:**
377
378 White <~-~-> C1 , Red <~-~-> C2
379
380
381 **D23:**
382
383 White <~-~->C1  , Red <~-~-> C2  , Black <~-~-> C3
384
385
386
387 ==== (% style="color:blue" %)**Battery:**(%%) ====
388
389 Sensor Battery Level.
390
391 Ex1: 0x0B45 = 2885mV
392
393 Ex2: 0x0B49 = 2889mV
394
395
396
397 ==== (% style="color:blue" %)**Temperature RED or Temperature White :**(%%) ====
398
399
400 (% style="color:red" %)**This point to the Red probe in D20-LB or the probe of D22-LB/D23-LB White**
401
402 **Example**:
403
404 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
405
406 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
407
408 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
409
410
411
412 ==== (% style="color:blue" %)**Temperature White:**(%%) ====
413
414
415 (% style="color:red" %)**This point to the Red probe in D22-LB/D23-LB.**
416
417 (% style="color:red" %)**If it is D20-LB, the value is 0x7FFF, which is 327.67.**
418
419
420 **Example**:
421
422 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
423
424 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
425
426 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
427
428
429
430 ==== (% style="color:blue" %)**Temperature Black:**(%%) ====
431
432
433 (% style="color:red" %)**This point to the BLACK probe in D23-LB**
434
435 (% style="color:red" %)**If it is D20-LB/D22-LB, the value is 0x7FFF, which is 327.67.**
436
437
438 **Example**:
439
440 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
441
442 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
443
444 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
445
446
447
448 ==== (% style="color:blue" %)**Alarm Flag & MOD & Level of PA8:**(%%) ====
449
450
451 **Example:**
452
453 If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature exceed the alarm value or trigger an interrupt.
454
455 If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
456
457 If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
458
459 If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
460
461 If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
462
463 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. 
464
465
466 == 2.4 Payload Decoder file ==
467
468
469 (((
470 In TTN, use can add a custom payload so it shows friendly. 
471 )))
472
473 (((
474 In the page **Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder** to add the decoder from: 
475
476 [[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]]
477
478
479 )))
480
481 == 2.5 Datalog Feature ==
482
483
484 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.
485
486
487 === 2.5.1 Ways to get datalog via LoRaWAN ===
488
489
490 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.
491
492 * a) D2x-LB will do an ACK check for data records sending to make sure every data arrive server.
493 * 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.
494
495 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
496
497 [[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"]]
498
499
500 === 2.5.2 Unix TimeStamp ===
501
502
503 D2x-LB uses Unix TimeStamp format based on
504
505 [[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"]]
506
507 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
508
509 Below is the converter example
510
511 [[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"]]
512
513 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
514
515
516 === 2.5.3 Set Device Time ===
517
518
519 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
520
521 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).
522
523 (% 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.**
524
525
526 === 2.5.4 Datalog Uplink payload  (FPORT~=3) ===
527
528
529 The Datalog poll reply uplink will use below payload format.
530
531 **Retrieval data payload:**
532
533 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:520px" %)
534 |=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
535 **Size(bytes)**
536 )))|=(% 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**
537 |(% style="width:93px" %)**Value**|(% style="width:54px" %)(((
538 Temp_Black
539 )))|(% style="width:54px" %)Temp_White|(% style="width:132px" %)Temp_ Red or Temp _White|(% style="width:158px" %)(((
540 Poll message flag & Alarm Flag& Level of PA8
541 )))|(% style="width:111px" %)Unix Time Stamp
542
543 **Poll message flag & Ext:**
544
545 [[image:image-20230524160709-3.png]]
546
547 (% 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)
548
549 (% style="color:blue" %)**Poll Message Flag**(%%): 1: This message is a poll message reply.
550
551 * Poll Message Flag is set to 1.
552
553 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
554
555 For example, in US915 band, the max payload for different DR is:
556
557 (% style="color:blue" %)**a) DR0:**(%%) max is 11 bytes so one entry of data
558
559 (% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
560
561 (% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data
562
563 (% style="color:blue" %)**d) DR3: **(%%)total payload includes 22 entries of data.
564
565 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
566
567
568 **Example:**
569
570 If D2x-LB has below data inside Flash:
571
572
573 [[image:image-20230524160736-4.png]]
574
575 If user sends below downlink command: 31646DBAA0646DBB5405
576
577 Where : Start time: 646DBAA0 = time 23/5/24 07:20:00
578
579 Stop time: 646DBB54= time 23/5/24 07:23:00
580
581
582 **D2x-LB will uplink this payload.**
583
584
585 [[image:image-20230524160755-5.png||height="368" width="1146"]]
586
587
588 (((
589 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
590 )))
591
592 (((
593 Where the first 11 bytes is for the first entry:
594 )))
595
596 (((
597 01 08 01 05 01 08 40 64 6D BA A7
598 )))
599
600 (((
601 **Temp_Black**=0x0108/10=26.4
602 )))
603
604 (((
605 **Temp_White**=0x0105/10=26.1
606
607 **Temp_Red or White**=0x0108/10=26.4
608 )))
609
610 (((
611 **poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
612 )))
613
614 (((
615 **Unix time** is 0x646DBAA7=1684912807s=23/5/24 07:20:07
616 )))
617
618
619 (% 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="单击并拖动以调整大小" %)的
620
621 == 2.6 Temperature Alarm Feature ==
622
623
624 D2x-LB work flow with Alarm feature.
625
626
627 [[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"]]
628
629
630 == 2.7 Frequency Plans ==
631
632
633 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.
634
635 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
636
637
638 == 2.8 ​Firmware Change Log ==
639
640
641 **Firmware download link:**
642
643 [[https:~~/~~/www.dropbox.com/sh/tcpq06yl7rxrgcz/AACpAC7cy-tnGPqn6T6SUDEaa?dl=0>>https://www.dropbox.com/sh/tcpq06yl7rxrgcz/AACpAC7cy-tnGPqn6T6SUDEaa?dl=0]]
644
645
646 = 3. Configure D2x-LB =
647
648 == 3.1 Configure Methods: ==
649
650
651 D2x-LB supports below configure method:
652
653 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
654 * 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]].
655 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
656
657
658
659 == 3.2 General Commands ==
660
661
662 These commands are to configure:
663
664 * General system settings like: uplink interval.
665 * LoRaWAN protocol & radio related command.
666
667 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
668
669 [[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/]]
670
671
672 == 3.3 Commands special design for D2x-LB ==
673
674
675 These commands only valid for D2x-LB, as below:
676
677
678 === 3.3.1 Set Transmit Interval Time ===
679
680
681 Feature: Change LoRaWAN End Node Transmit Interval.
682
683 (% style="color:blue" %)**AT Command: AT+TDC**
684
685 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
686 |=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
687 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
688 30000
689 OK
690 the interval is 30000ms = 30s
691 )))
692 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
693 OK
694 Set transmit interval to 60000ms = 60 seconds
695 )))
696
697 (% style="color:blue" %)**Downlink Command: 0x01**
698
699 Format: Command Code (0x01) followed by 3 bytes time value.
700
701 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
702
703 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
704 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
705
706
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
795
796 === 3.3.6 Set Interrupt Mode ===
797
798
799 Feature, Set Interrupt mode for PA8 of pin.
800
801 When AT+INTMOD=0 is set, PA8 is used as a digital input port.
802
803 (% style="color:blue" %)**AT Command: AT+INTMOD**
804
805 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
806 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 160px;background-color:#D9E2F3" %)**Response**
807 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
808 0
809 OK
810 the mode is 0 =Disable Interrupt
811 )))
812 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
813 Set Transmit Interval
814 0. (Disable Interrupt),
815 ~1. (Trigger by rising and falling edge)
816 2. (Trigger by falling edge)
817 3. (Trigger by rising edge)
818 )))|(% style="width:157px" %)OK
819
820 (% style="color:blue" %)**Downlink Command: 0x06**
821
822 Format: Command Code (0x06) followed by 3 bytes.
823
824 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
825
826 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
827 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
828
829
830
831 === 3.3.7 Set Power Output Duration ===
832
833
834 Control the output duration 5V . Before each sampling, device will
835
836 ~1. first enable the power output to external sensor,
837
838 2. keep it on as per duration, read sensor value and construct uplink payload
839
840 3. final, close the power output.
841
842 (% style="color:blue" %)**AT Command: AT+5VT**
843
844 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
845 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 160px;background-color:#D9E2F3" %)**Response**
846 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
847 OK
848 |(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
849
850 (% style="color:blue" %)**Downlink Command: 0x07**
851
852
853 Format: Command Code (0x07) followed by 2 bytes.
854
855 The first and second bytes are the time to turn on.
856
857 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
858 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
859
860
861
862 = 4. Battery & Power Consumption =
863
864
865 D2x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
866
867 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
868
869
870 = 5. OTA firmware update =
871
872
873 User can change firmware D2x-LB to:
874
875 * Change Frequency band/ region.
876 * Update with new features.
877 * Fix bugs.
878
879 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/tcpq06yl7rxrgcz/AACpAC7cy-tnGPqn6T6SUDEaa?dl=0]]**
880
881 Methods to Update Firmware:
882
883 * (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/]]
884 * 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]]**.
885
886
887
888 = 6. FAQ =
889
890
891
892 = 7. Order Info =
893
894
895 Part Number: (% style="color:blue" %)**D20-LB-XX  / D20S-LB(**(%%)** designed for used in Soil or Road(% style="color:blue" %))/D22-LB-XX / D23-LB-XX(%%)**
896
897 (% style="color:red" %)**XX**(%%): The default frequency band
898
899 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
900
901 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
902
903 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
904
905 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
906
907 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
908
909 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
910
911 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
912
913 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
914
915
916
917 = 8. ​Packing Info =
918
919
920 (% style="color:#037691" %)**Package Includes**:
921
922 * D2x-LB LoRaWAN Temperature Sensor
923
924 (% style="color:#037691" %)**Dimension and weight**:
925
926 * Device Size: cm
927
928 * Device Weight: g
929
930 * Package Size / pcs : cm
931
932 * Weight / pcs : g
933
934
935
936 = 9. Support =
937
938
939 * 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.
940
941 * 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