Version 126.2 by Xiaoling on 2023/11/29 10:05

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