Version 124.3 by Xiaoling on 2023/11/28 15:14

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20231110085342-2.png||height="481" width="481"]]
3
4
5
6
7
8
9
10
11 **Table of Contents:**
12
13 {{toc/}}
14
15
16
17
18
19
20 = 1. Introduction =
21
22 == 1.1 What is LoRaWAN Smart Distance Detector ==
23
24
25 The Dragino (% style="color:blue" %)**DS20L is a smart distance detector**(%%) base on long-range wireless LoRaWAN technology. It uses (% style="color:blue" %)**LiDAR sensor**(%%) to detect the distance between DS20L and object, then DS20L will send the distance data to the IoT Platform via LoRaWAN. DS20L can measure range between 3cm ~~ 200cm.
26
27 DS20L allows users to send data and reach extremely long ranges via LoRaWAN. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current 
28 consumption. It targets professional wireless sensor network applications such smart cities, building automation, and so on.
29
30 DS20L has a (% style="color:blue" %)**built-in 2400mAh non-chargeable battery**(%%) for long-term use up to several years*. Users can also power DS20L with an external power source for (% style="color:blue" %)**continuous measuring and distance alarm / counting purposes.**
31
32 DS20L is fully compatible with (% style="color:blue" %)**LoRaWAN v1.0.3 Class A protocol**(%%), it can work with a standard LoRaWAN gateway.
33
34
35 [[image:image-20231110102635-5.png||height="402" width="807"]]
36
37
38 == 1.2 ​Features ==
39
40
41 * LoRaWAN Class A protocol
42 * LiDAR distance detector, range 3 ~~ 200cm
43 * Periodically detect or continuously detect mode
44 * AT Commands to change parameters
45 * Remotely configure parameters via LoRaWAN Downlink
46 * Alarm & Counting mode
47 * Firmware upgradable via program port or LoRa protocol
48 * Built-in 2400mAh battery or power by external power source
49
50 == 1.3 Specification ==
51
52
53 (% style="color:#037691" %)**LiDAR Sensor:**
54
55 * Operation Temperature: -40 ~~ 80 °C
56 * Operation Humidity: 0~~99.9%RH (no Dew)
57 * Storage Temperature: -10 ~~ 45°C
58 * Measure Range: 3cm~~200cm @ 90% reflectivity
59 * Accuracy: ±2cm @ (3cm~~100cm); ±5% @ (100~~200cm)
60 * ToF FoV: ±9°, Total 18°
61 * Light source: VCSEL
62
63 == 1.4 Power Consumption ==
64
65
66 (% style="color:#037691" %)**Battery Power Mode:**
67
68 * Idle: 0.003 mA @ 3.3v
69 * Max : 360 mA
70
71 (% style="color:#037691" %)**Continuously mode**:
72
73 * Idle: 21 mA @ 3.3v
74 * Max : 360 mA
75
76 = 2. Configure DS20L to connect to LoRaWAN network =
77
78 == 2.1 How it works ==
79
80
81 The DS20L 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 DS20L. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
82
83 (% style="display:none" %) (%%)
84
85 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
86
87
88 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.
89
90 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.(% style="display:none" %)
91
92 [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
93
94 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
95
96 Each DS20L is shipped with a sticker with the default device EUI as below:
97
98 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
99
100
101 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
102
103
104 (% style="color:blue" %)**Register the device**
105
106 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
107
108
109 (% style="color:blue" %)**Add APP EUI and DEV EUI**
110
111 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
112
113
114 (% style="color:blue" %)**Add APP EUI in the application**
115
116
117 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
118
119
120 (% style="color:blue" %)**Add APP KEY**
121
122 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
123
124
125 (% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
126
127 [[image:image-20231128133704-1.png||height="189" width="441"]]
128
129 Press the button for 5 seconds to activate the DS20L.
130
131 (% 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.
132
133 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
134
135
136 == 2.3 ​Uplink Payload ==
137
138 === 2.3.1 Device Status, FPORT~=5 ===
139
140
141 Users can use the downlink command(**0x26 01**) to ask DS20L to send device configure detail, include device configure status. DS20L will uplink a payload via FPort=5 to server.
142
143 The Payload format is as below.
144
145 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
146 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
147 **Size(bytes)**
148 )))|=(% style="width: 100px; background-color: #4F81BD;color:white;" %)**1**|=(% style="width: 100px; background-color: #4F81BD;color:white;" %)**2**|=(% style="background-color: #4F81BD;color:white; width: 100px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 100px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 50px;" %)**2**
149 |(% style="width:62.5px" %)Value|(% style="width:110px" %)Sensor Model|(% style="width:48px" %)Firmware Version|(% style="width:94px" %)Frequency Band|(% style="width:91px" %)Sub-band|(% style="width:60px" %)BAT
150
151 Example parse in TTNv3
152
153 [[image:1701149922873-259.png]]
154
155 (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
156
157 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
158
159 (% style="color:blue" %)**Frequency Band**:
160
161 0x01: EU868
162
163 0x02: US915
164
165 0x03: IN865
166
167 0x04: AU915
168
169 0x05: KZ865
170
171 0x06: RU864
172
173 0x07: AS923
174
175 0x08: AS923-1
176
177 0x09: AS923-2
178
179 0x0a: AS923-3
180
181 0x0b: CN470
182
183 0x0c: EU433
184
185 0x0d: KR920
186
187 0x0e: MA869
188
189 (% style="color:blue" %)**Sub-Band**:
190
191 AU915 and US915:value 0x00 ~~ 0x08
192
193 CN470: value 0x0B ~~ 0x0C
194
195 Other Bands: Always 0x00
196
197 (% style="color:blue" %)**Battery Info**:
198
199 Check the battery voltage.
200
201 Ex1: 0x0B45 = 2885mV
202
203 Ex2: 0x0B49 = 2889mV
204
205
206 === 2.3.2 Uplink Payload, FPORT~=2 ===
207
208
209 ==== (% style="color:red" %)**MOD~=1**(%%) ====
210
211 Regularly detect distance and report. When the distance exceeds the limit, the alarm flag is set to 1, and the report can be triggered by external interrupts.
212
213 Uplink Payload totals 10 bytes.
214
215 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
216 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4**
217 |(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
218
219 [[image:1701155076393-719.png]]
220
221 (% style="color:blue" %)**Battery Info:**
222
223 Check the battery voltage for DS20L
224
225 Ex1: 0x0E10 = 3600mV
226
227
228 (% style="color:blue" %)**MOD & Alarm & Interrupt:**
229
230 (% style="color:red" %)**MOD:**
231
232 **Example: ** (0x60>>6) & 0x3f =1
233
234 **0x01:**  Regularly detect distance and report.
235 **0x02: ** Uninterrupted measurement (external power supply).
236
237 (% style="color:red" %)**Alarm:**
238
239 When the detection distance exceeds the limit, the alarm flag is set to 1.
240
241 (% style="color:red" %)**Interrupt:**
242
243 Whether it is an external interrupt.
244
245
246 (% style="color:blue" %)**Distance info:**
247
248 **Example**:
249
250 If payload is: 0708H: distance = 0708H = 1800 mm
251
252
253 (% style="color:blue" %)**Sensor State:**
254
255 Ex1: 0x00: Normal collection distance
256
257 Ex2 0x0x: Distance collection is wrong
258
259
260 (% style="color:blue" %)**Interript Count:**
261
262 If payload is:000007D0H: count = 07D0H =2000
263
264
265
266 ==== (% style="color:red" %)**MOD~=2**(%%)** ** ====
267
268 Uninterrupted measurement. When the distance exceeds the limit, the output IO is set high and reports are reported every five minutes. The time can be set and powered by an external power supply.Uplink Payload totals 11bytes.
269
270 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
271 |(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**4**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
272 |(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:74px" %)Distance Limit Alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
273
274 [[image:1701155150328-206.png]]
275
276 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
277
278 (% style="color:red" %)**MOD:**
279
280 **Example: ** (0x60>>6) & 0x3f =1
281
282 **0x01:**  Regularly detect distance and report.
283 **0x02: ** Uninterrupted measurement (external power supply).
284
285 (% style="color:red" %)**Alarm:**
286
287 When the detection distance exceeds the limit, the alarm flag is set to 1.
288
289 (% style="color:red" %)**Do:**
290
291 When the distance exceeds the set threshold, pull the Do pin high.
292
293 (% style="color:red" %)**Limit flag:**
294
295 Mode for setting threshold: 0~~5
296
297 0: does not use upper and lower limits
298
299 1: Use upper and lower limits
300
301 2: is less than the lower limit value
302
303 3: is greater than the lower limit value
304
305 4: is less than the upper limit
306
307 5: is greater than the upper limit
308
309
310 (% style="color:blue" %)**Upper limit:**
311
312 The upper limit of the threshold cannot exceed 2000mm.
313
314
315 (% style="color:blue" %)**Lower limit:**
316
317 The lower limit of the threshold cannot be less than 3mm.
318
319
320 === 2.3.3 Historical measuring distance, FPORT~=3 ===
321
322
323 DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
324
325 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
326
327 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
328 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
329 **Size(bytes)**
330 )))|=(% style="width: 80px;background-color:#4F81BD;color:white" %)1|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD; color: white; width: 85px;" %)**1**|=(% style="background-color: #4F81BD; color: white; width: 85px;" %)4
331 |(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
332 Reserve(0xFF)
333 )))|Distance|Distance signal strength|(% style="width:88px" %)(((
334 LiDAR temp
335 )))|(% style="width:85px" %)Unix TimeStamp
336
337 **Interrupt flag & Interrupt level:**
338
339 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
340 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
341 **Size(bit)**
342 )))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit7**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit6**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**[bit5:bit2]**|=(% style="width: 90px; background-color: #4F81BD; color: white;" %)**bit1**|=(% style="background-color: #4F81BD; color: white; width: 90px;" %)**bit0**
343 |(% style="width:62.5px" %)Value|(% style="width:62.5px" %)No ACK message|(% style="width:62.5px" %)Poll Message Flag|Reserve|(% style="width:91px" %)Interrupt level|(% style="width:88px" %)(((
344 Interrupt flag
345 )))
346
347 * (((
348 Each data entry is 11 bytes and has the same structure as [[Uplink Payload>>||anchor="H2.3.2UplinkPayload2CFPORT3D2"]], to save airtime and battery, DS20L will send max bytes according to the current DR and Frequency bands.
349 )))
350
351 For example, in the US915 band, the max payload for different DR is:
352
353 **a) DR0:** max is 11 bytes so one entry of data
354
355 **b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
356
357 **c) DR2:** total payload includes 11 entries of data
358
359 **d) DR3:** total payload includes 22 entries of data.
360
361 If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
362
363
364 **Downlink:**
365
366 0x31 64 CC 68 0C 64 CC 69 74 05
367
368 [[image:image-20230805144936-2.png||height="113" width="746"]]
369
370 **Uplink:**
371
372 43 FF 0E 10 00 B0 1E 64 CC 68 0C 40 FF 0D DE 00 A8 1E 64 CC 68 29 40 FF 09 92 00 D3 1E 64 CC 68 65 40 FF 02 3A 02 BC 1E 64 CC 68 A1 41 FF 0E 1A 00 A4 1E 64 CC 68 C0 40 FF 0D 2A 00 B8 1E 64 CC 68 E8 40 FF 00 C8 11 6A 1E 64 CC 69 24 40 FF 0E 24 00 AD 1E 64 CC 69 6D
373
374
375 **Parsed Value:**
376
377 [DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
378
379
380 [360,176,30,High,True,2023-08-04 02:53:00],
381
382 [355,168,30,Low,False,2023-08-04 02:53:29],
383
384 [245,211,30,Low,False,2023-08-04 02:54:29],
385
386 [57,700,30,Low,False,2023-08-04 02:55:29],
387
388 [361,164,30,Low,True,2023-08-04 02:56:00],
389
390 [337,184,30,Low,False,2023-08-04 02:56:40],
391
392 [20,4458,30,Low,False,2023-08-04 02:57:40],
393
394 [362,173,30,Low,False,2023-08-04 02:58:53],
395
396
397 **History read from serial port:**
398
399 [[image:image-20230805145056-3.png]]
400
401
402 === 2.3.4 Decode payload in The Things Network ===
403
404
405 While using TTN network, you can add the payload format to decode the payload.
406
407 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654592762713-715.png?rev=1.1||alt="1654592762713-715.png"]]
408
409
410 (((
411 The payload decoder function for TTN is here:
412 )))
413
414 (((
415 DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
416 )))
417
418
419 == 2.4 ​Show Data in DataCake IoT Server ==
420
421
422 (((
423 [[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
424 )))
425
426
427 (((
428 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
429 )))
430
431 (((
432 (% style="color:blue" %)**Step 2**(%%)**: To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:**
433 )))
434
435
436 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592790040-760.png?rev=1.1||alt="1654592790040-760.png"]]
437
438
439 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592800389-571.png?rev=1.1||alt="1654592800389-571.png"]]
440
441
442 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
443
444 (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
445
446 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654851029373-510.png?rev=1.1||alt="1654851029373-510.png"]]
447
448
449 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
450
451 [[image:1701152946067-561.png]]
452
453
454 == 2.5 Frequency Plans ==
455
456
457 The DS20L 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.
458
459 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
460
461
462 = 3. Configure DS20L =
463
464 == 3.1 Configure Methods ==
465
466
467 DS20L supports below configure method:
468
469 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
470
471 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
472
473 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
474
475 == 3.2 General Commands ==
476
477
478 These commands are to configure:
479
480 * General system settings like: uplink interval.
481
482 * LoRaWAN protocol & radio related command.
483
484 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
485
486 [[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/]]
487
488
489 == 3.3 Commands special design for DS20L ==
490
491
492 These commands only valid for DS20L, as below:
493
494
495 === 3.3.1 Set Transmit Interval Time ===
496
497
498 (((
499 Feature: Change LoRaWAN End Node Transmit Interval.
500 )))
501
502 (((
503 (% style="color:blue" %)**AT Command: AT+TDC**
504 )))
505
506 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
507 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
508 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
509 30000
510 OK
511 the interval is 30000ms = 30s
512 )))
513 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
514 OK
515 Set transmit interval to 60000ms = 60 seconds
516 )))
517
518 (((
519 (% style="color:blue" %)**Downlink Command: 0x01**
520 )))
521
522 (((
523 Format: Command Code (0x01) followed by 3 bytes time value.
524 )))
525
526 (((
527 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
528 )))
529
530 * (((
531 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
532 )))
533 * (((
534 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
535 )))
536
537 === 3.3.2 Set Interrupt Mode ===
538
539
540 Feature, Set Interrupt mode for pin of GPIO_EXTI.
541
542 When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
543
544 (% style="color:blue" %)**AT Command: AT+INTMOD**
545
546 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
547 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
548 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
549 0
550 OK
551 the mode is 0 =Disable Interrupt
552 )))
553 |(% style="width:154px" %)(((
554 AT+INTMOD=3
555
556 (default)
557 )))|(% style="width:196px" %)(((
558 Set Transmit Interval
559 0. (Disable Interrupt),
560 ~1. (Trigger by rising and falling edge)
561 2. (Trigger by falling edge)
562 3. (Trigger by rising edge)
563 )))|(% style="width:157px" %)OK
564
565 (% style="color:blue" %)**Downlink Command: 0x06**
566
567 Format: Command Code (0x06) followed by 3 bytes.
568
569 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
570
571 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
572
573 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
574
575 == 3.3.3 Set work mode ==
576
577
578 Feature: Switch working mode
579
580 (% style="color:blue" %)**AT Command: AT+MOD**
581
582 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
583 |=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Response**
584 |(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
585 |(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
586 OK
587 Attention:Take effect after ATZ
588 )))
589
590 (% style="color:blue" %)**Downlink Command:**
591
592 * **Example: **0x0A00  ~/~/  Same as AT+MOD=0
593
594 * **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
595
596 === 3.3.4 Set threshold and threshold mode ===
597
598
599 Feature, Set threshold and threshold mode
600
601 When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
602
603 (% style="color:blue" %)**AT Command: AT+DOL**
604
605 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
606 |(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:108px" %)**Response**
607 |(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
608 0,0,0,0,400
609 OK
610 )))
611 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
612
613
614 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
615 |(% rowspan="11" style="color:blue; width:120px" %)**AT+DOL=5,1800,0,0,400**|(% rowspan="6" style="width:240px" %)The first bit sets the limit mode|(% style="width:150px" %)0: Do not use upper and lower limits
616 |(% style="width:251px" %)1: Use upper and lower limits
617 |(% style="width:251px" %)2: Less than the lower limit
618 |(% style="width:251px" %)3: Greater than the lower limit
619 |(% style="width:251px" %)4: Less than the upper limit
620 |(% style="width:251px" %)5: Greater than the upper limit
621 |(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
622 |(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
623 |(% rowspan="2" style="width:226px" %)The fourth bit sets the over-limit alarm or person or object count.|(% style="width:251px" %)0 Over-limit alarm, DO output is high
624 |(% style="width:251px" %)1 Person or object counting statistics
625 |(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
626 0~~10000ms
627
628
629 )))
630
631 (% style="color:blue" %)**Downlink Command: 0x07**
632
633 Format: Command Code (0x07) followed by 9bytes.
634
635 * Example 0: Downlink Payload: 070000000000000190  **~-~-->**  AT+MOD=0,0,0,0,400
636
637 * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
638
639 * Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
640
641 * Example 3: Downlink Payload: 0703200000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
642
643 * Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
644
645 * Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
646
647
648 = 4. Battery & Power Consumption =
649
650
651 DS20L use built-in 2400mAh non-chargeable battery for long-term use up to several years*. See below link for detail information about the battery info and how to replace.
652
653 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
654
655
656 = 5. OTA Firmware update =
657
658
659 (% class="wikigeneratedid" %)
660 User can change firmware DS20L to:
661
662 * Change Frequency band/ region.
663
664 * Update with new features.
665
666 * Fix bugs.
667
668 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
669
670 Methods to Update Firmware:
671
672 * (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/]]**
673
674 * 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]]**.
675
676 = 6. FAQ =
677
678 == 6.1 What is the frequency plan for DS20L? ==
679
680
681 DS20L use the same frequency as other Dragino products. User can see the detail from this link:  [[Introduction>>doc:Main.End Device Frequency Band.WebHome||anchor="H1.Introduction"]]
682
683
684 == 6.2 DS20L programming line ==
685
686
687 缺图 后续补上
688
689 feature:
690
691 for AT commands
692
693 Update the firmware of DS20L
694
695 Support interrupt mode
696
697
698 == 6.3 LiDAR probe position ==
699
700
701 [[image:1701155390576-216.png||height="285" width="307"]]
702
703 The black oval hole in the picture is the LiDAR probe.
704
705
706 == 6.4 Interface definition ==
707
708 [[image:image-20231128151132-2.png||height="305" width="557"]]
709
710
711 = 7. Trouble Shooting =
712
713 == 7.1 AT Command input doesn't work ==
714
715
716 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:blue" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:blue" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
717
718
719 == 7.2 Significant error between the output distant value of LiDAR and actual distance ==
720
721
722 (((
723 (% style="color:blue" %)**Cause ①**(%%)**:**Due to the physical principles of The LiDAR probe, the above phenomenon is likely to occur if the detection object is the material with high reflectivity (such as mirror, smooth floor tile, etc.) or transparent substance. (such as glass and water, etc.)
724 )))
725
726 (((
727 (% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
728 )))
729
730
731 (((
732 (% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
733 )))
734
735 (((
736 (% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
737 )))
738
739
740 = 8. Order Info =
741
742
743 Part Number: (% style="color:blue" %)**DS20L-XXX**
744
745 (% style="color:red" %)**XXX**(%%): **The default frequency band**
746
747 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
748
749 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
750
751 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
752
753 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
754
755 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
756
757 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
758
759 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
760
761 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
762
763 = 9. ​Packing Info =
764
765
766 (% style="color:#037691" %)**Package Includes**:
767
768 * DS20L LoRaWAN Smart Distance Detector x 1
769
770 (% style="color:#037691" %)**Dimension and weight**:
771
772 * Device Size: cm
773
774 * Device Weight: g
775
776 * Package Size / pcs : cm
777
778 * Weight / pcs : g
779
780 = 10. Support =
781
782
783 * 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.
784
785 * 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]].