Version 135.1 by Mengting Qiu on 2023/12/07 14:22

Hide last authors
Ellie Zhang 26.1 1 (% style="text-align:center" %)
Xiaoling 111.2 2 [[image:image-20231110085342-2.png||height="481" width="481"]]
Edwin Chen 1.1 3
4
Xiaoling 67.2 5
Xiaoling 75.2 6
7
8
9
Xiaoling 111.2 10
Xiaoling 126.3 11 **Table of Contents:(% style="display:none" %) (%%)**
Ellie Zhang 30.1 12
Edwin Chen 1.1 13 {{toc/}}
14
15
16
17
18
19
kai 31.1 20 = 1. Introduction =
Edwin Chen 1.1 21
Xiaoling 113.3 22 == 1.1 What is LoRaWAN Smart Distance Detector ==
Edwin Chen 1.1 23
Xiaoling 39.6 24
Edwin Chen 115.1 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.
Edwin Chen 1.1 26
Xiaoling 113.3 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.
Edwin Chen 1.1 29
Xiaoling 113.3 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.**
Edwin Chen 1.1 31
Xiaoling 113.3 32 DS20L is fully compatible with (% style="color:blue" %)**LoRaWAN v1.0.3 Class A protocol**(%%), it can work with a standard LoRaWAN gateway.
Xiaoling 62.4 33
Edwin Chen 1.1 34
Xiaoling 114.2 35 [[image:image-20231110102635-5.png||height="402" width="807"]]
Edwin Chen 1.1 36
Xiaoling 64.2 37
Edwin Chen 1.1 38 == 1.2 ​Features ==
39
Xiaoling 39.6 40
Xiaoling 113.4 41 * LoRaWAN Class A protocol
42 * LiDAR distance detector, range 3 ~~ 200cm
43 * Periodically detect or continuously detect mode
Xiaoling 70.5 44 * AT Commands to change parameters
Xiaoling 113.4 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
Edwin Chen 1.1 49
50 == 1.3 Specification ==
51
52
Xiaoling 113.5 53 (% style="color:#037691" %)**LiDAR Sensor:**
Xiaoling 70.6 54
Xiaoling 113.5 55 * Operation Temperature: -40 ~~ 80 °C
56 * Operation Humidity: 0~~99.9%RH (no Dew)
57 * Storage Temperature: -10 ~~ 45°C
Xiaoling 113.4 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
Xiaoling 82.3 62
Edwin Chen 115.1 63 == 1.4 Power Consumption ==
Xiaoling 114.2 64
Edwin Chen 115.1 65
Xiaoling 116.2 66 (% style="color:#037691" %)**Battery Power Mode:**
Edwin Chen 115.1 67
kai 116.1 68 * Idle: 0.003 mA @ 3.3v
69 * Max : 360 mA
Edwin Chen 115.1 70
Xiaoling 116.2 71 (% style="color:#037691" %)**Continuously mode**:
Edwin Chen 115.1 72
kai 116.1 73 * Idle: 21 mA @ 3.3v
74 * Max : 360 mA
Edwin Chen 115.1 75
Xiaoling 113.5 76 = 2. Configure DS20L to connect to LoRaWAN network =
Xiaoling 77.4 77
Edwin Chen 1.1 78 == 2.1 How it works ==
79
80
Xiaoling 113.6 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.
Edwin Chen 1.1 82
Xiaoling 64.2 83 (% style="display:none" %) (%%)
Edwin Chen 1.1 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
Xiaoling 114.2 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" %)
Edwin Chen 1.1 91
Xiaoling 114.2 92 [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
Edwin Chen 1.1 93
Xiaoling 113.6 94 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
Edwin Chen 1.1 95
Xiaoling 113.6 96 Each DS20L is shipped with a sticker with the default device EUI as below:
Edwin Chen 1.1 97
Ellie Zhang 30.1 98 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
Edwin Chen 1.1 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
Xiaoling 14.13 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"]]
Edwin Chen 1.1 107
108
109 (% style="color:blue" %)**Add APP EUI and DEV EUI**
110
Ellie Zhang 30.1 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"]]
Edwin Chen 1.1 112
113
114 (% style="color:blue" %)**Add APP EUI in the application**
115
116
Ellie Zhang 30.1 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"]]
Edwin Chen 1.1 118
119
120 (% style="color:blue" %)**Add APP KEY**
121
Ellie Zhang 30.1 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"]]
Edwin Chen 1.1 123
124
Xiaoling 113.6 125 (% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
Edwin Chen 1.1 126
Xiaoling 118.2 127 [[image:image-20231128133704-1.png||height="189" width="441"]]
Edwin Chen 1.1 128
Xiaoling 113.6 129 Press the button for 5 seconds to activate the DS20L.
Edwin Chen 6.1 130
Edwin Chen 1.1 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
Xiaoling 82.8 136 == 2.3 ​Uplink Payload ==
Edwin Chen 1.1 137
Saxer Lin 85.1 138 === 2.3.1 Device Status, FPORT~=5 ===
139
Xiaoling 90.2 140
Xiaoling 113.6 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.
Saxer Lin 85.1 142
143 The Payload format is as below.
144
Xiaoling 90.2 145 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
Xiaoling 90.11 146 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
Saxer Lin 85.1 147 **Size(bytes)**
Xiaoling 90.11 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**
Saxer Lin 85.1 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
Mengting Qiu 130.2 153 [[image:image-20231206151412-3.png||height="179" width="1070"]]
Saxer Lin 93.1 154
Xiaoling 118.2 155 (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
Saxer Lin 85.1 156
Xiaoling 90.17 157 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
Saxer Lin 85.1 158
Xiaoling 90.17 159 (% style="color:blue" %)**Frequency Band**:
Saxer Lin 85.1 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
Xiaoling 90.17 189 (% style="color:blue" %)**Sub-Band**:
Saxer Lin 85.1 190
191 AU915 and US915:value 0x00 ~~ 0x08
192
193 CN470: value 0x0B ~~ 0x0C
194
195 Other Bands: Always 0x00
196
Xiaoling 90.17 197 (% style="color:blue" %)**Battery Info**:
Saxer Lin 85.1 198
199 Check the battery voltage.
200
201 Ex1: 0x0B45 = 2885mV
202
203 Ex2: 0x0B49 = 2889mV
204
205
Saxer Lin 89.1 206 === 2.3.2 Uplink Payload, FPORT~=2 ===
Saxer Lin 85.1 207
Xiaoling 90.2 208
Xiaoling 124.2 209 ==== (% style="color:red" %)**MOD~=1**(%%) ====
Edwin Chen 1.1 210
Xiaoling 120.2 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.
Edwin Chen 1.1 212
Xiaoling 120.2 213 Uplink Payload totals 10 bytes.
Edwin Chen 1.1 214
Xiaoling 124.2 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
Edwin Chen 1.1 218
Mengting Qiu 134.1 219 [[image:image-20231206195704-6.png||height="238" width="999"]]
Edwin Chen 1.1 220
Xiaoling 124.2 221 (% style="color:blue" %)**Battery Info:**
Edwin Chen 1.1 222
Xiaoling 120.2 223 Check the battery voltage for DS20L
Edwin Chen 1.1 224
Xiaoling 120.2 225 Ex1: 0x0E10 = 3600mV
Xiaoling 67.7 226
Xiaoling 124.2 227
Xiaoling 120.8 228 (% style="color:blue" %)**MOD & Alarm & Interrupt:**
Xiaoling 67.7 229
Xiaoling 120.8 230 (% style="color:red" %)**MOD:**
Edwin Chen 1.1 231
Xiaoling 120.2 232 **Example: ** (0x60>>6) & 0x3f =1
Xiaoling 14.22 233
Xiaoling 120.2 234 **0x01:**  Regularly detect distance and report.
235 **0x02: ** Uninterrupted measurement (external power supply).
Edwin Chen 1.1 236
Xiaoling 120.8 237 (% style="color:red" %)**Alarm:**
Xiaoling 79.11 238
Xiaoling 120.2 239 When the detection distance exceeds the limit, the alarm flag is set to 1.
Xiaoling 67.7 240
Xiaoling 120.8 241 (% style="color:red" %)**Interrupt:**
Xiaoling 67.7 242
Xiaoling 120.2 243 Whether it is an external interrupt.
Edwin Chen 10.1 244
Edwin Chen 1.1 245
Xiaoling 124.2 246 (% style="color:blue" %)**Distance info:**
247
Xiaoling 82.4 248 **Example**:
249
Xiaoling 120.2 250 If payload is: 0708H: distance = 0708H = 1800 mm
Xiaoling 82.4 251
252
Xiaoling 124.2 253 (% style="color:blue" %)**Sensor State:**
254
Xiaoling 120.2 255 Ex1: 0x00: Normal collection distance
Xiaoling 82.4 256
Xiaoling 120.2 257 Ex2 0x0x: Distance collection is wrong
Xiaoling 82.4 258
259
Xiaoling 124.2 260 (% style="color:blue" %)**Interript Count:**
261
Xiaoling 120.2 262 If payload is:000007D0H: count = 07D0H =2000
Xiaoling 82.4 263
264
Xiaoling 120.8 265
Xiaoling 124.2 266 ==== (% style="color:red" %)**MOD~=2**(%%)** ** ====
Xiaoling 120.8 267
Xiaoling 120.2 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.
Xiaoling 82.4 269
Xiaoling 124.2 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
Xiaoling 82.4 273
Xiaoling 124.2 274 [[image:1701155150328-206.png]]
Xiaoling 82.4 275
Xiaoling 120.8 276 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
Saxer Lin 104.1 277
Xiaoling 120.8 278 (% style="color:red" %)**MOD:**
Saxer Lin 104.1 279
Xiaoling 120.2 280 **Example: ** (0x60>>6) & 0x3f =1
Saxer Lin 104.1 281
Xiaoling 120.2 282 **0x01:**  Regularly detect distance and report.
283 **0x02: ** Uninterrupted measurement (external power supply).
Saxer Lin 104.1 284
Xiaoling 120.8 285 (% style="color:red" %)**Alarm:**
Saxer Lin 104.1 286
Xiaoling 120.2 287 When the detection distance exceeds the limit, the alarm flag is set to 1.
Saxer Lin 104.1 288
Xiaoling 120.8 289 (% style="color:red" %)**Do:**
Saxer Lin 104.1 290
Xiaoling 120.2 291 When the distance exceeds the set threshold, pull the Do pin high.
Saxer Lin 104.1 292
Xiaoling 120.8 293 (% style="color:red" %)**Limit flag:**
Xiaoling 82.4 294
Xiaoling 125.6 295 Mode for setting threshold: **0~~5**
Xiaoling 82.4 296
Xiaoling 125.6 297 **0:** does not use upper and lower limits
Xiaoling 82.4 298
Xiaoling 125.6 299 **1:** Use upper and lower limits
Xiaoling 82.4 300
Xiaoling 125.6 301 **2:** is less than the lower limit value
Edwin Chen 1.1 302
Xiaoling 125.6 303 **3:** is greater than the lower limit value
Edwin Chen 1.1 304
Xiaoling 125.6 305 **4:** is less than the upper limit
Edwin Chen 1.1 306
Xiaoling 125.6 307 **5:** is greater than the upper limit
Edwin Chen 1.1 308
Xiaoling 62.5 309
Xiaoling 120.8 310 (% style="color:blue" %)**Upper limit:**
311
Xiaoling 120.2 312 The upper limit of the threshold cannot exceed 2000mm.
Edwin Chen 1.1 313
Xiaoling 124.2 314
Xiaoling 120.8 315 (% style="color:blue" %)**Lower limit:**
Edwin Chen 1.1 316
Xiaoling 120.2 317 The lower limit of the threshold cannot be less than 3mm.
Edwin Chen 1.1 318
Xiaoling 39.5 319
Xiaoling 125.8 320 == 2.4 Decode payload in The Things Network ==
Saxer Lin 97.1 321
Saxer Lin 99.1 322
Xiaoling 70.10 323 While using TTN network, you can add the payload format to decode the payload.
Edwin Chen 1.1 324
Mengting Qiu 130.2 325 [[image:image-20231206143515-1.png||height="534" width="759"]]
Edwin Chen 1.1 326
327
Xiaoling 62.5 328 (((
Xiaoling 82.4 329 The payload decoder function for TTN is here:
Xiaoling 62.5 330 )))
Edwin Chen 1.1 331
Xiaoling 82.4 332 (((
Xiaoling 113.6 333 DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
Xiaoling 82.4 334 )))
Edwin Chen 1.1 335
Xiaoling 82.4 336
Xiaoling 125.8 337 == 2.5 ​Show Data in DataCake IoT Server ==
Edwin Chen 1.1 338
339
Xiaoling 62.5 340 (((
Xiaoling 70.10 341 [[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:
Xiaoling 62.5 342 )))
Edwin Chen 1.1 343
344
Xiaoling 62.5 345 (((
Xiaoling 70.10 346 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
Xiaoling 62.5 347 )))
Edwin Chen 1.1 348
Xiaoling 62.5 349 (((
Xiaoling 70.10 350 (% 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:**
Xiaoling 62.5 351 )))
Xiaoling 14.26 352
Saxer Lin 55.1 353
Xiaoling 70.10 354 [[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"]]
Edwin Chen 1.1 355
356
Xiaoling 70.10 357 [[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"]]
Edwin Chen 1.1 358
359
Xiaoling 70.10 360 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
Edwin Chen 1.1 361
Xiaoling 113.6 362 (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
Edwin Chen 1.1 363
Xiaoling 70.10 364 [[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"]]
Xiaoling 62.5 365
Edwin Chen 1.1 366
Xiaoling 70.10 367 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
Edwin Chen 1.1 368
Xiaoling 126.2 369 [[image:image-20231129100454-2.png||height="501" width="928"]]
Edwin Chen 1.1 370
371
Xiaoling 125.8 372 == 2.6 Frequency Plans ==
Edwin Chen 1.1 373
374
Xiaoling 113.7 375 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.
Edwin Chen 1.1 376
377 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
378
379
Xiaoling 118.2 380 = 3. Configure DS20L =
Xiaoling 82.4 381
kai 16.4 382 == 3.1 Configure Methods ==
Edwin Chen 1.1 383
384
Xiaoling 113.7 385 DS20L supports below configure method:
Edwin Chen 1.1 386
387 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
Xiaoling 67.20 388
Edwin Chen 11.1 389 * 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]].
Xiaoling 67.20 390
Edwin Chen 1.1 391 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
392
393 == 3.2 General Commands ==
394
395
396 These commands are to configure:
397
398 * General system settings like: uplink interval.
Xiaoling 67.20 399
Edwin Chen 1.1 400 * LoRaWAN protocol & radio related command.
401
402 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
403
404 [[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/]]
405
406
Xiaoling 113.7 407 == 3.3 Commands special design for DS20L ==
Edwin Chen 1.1 408
409
Xiaoling 113.7 410 These commands only valid for DS20L, as below:
Edwin Chen 1.1 411
412
413 === 3.3.1 Set Transmit Interval Time ===
414
415
Xiaoling 62.5 416 (((
Edwin Chen 1.1 417 Feature: Change LoRaWAN End Node Transmit Interval.
Xiaoling 62.5 418 )))
419
420 (((
Edwin Chen 1.1 421 (% style="color:blue" %)**AT Command: AT+TDC**
Xiaoling 62.5 422 )))
Edwin Chen 1.1 423
Xiaoling 14.34 424 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
Xiaoling 82.16 425 |=(% 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**
Edwin Chen 1.1 426 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
427 30000
428 OK
429 the interval is 30000ms = 30s
430 )))
431 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
432 OK
433 Set transmit interval to 60000ms = 60 seconds
434 )))
435
Xiaoling 62.5 436 (((
Edwin Chen 1.1 437 (% style="color:blue" %)**Downlink Command: 0x01**
Xiaoling 62.5 438 )))
Edwin Chen 1.1 439
Xiaoling 62.5 440 (((
Edwin Chen 1.1 441 Format: Command Code (0x01) followed by 3 bytes time value.
Xiaoling 62.5 442 )))
Edwin Chen 1.1 443
Xiaoling 62.5 444 (((
Edwin Chen 1.1 445 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
Xiaoling 62.5 446 )))
Edwin Chen 1.1 447
Xiaoling 62.5 448 * (((
449 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
450 )))
451 * (((
Xiaoling 118.2 452 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
Xiaoling 124.4 453
454
455
Xiaoling 118.2 456 )))
Xiaoling 82.22 457
Xiaoling 70.11 458 === 3.3.2 Set Interrupt Mode ===
Xiaoling 62.5 459
460
Saxer Lin 109.1 461 Feature, Set Interrupt mode for pin of GPIO_EXTI.
Edwin Chen 1.1 462
Saxer Lin 107.1 463 When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
Saxer Lin 46.1 464
Edwin Chen 1.1 465 (% style="color:blue" %)**AT Command: AT+INTMOD**
466
Xiaoling 14.34 467 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
Xiaoling 82.16 468 |=(% 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**
Edwin Chen 1.1 469 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
470 0
471 OK
472 the mode is 0 =Disable Interrupt
473 )))
Saxer Lin 107.1 474 |(% style="width:154px" %)(((
Xiaoling 118.2 475 AT+INTMOD=3
Saxer Lin 107.1 476
477 (default)
478 )))|(% style="width:196px" %)(((
Edwin Chen 1.1 479 Set Transmit Interval
480 0. (Disable Interrupt),
481 ~1. (Trigger by rising and falling edge)
482 2. (Trigger by falling edge)
483 3. (Trigger by rising edge)
484 )))|(% style="width:157px" %)OK
485
486 (% style="color:blue" %)**Downlink Command: 0x06**
487
488 Format: Command Code (0x06) followed by 3 bytes.
489
490 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
491
492 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
Xiaoling 62.6 493
Edwin Chen 1.1 494 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
495
Xiaoling 125.4 496 === 3.3.3 Set work mode ===
Xiaoling 118.2 497
498
499 Feature: Switch working mode
500
501 (% style="color:blue" %)**AT Command: AT+MOD**
502
Xiaoling 118.12 503 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
504 |=(% 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**
Xiaoling 118.2 505 |(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
506 |(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
507 OK
508 Attention:Take effect after ATZ
509 )))
510
511 (% style="color:blue" %)**Downlink Command:**
512
Mengting Qiu 130.2 513 * **Example: **0x0A01 ~/~/  Same as AT+MOD=1
Xiaoling 118.2 514
Mengting Qiu 130.2 515 * **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
Xiaoling 118.2 516
517 === 3.3.4 Set threshold and threshold mode ===
518
519
520 Feature, Set threshold and threshold mode
521
Xiaoling 118.9 522 When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
Xiaoling 118.2 523
Xiaoling 118.3 524 (% style="color:blue" %)**AT Command: AT+DOL**
Xiaoling 118.2 525
Xiaoling 118.17 526 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
527 |(% 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**
Xiaoling 118.2 528 |(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
529 0,0,0,0,400
530 OK
531 )))
532 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
533
Xiaoling 118.17 534 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
Xiaoling 125.4 535 |(% rowspan="11" style="color:blue; width:120px" %)(((
Xiaoling 118.2 536
537
Xiaoling 125.3 538
539
540
541
542
543
544
Xiaoling 125.4 545
546
Mengting Qiu 130.2 547 **AT+DOL=5,1800,0,0,400**
548 )))|(% rowspan="6" style="width:240px" %)(((
549
Xiaoling 125.10 550
551
552
Xiaoling 125.11 553
554
Mengting Qiu 130.2 555 The first bit sets the limit mode
556 )))|(% style="width:150px" %)0: Do not use upper and lower limits
Xiaoling 125.3 557 |(% style="width:251px" %)1: Use upper and lower limits
558 |(% style="width:251px" %)2: Less than the lower limit
559 |(% style="width:251px" %)3: Greater than the lower limit
560 |(% style="width:251px" %)4: Less than the upper limit
561 |(% style="width:251px" %)5: Greater than the upper limit
562 |(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
563 |(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
564 |(% 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
565 |(% style="width:251px" %)1 Person or object counting statistics
566 |(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
567 0~~10000ms
568
569
570 )))
571
Xiaoling 118.3 572 (% style="color:blue" %)**Downlink Command: 0x07**
Xiaoling 118.2 573
Mengting Qiu 131.1 574 Format: Command Code (0x07) followed by 9 bytes.
Xiaoling 118.2 575
Mengting Qiu 131.1 576 If the downlink payload=**07 01 0708 0064 00 0190**, it means set the END Node's limit mode to 0x01,upper limit value to 0x0708=1800(mm), lower limit value to 0x0064=100(mm), to over-limit alarm(0x00) ,the sampling time to 0x0190=400(ms), while type code is 0x07.
Xiaoling 118.3 577
Mengting Qiu 131.1 578 * Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
579
Xiaoling 118.2 580 * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
581
Xiaoling 124.3 582 * Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
Xiaoling 118.3 583
Xiaoling 125.3 584 * Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
Xiaoling 124.3 585
586 * Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
587
588 * Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
589
kai 16.4 590 = 4. Battery & Power Consumption =
Xiaoling 14.45 591
Edwin Chen 1.1 592
Xiaoling 113.7 593 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.
Edwin Chen 1.1 594
595 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
596
597
kai 16.4 598 = 5. OTA Firmware update =
Edwin Chen 1.1 599
600
Edwin Chen 13.1 601 (% class="wikigeneratedid" %)
Xiaoling 113.7 602 User can change firmware DS20L to:
Edwin Chen 1.1 603
Edwin Chen 13.1 604 * Change Frequency band/ region.
Xiaoling 62.7 605
Edwin Chen 13.1 606 * Update with new features.
Xiaoling 62.7 607
Edwin Chen 13.1 608 * Fix bugs.
Edwin Chen 1.1 609
Xiaoling 113.6 610 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
Edwin Chen 1.1 611
kai 31.1 612 Methods to Update Firmware:
Edwin Chen 1.1 613
Xiaoling 79.15 614 * (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/]]**
Xiaoling 62.7 615
Xiaoling 70.18 616 * 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]]**.
Edwin Chen 1.1 617
kai 31.1 618 = 6. FAQ =
Edwin Chen 1.1 619
Xiaoling 113.8 620 == 6.1 What is the frequency plan for DS20L? ==
Edwin Chen 1.1 621
Xiaoling 62.7 622
Xiaoling 113.8 623 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"]]
Xiaoling 62.7 624
Edwin Chen 1.1 625
Xiaoling 124.2 626 == 6.2 DS20L programming line ==
627
628
629 缺图 后续补上
630
631 feature:
632
633 for AT commands
634
635 Update the firmware of DS20L
636
637 Support interrupt mode
638
639
640 == 6.3 LiDAR probe position ==
641
642
643 [[image:1701155390576-216.png||height="285" width="307"]]
644
645 The black oval hole in the picture is the LiDAR probe.
646
647
648 == 6.4 Interface definition ==
649
650 [[image:image-20231128151132-2.png||height="305" width="557"]]
651
652
Xiaoling 80.4 653 = 7. Trouble Shooting =
Edwin Chen 1.1 654
Xiaoling 80.4 655 == 7.1 AT Command input doesn't work ==
Edwin Chen 1.1 656
Xiaoling 70.14 657
Xiaoling 80.4 658 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.
Xiaoling 70.14 659
660
Xiaoling 80.4 661 == 7.2 Significant error between the output distant value of LiDAR and actual distance ==
Xiaoling 70.14 662
663
Xiaoling 80.4 664 (((
Xiaoling 82.21 665 (% 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.)
Xiaoling 80.4 666 )))
Xiaoling 70.14 667
Xiaoling 80.4 668 (((
Xiaoling 82.21 669 (% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
Xiaoling 80.4 670 )))
Xiaoling 70.14 671
672
Xiaoling 80.4 673 (((
674 (% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
675 )))
Xiaoling 70.14 676
Xiaoling 79.7 677 (((
Xiaoling 82.21 678 (% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
Xiaoling 79.7 679 )))
Xiaoling 70.14 680
681
682 = 8. Order Info =
683
684
Xiaoling 113.5 685 Part Number: (% style="color:blue" %)**DS20L-XXX**
Xiaoling 70.14 686
Xiaoling 70.12 687 (% style="color:red" %)**XXX**(%%): **The default frequency band**
Edwin Chen 1.1 688
Ellie Zhang 38.1 689 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
Edwin Chen 1.1 690
Ellie Zhang 38.1 691 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
Edwin Chen 1.1 692
Ellie Zhang 38.1 693 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
Edwin Chen 1.1 694
Ellie Zhang 38.1 695 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
Edwin Chen 1.1 696
Ellie Zhang 38.1 697 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
Edwin Chen 1.1 698
Ellie Zhang 38.1 699 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
Edwin Chen 1.1 700
Ellie Zhang 38.1 701 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
Edwin Chen 1.1 702
Ellie Zhang 38.1 703 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
Edwin Chen 1.1 704
Xiaoling 70.14 705 = 9. ​Packing Info =
Xiaoling 67.11 706
707
Ellie Zhang 39.1 708 (% style="color:#037691" %)**Package Includes**:
Edwin Chen 1.1 709
Xiaoling 113.5 710 * DS20L LoRaWAN Smart Distance Detector x 1
Edwin Chen 1.1 711
Ellie Zhang 39.1 712 (% style="color:#037691" %)**Dimension and weight**:
Edwin Chen 1.1 713
kai 31.1 714 * Device Size: cm
Edwin Chen 1.1 715
kai 31.1 716 * Device Weight: g
Edwin Chen 1.1 717
kai 31.1 718 * Package Size / pcs : cm
Edwin Chen 1.1 719
kai 31.1 720 * Weight / pcs : g
Edwin Chen 1.1 721
Xiaoling 70.14 722 = 10. Support =
723
724
kai 31.1 725 * 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.
Xiaoling 39.6 726
727 * 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]].
Mengting Qiu 131.1 728