Last modified by Mengting Qiu on 2023/12/14 11:15

From version 120.3
edited by Xiaoling
on 2023/11/28 14:43
Change comment: There is no comment for this version
To version 171.2
edited by Mengting Qiu
on 2023/12/12 11:46
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.ting
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  
10 10  
11 -**Table of Contents**
11 +**Table of Contents:(% style="display:none" %) (%%)**
12 12  
13 13  {{toc/}}
14 14  
... ... @@ -49,7 +49,6 @@
49 49  
50 50  == 1.3 Specification ==
51 51  
52 -
53 53  (% style="color:#037691" %)**LiDAR Sensor:**
54 54  
55 55  * Operation Temperature: -40 ~~ 80 °C
... ... @@ -65,7 +65,7 @@
65 65  
66 66  (% style="color:#037691" %)**Battery Power Mode:**
67 67  
68 -* Idle: 0.003 mA @ 3.3v
67 +* Idle: 3uA @ 3.3v
69 69  * Max : 360 mA
70 70  
71 71  (% style="color:#037691" %)**Continuously mode**:
... ... @@ -73,6 +73,21 @@
73 73  * Idle: 21 mA @ 3.3v
74 74  * Max : 360 mA
75 75  
75 +== 1.5 Use Case ==
76 +
77 +(% class="mark" %)**Regular Distance Detect**
78 +
79 +[[image:image-20231211220922-1.png||height="352" width="605"]]
80 +
81 +
82 +(% class="mark" %)**Counting / Alarm**
83 +
84 +[[image:image-20231211221253-2.png]]
85 +
86 +
87 +[[image:image-20231211221436-3.png]]
88 +
89 +
76 76  = 2. Configure DS20L to connect to LoRaWAN network =
77 77  
78 78  == 2.1 How it works ==
... ... @@ -91,7 +91,7 @@
91 91  
92 92  [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
93 93  
94 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
108 +=== Step 1: Create a device in TTN with the OTAA keys from DS20L. ===
95 95  
96 96  Each DS20L is shipped with a sticker with the default device EUI as below:
97 97  
... ... @@ -98,41 +98,36 @@
98 98  [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
99 99  
100 100  
101 -You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
115 +You can enter this key in the LoRaWAN Server portal. Below is TTN V3 screenshot:
102 102  
103 103  
104 104  (% style="color:blue" %)**Register the device**
105 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"]]
120 +[[image:image-20231207144600-2.png||height="703" width="756"]]
107 107  
108 108  
109 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
123 +(% style="color:blue" %)**Add DevEUI and AppKey**
110 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"]]
125 +[[image:image-20231207145121-5.png||height="540" width="756"]]
112 112  
113 113  
114 -(% style="color:blue" %)**Add APP EUI in the application**
115 115  
129 +=== Step 2: Activate DS20L ===
116 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 127  [[image:image-20231128133704-1.png||height="189" width="441"]]
128 128  
129 129  Press the button for 5 seconds to activate the DS20L.
130 130  
135 +The switch is switched to (% style="color:blue" %)**E** (%%)and the external power supply is used.
136 +
137 +The switch is switched to (% style="color:blue" %)**I** (%%)and DS20L will be power by the built-in battery.
138 +
131 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 132  
133 133  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
134 134  
135 135  
144 +
136 136  == 2.3 ​Uplink Payload ==
137 137  
138 138  === 2.3.1 Device Status, FPORT~=5 ===
... ... @@ -150,7 +150,7 @@
150 150  
151 151  Example parse in TTNv3
152 152  
153 -[[image:1701149922873-259.png]]
162 +[[image:image-20231206151412-3.png||height="179" width="1070"]]
154 154  
155 155  (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
156 156  
... ... @@ -206,218 +206,300 @@
206 206  === 2.3.2 Uplink Payload, FPORT~=2 ===
207 207  
208 208  
209 -(((
210 -DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
218 +==== (% style="color:red" %)**AT+MOD~=1**(%%) ====
211 211  
212 -periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
220 +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.
213 213  
214 -Uplink Payload totals 11 bytes.
215 -)))
222 +**Uplink Payload totals 10 bytes.**
216 216  
217 217  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
218 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
219 -**Size(bytes)**
220 -)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% 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: 80px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**
221 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)(((
222 -[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]]
223 -)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)(((
224 -[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]]
225 -)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)(((
226 -[[Message Type>>||anchor="HMessageType"]]
227 -)))
225 +|(% 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**
226 +|(% 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
228 228  
229 -==== **MOD~=1** ====
228 +**MOD+ Alarm+ Interrupt:**
230 230  
231 -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.
230 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:400px" %)
231 +|(% style="background-color:#4f81bd; color:White; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:White; width:60px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:White; width:70px" %)**bit5**|(% style="background-color:#4f81bd; color:White; width:120px" %)**bit4**
232 +|(% style="width:80px" %)Value|(% style="width:80px" %)MOD|(% style="width:89px" %)Digital Interrupt
233 + |(% style="width:167px" %)(((
234 +Distance Alarm
232 232  
233 -Uplink Payload totals 10 bytes.
236 +0: No Alarm;
234 234  
235 -(% border="1" cellspacing="4" style="width:510px;background-color:#f2f2f2" %)
236 -|(% style="width:60px;background-color:#4F81BD;color:white" %)**Size(bytes)**|(% style="width:30px;background-color:#4F81BD;color:white" %)**2**|(% style="width:130px;background-color:#4F81BD;color:white" %)**1**|(% style="width:70px;background-color:#4F81BD;color:white" %)**2**|(% style="width:100px;background-color:#4F81BD;color:white" %)**1**|(% style="width:120px;background-color:#4F81BD;color:white" %)**4**
237 -|(% style="width:91px" %)Value|(% style="width:41px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
238 +1: Alarm
239 +)))
238 238  
241 +Example parse in TTNv3
239 239  
240 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
243 +[[image:image-20231209152917-1.png||height="300" width="1172"]]
241 241  
242 -==== **Battery Info** ====
245 +(% style="color:blue" %)**Battery Info:**
243 243  
244 244  Check the battery voltage for DS20L
245 245  
246 246  Ex1: 0x0E10 = 3600mV
247 247  
248 -**MOD & Alarm & Interrupt**
249 249  
250 -**MOD:**
252 +(% style="color:blue" %)**MOD & Alarm & Interrupt:**
251 251  
254 +(% style="color:red" %)**MOD:**
255 +
252 252  **Example: ** (0x60>>6) & 0x3f =1
253 253  
254 254  **0x01:**  Regularly detect distance and report.
255 255  **0x02: ** Uninterrupted measurement (external power supply).
256 256  
257 -**Alarm:**
261 +(% style="color:red" %)**Alarm:**
258 258  
259 259  When the detection distance exceeds the limit, the alarm flag is set to 1.
260 260  
261 -**Interrupt:**
265 +(% style="color:red" %)**Interrupt:**
262 262  
263 263  Whether it is an external interrupt.
264 264  
265 -==== Distance** info** ====
266 266  
270 +(% style="color:blue" %)**Distance info:**
271 +
267 267  **Example**:
268 268  
269 269  If payload is: 0708H: distance = 0708H = 1800 mm
270 270  
271 -==== **Sensor State** ====
272 272  
273 -Ex1: 0x00: Normal collection distance
277 +(% style="color:blue" %)**Sensor State:**
274 274  
275 -Ex2 0x0x: Distance collection is wrong
279 +Ex1: 0x00: Distance Reading is valid
276 276  
277 -==== **Interript Count** ====
281 +Ex2: 0x0x: Distance Reading is invalid
278 278  
283 +
284 +(% style="color:blue" %)**Interrupt Count:**
285 +
279 279  If payload is:000007D0H: count = 07D0H =2000
280 280  
281 -**MOD=2**
282 282  
283 -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.
284 284  
285 -|**Size(bytes)**|**2**|**1**|**4**|**2**|**2**
286 -|Value|[[BAT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS20L_LoRaWAN_Smart_Distance_Detector_User_Manual/#HBatteryInfo]]|MOD+ Alarm+Do+ Limit flag|Distance Limit  Alarm count|Upper limit|Lower limit
290 +==== (% style="color:red" %)**AT+MOD~=2**(%%)** ** ====
287 287  
288 288  
289 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
293 +The power consumption of uninterrupted measurement is high, and the device needs to use external power supply.(The switch is switched to E and the external power supply is used.)
290 290  
291 -**MOD & Alarm & Do & Limit** **flag**
295 +[[image:image-20231128133704-1.png||height="189" width="441"]]
292 292  
293 -**MOD:**
294 294  
298 +* **Set over-limit alarm mode: AT+DOL=3,500,244,**(% style="color:red" %)0(%%)**,120**
299 +
300 +(% class="wikigeneratedid" id="HUninterruptedmeasurement.Whenthedistanceexceedsthelimit2CtheoutputIOissethighandreportsarereportedeveryfiveminutes.Thetimecanbesetandpoweredbyanexternalpowersupply.UplinkPayloadtotals11bytes." %)
301 +Uninterrupted measurement. When the distance exceeds the limit, the output IO high, instant alarm.
302 +
303 +(% class="wikigeneratedid" %)
304 +**Uplink Payload totals 9 bytes.**
305 +
306 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:680px" %)
307 +|(% 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" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
308 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:210px" %)MOD+ DO+ Alarm+ DO flag+ Limit flag|(% style="width:74px" %)Distance |(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
309 +
310 +**MOD+DO+ Alarm+ Do flag+ Limit flag:**
311 +
312 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:680px" %)
313 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:90px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:90px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:120px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:100px" %)**[bit2:bit1:bit0]**
314 +|(% style="width:50px" %)Value|(% style="width:60px" %)MOD|(% style="width:89px" %)(((
315 +(((
316 +DO
317 +)))
318 +
319 +(((
320 +0:Within limit
321 +
322 +1:Out of limit
323 +)))
324 +)))|(% style="width:73px" %)(((
325 +Alarm
326 +
327 +0: No Alarm;
328 +
329 +1: Alarm
330 +)))|(% style="width:150px" %)(((
331 +DO flag
332 +
333 +0:the over-limit alarm mode
334 +
335 +1:the person or object count mode
336 +)))|(% style="width:103px" %)Limit flag
337 +(0~~3)
338 +
339 +Example parse in TTNv3
340 +
341 +[[image:image-20231209171127-3.png||height="374" width="1209"]]
342 +
343 +(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
344 +
345 +(% style="color:red" %)**MOD:**
346 +
295 295  **Example: ** (0x60>>6) & 0x3f =1
296 296  
297 297  **0x01:**  Regularly detect distance and report.
298 298  **0x02: ** Uninterrupted measurement (external power supply).
299 299  
300 -**Alarm:**
352 +(% style="color:red" %)**Alarm:**
301 301  
302 302  When the detection distance exceeds the limit, the alarm flag is set to 1.
303 303  
304 -**Do:**
356 +(% style="color:red" %)**DO:**
305 305  
306 -When the distance exceeds the set threshold, pull the Do pin high.
358 +Shows the DO pin status, while there is alarm trigger, The DO pin will be set to high (3.3v), It will be set to 0 low level when there is no alarm.
307 307  
308 -**Limit** **flag:**
360 +(% style="color:red" %)**Threshold Flag for Alarm:**
309 309  
310 -Mode for setting threshold: 0~~5
362 +Mode for setting threshold: **0~~3**
311 311  
312 -0: does not use upper and lower limits
364 +**0:** Distance limit range is not enabled, alarm:0.
313 313  
314 -1: Use upper and lower limits
366 +**1:** Trigger Alarm if distance exceed the range between lower and upper.
315 315  
316 -2: is less than the lower limit value
368 +**2:** Trigger Alarm if distance smaller than the upper limit.
317 317  
318 -3: is greater than the lower limit value
370 +**3: **Trigger Alarm if distance bigger than the lower limit .
319 319  
320 -4: is less than the upper limit
321 321  
322 -5: is greater than the upper limit
373 +(% style="color:blue" %)**Distance:**
323 323  
324 -**Upper limit:**
375 + Actual sampling distance values.
325 325  
326 -The upper limit of the threshold cannot exceed 2000mm.
377 +**Example:**
327 327  
328 -**Lower limit:**
379 +**AT+DOL=1,500,244,**(% style="color:red" %)0(%%)**,120  **
329 329  
330 -The lower limit of the threshold cannot be less than 3mm.
381 +The distance is detected every 120ms.
331 331  
383 +When the actual detection value is within the range of [244mm,500mm], the data is uploaded in the normal TDC time.
332 332  
333 -=== 2.3.3 Historical measuring distance, FPORT~=3 ===
385 +When the actual detection value is outside the range of [244mm,500mm], the uplink data will be immediately alerted.
334 334  
387 +If payload is: 0708H: distance = 0708H = 1800 mm
335 335  
336 -DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
337 337  
338 -The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
390 +(% style="color:blue" %)**Upper limit:**
339 339  
340 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
341 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
342 -**Size(bytes)**
343 -)))|=(% 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
344 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
345 -Reserve(0xFF)
346 -)))|Distance|Distance signal strength|(% style="width:88px" %)(((
347 -LiDAR temp
348 -)))|(% style="width:85px" %)Unix TimeStamp
392 +Show the pre-set upper limit in Hex, Unit: mm.
349 349  
350 -**Interrupt flag & Interrupt level:**
394 +Ex: 01F4(H)=500mm
351 351  
352 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
353 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
354 -**Size(bit)**
355 -)))|=(% 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**
356 -|(% 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" %)(((
357 -Interrupt flag
396 +
397 +(% style="color:blue" %)**Lower limit:**
398 +
399 +Show the pre-set lower limit in Hex, Unit: mm.
400 +
401 +Ex: 0xF4(H)=244mm
402 +
403 +
404 +* **Set the person or object count mode: AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120**
405 +
406 +Continuous measurement, detect and count people or things passing by in distance limit mode.
407 +
408 +**Uplink Payload totals 11 bytes.**
409 +
410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:680px" %)
411 +|(% 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**
412 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:210px" %)MOD+ DO+ Alarm+ DO flag+ Limit flag|(% style="width:176px" %)Distance limit alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
413 +
414 +**MOD+DO+ Alarm+ Do flag+ Limit flag:**
415 +
416 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:680px" %)
417 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:90px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:90px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:120px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:100px" %)**[bit2:bit1:bit0]**
418 +|(% style="width:50px" %)Value|(% style="width:60px" %)MOD|(% style="width:89px" %)(((
419 +(((
420 +DO
358 358  )))
359 359  
360 -* (((
361 -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.
423 +(((
424 +0:Within limit
425 +
426 +1:Out of limit
362 362  )))
428 +)))|(% style="width:73px" %)(((
429 +Alarm
363 363  
364 -For example, in the US915 band, the max payload for different DR is:
431 +0: No Alarm;
365 365  
366 -**a) DR0:** max is 11 bytes so one entry of data
433 +1: Alarm
434 +)))|(% style="width:150px" %)(((
435 +DO flag
367 367  
368 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
437 +0:the over-limit alarm mode
369 369  
370 -**c) DR2:** total payload includes 11 entries of data
439 +1:the person or object count mode
440 +)))|(% style="width:103px" %)Limit flag
441 +(0~~3)
371 371  
372 -**d) DR3:** total payload includes 22 entries of data.
443 +Example parse in TTNv3
373 373  
374 -If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
445 +[[image:image-20231209173457-5.png||height="277" width="1098"]]
375 375  
447 +(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
376 376  
377 -**Downlink:**
449 +(% style="color:red" %)**MOD:**
378 378  
379 -0x31 64 CC 68 0C 64 CC 69 74 05
451 +**Example: ** (0x60>>6) & 0x3f =1
380 380  
381 -[[image:image-20230805144936-2.png||height="113" width="746"]]
453 +**0x01:**  Regularly detect distance and report.
454 +**0x02: ** Uninterrupted measurement (external power supply).
382 382  
383 -**Uplink:**
456 +(% style="color:red" %)**Alarm:**
384 384  
385 -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
458 +When the detection distance exceeds the limit, the alarm flag is set to 1.
386 386  
460 +(% style="color:red" %)**Do:**
387 387  
388 -**Parsed Value:**
462 +Shows the DO pin status, while there is alarm trigger, The DO pin will be set to high (3.3v), It will be set to 0 low level when there is no alarm.
389 389  
390 -[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
464 +(% style="color:red" %)**Threshold Flag for Alarm:**
391 391  
466 +Mode for setting threshold: **0~~3**
392 392  
393 -[360,176,30,High,True,2023-08-04 02:53:00],
468 +**0:** does not use upper and lower limits
394 394  
395 -[355,168,30,Low,False,2023-08-04 02:53:29],
470 +**1:** Use upper and lower limits
396 396  
397 -[245,211,30,Low,False,2023-08-04 02:54:29],
472 +**2:** Less than the upper limit
398 398  
399 -[57,700,30,Low,False,2023-08-04 02:55:29],
474 +**3: **Greater than the lower limit
400 400  
401 -[361,164,30,Low,True,2023-08-04 02:56:00],
402 402  
403 -[337,184,30,Low,False,2023-08-04 02:56:40],
477 +(% style="color:blue" %)**Distance limit alarm count:**
404 404  
405 -[20,4458,30,Low,False,2023-08-04 02:57:40],
479 +People or objects are collected and counted within a limited distance.
406 406  
407 -[362,173,30,Low,False,2023-08-04 02:58:53],
481 +The detection of a stationary person or object at each sampling time will be repeated three times, and the fourth sampling count will be added by 1.
408 408  
483 +**Example:**
409 409  
410 -**History read from serial port:**
485 +**AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120   **
411 411  
412 -[[image:image-20230805145056-3.png]]
487 +People or objects passing within the distance range of [244mm,500mm] are detected and counted every 120ms.
413 413  
489 +If payload is: 0x56H, interrupt count =0x56H =86
414 414  
415 -=== 2.3.4 Decode payload in The Things Network ===
416 416  
492 +(% style="color:blue" %)**Upper limit:**
417 417  
494 +Show the pre-set upper limit in Hex, Unit: mm.
495 +
496 +Ex: 01F4(H)=500mm
497 +
498 +
499 +(% style="color:blue" %)**Lower limit:**
500 +
501 +Show the pre-set lower limit in Hex, Unit: mm.
502 +
503 +Ex: 0xF4(H)=244mm
504 +
505 +
506 +== 2.4 Decode payload in The Things Network ==
507 +
508 +
418 418  While using TTN network, you can add the payload format to decode the payload.
419 419  
420 -[[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"]]
511 +[[image:image-20231206143515-1.png||height="534" width="759"]]
421 421  
422 422  
423 423  (((
... ... @@ -429,11 +429,11 @@
429 429  )))
430 430  
431 431  
432 -== 2.4 ​Show Data in DataCake IoT Server ==
523 +== 2.5 ​Show Data in DataCake IoT Server ==
433 433  
434 434  
435 435  (((
436 -[[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:
527 +[[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, onhuman-friendlya in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
437 437  )))
438 438  
439 439  
... ... @@ -446,25 +446,29 @@
446 446  )))
447 447  
448 448  
449 -[[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"]]
540 +[[image:image-20231207153532-6.png||height="562" width="861"]]
450 450  
451 451  
452 -[[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"]]
543 +[[image:image-20231207155940-8.png]]
453 453  
545 +For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
454 454  
547 +[[image:image-20231207160733-11.png||height="429" width="759"]]
548 +
549 +
455 455  (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
456 456  
457 457  (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
458 458  
459 -[[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"]]
554 +[[image:image-20231207160343-10.png||height="665" width="705"]]
460 460  
461 461  
462 462  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
463 463  
464 -[[image:1701152946067-561.png]]
559 +[[image:image-20231129100454-2.png||height="501" width="928"]]
465 465  
466 466  
467 -== 2.5 Frequency Plans ==
562 +== 2.6 Frequency Plans ==
468 468  
469 469  
470 470  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.
... ... @@ -502,7 +502,7 @@
502 502  == 3.3 Commands special design for DS20L ==
503 503  
504 504  
505 -These commands only valid for DS20L, as below:
600 +Below commands only valid for DS20L, as below:
506 506  
507 507  
508 508  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -545,6 +545,9 @@
545 545  )))
546 546  * (((
547 547  Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
643 +
644 +
645 +
548 548  )))
549 549  
550 550  === 3.3.2 Set Interrupt Mode ===
... ... @@ -585,10 +585,9 @@
585 585  
586 586  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
587 587  
686 +=== 3.3.3 Set work mode ===
588 588  
589 -== 3.3.3 Set work mode ==
590 590  
591 -
592 592  Feature: Switch working mode
593 593  
594 594  (% style="color:blue" %)**AT Command: AT+MOD**
... ... @@ -603,9 +603,9 @@
603 603  
604 604  (% style="color:blue" %)**Downlink Command:**
605 605  
606 -* **Example: **0x0A0 ~/~/  Same as AT+MOD=0
703 +* **Example: **0x0A01 ~/~/  Same as AT+MOD=1
607 607  
608 -* **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
705 +* **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
609 609  
610 610  === 3.3.4 Set threshold and threshold mode ===
611 611  
... ... @@ -624,21 +624,37 @@
624 624  )))
625 625  |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
626 626  
724 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
725 +|=(% 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" %) Parameter
726 +|(% rowspan="11" style="color:blue; width:120px" %)(((
727 +
627 627  
628 628  
629 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
630 -|(% 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
730 +
731 +
732 +
733 +
734 +
735 +
736 +
737 +
738 +**AT+DOL=1,1800,3,0,400**
739 +)))|(% rowspan="4" style="width:240px" %)(((
740 +
741 +
742 +
743 +
744 +The first bit sets the limit mode
745 +)))|(% style="width:150px" %)0: Do not use upper and lower limits
631 631  |(% style="width:251px" %)1: Use upper and lower limits
632 -|(% style="width:251px" %)2: Less than the lower limit
747 +|(% style="width:251px" %)2:Less than the upper limit
633 633  |(% style="width:251px" %)3: Greater than the lower limit
634 -|(% style="width:251px" %)4: Less than the upper limit
635 -|(% style="width:251px" %)5: Greater than the upper limit
636 636  |(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
637 637  |(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
638 638  |(% 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
639 639  |(% style="width:251px" %)1 Person or object counting statistics
640 640  |(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
641 -0~~10000ms
754 +100~~10000ms
642 642  
643 643  
644 644  )))
... ... @@ -645,14 +645,42 @@
645 645  
646 646  (% style="color:blue" %)**Downlink Command: 0x07**
647 647  
648 -Format: Command Code (0x07) followed by 9bytes.
761 +Format: Command Code (0x07) followed by 9 bytes.
649 649  
650 -* Example 0: Downlink Payload070000000000000190  **~-~-->**  AT+MOD=0,0,0,0,400
763 +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.
651 651  
765 +* Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
766 +
652 652  * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
653 653  
769 +* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,1800,100,0,400
654 654  
771 +* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,0,100,0,400
655 655  
773 +(% style="color:Red" %)**Note: The over-limit alarm is applied to MOD1 and MOD2.**
774 +
775 +**For example:**
776 +
777 +* **AT+MOD=1**
778 +
779 + **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
780 +
781 +Send data according to the normal TDC time. If the mode limit is exceeded, the alarm flag is set to 1:
782 +
783 +[[image:image-20231211113204-2.png||height="292" width="1093"]]
784 +
785 +* **AT+MOD=2  **
786 +
787 + **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
788 +
789 +If the mode limit is exceeded, the data is immediately uplink and the alarm flag is set to 1:
790 +
791 +[[image:image-20231211114932-3.png||height="277" width="1248"]]
792 +
793 +
794 +
795 +
796 +
656 656  = 4. Battery & Power Consumption =
657 657  
658 658  
... ... @@ -689,6 +689,33 @@
689 689  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"]]
690 690  
691 691  
833 +== 6.2 DS20L programming line ==
834 +
835 +
836 +缺图 后续补上
837 +
838 +feature:
839 +
840 +for AT commands
841 +
842 +Update the firmware of DS20L
843 +
844 +Support interrupt mode
845 +
846 +
847 +== 6.3 LiDAR probe position ==
848 +
849 +
850 +[[image:1701155390576-216.png||height="285" width="307"]]
851 +
852 +The black oval hole in the picture is the LiDAR probe.
853 +
854 +
855 +== 6.4 Interface definition ==
856 +
857 +[[image:image-20231128151132-2.png||height="305" width="557"]]
858 +
859 +
692 692  = 7. Trouble Shooting =
693 693  
694 694  == 7.1 AT Command input doesn't work ==
1701155076393-719.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +54.6 KB
Content
1701155150328-206.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +54.6 KB
Content
1701155390576-216.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +293.9 KB
Content
image-20231128151132-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +281.2 KB
Content
image-20231129085201-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +70.6 KB
Content
image-20231129100454-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +70.1 KB
Content
image-20231206143515-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +89.5 KB
Content
image-20231206144950-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +41.0 KB
Content
image-20231206151412-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +58.8 KB
Content
image-20231206154621-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +71.2 KB
Content
image-20231206194804-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +53.7 KB
Content
image-20231206195704-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +64.1 KB
Content
image-20231207142208-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +27.2 KB
Content
image-20231207144600-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +55.4 KB
Content
image-20231207144837-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +31.1 KB
Content
image-20231207144856-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +31.1 KB
Content
image-20231207145121-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +33.3 KB
Content
image-20231207153532-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +164.7 KB
Content
image-20231207154046-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +23.0 KB
Content
image-20231207155940-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +41.7 KB
Content
image-20231207160053-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +95.5 KB
Content
image-20231207160343-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +80.5 KB
Content
image-20231207160733-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +136.0 KB
Content
image-20231209152917-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +65.9 KB
Content
image-20231209155616-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +57.1 KB
Content
image-20231209171127-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +80.8 KB
Content
image-20231209171549-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +45.7 KB
Content
image-20231209173457-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +66.3 KB
Content
image-20231211113113-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +64.5 KB
Content
image-20231211113204-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +59.7 KB
Content
image-20231211114932-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +57.3 KB
Content
image-20231211220922-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +411.2 KB
Content
image-20231211221253-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +90.8 KB
Content
image-20231211221436-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +64.9 KB
Content