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

From version 120.7
edited by Xiaoling
on 2023/11/28 14:55
Change comment: There is no comment for this version
To version 173.2
edited by Mengting Qiu
on 2023/12/12 14:49
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,219 +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 -(% border="1" cellspacing="4" style="width:510px;background-color:#f2f2f2" %)
286 -|(% style="width:70px;background-color:#4F81BD;color:white" %)**Size(bytes)**|(% style="width:40px;background-color:#4F81BD;color:white" %)**2**|(% style="width:130px;background-color:#4F81BD;color:white" %)**1**|(% style="width:130px;background-color:#4F81BD;color:white" %)**4**|(% style="width:70px;background-color:#4F81BD;color:white" %)**2**|(% style="width:70px;background-color:#4F81BD;color:white" %)**2**
287 -|(% style="width:91px" %)Value|(% style="width:41px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% 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
290 +==== (% style="color:red" %)**AT+MOD~=2**(%%)** ** ====
288 288  
289 289  
290 -[[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.)
291 291  
292 -**MOD & Alarm & Do & Limit** **flag**
295 +[[image:image-20231128133704-1.png||height="189" width="441"]]
293 293  
294 -**MOD:**
295 295  
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 +Continuously measurement with Alarm. 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 +
296 296  **Example: ** (0x60>>6) & 0x3f =1
297 297  
298 298  **0x01:**  Regularly detect distance and report.
299 299  **0x02: ** Uninterrupted measurement (external power supply).
300 300  
301 -**Alarm:**
352 +(% style="color:red" %)**Alarm:**
302 302  
303 303  When the detection distance exceeds the limit, the alarm flag is set to 1.
304 304  
305 -**Do:**
356 +(% style="color:red" %)**DO:**
306 306  
307 -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.
308 308  
309 -**Limit** **flag:**
360 +(% style="color:red" %)**Threshold Flag for Alarm:**
310 310  
311 -Mode for setting threshold: 0~~5
362 +Mode for setting threshold: **0~~3**
312 312  
313 -0: does not use upper and lower limits
364 +**0:** Distance limit range is not enabled, alarm:0.
314 314  
315 -1: Use upper and lower limits
366 +**1:** Trigger Alarm if distance exceed the range between lower and upper.
316 316  
317 -2: is less than the lower limit value
368 +**2:** Trigger Alarm if distance smaller than the upper limit.
318 318  
319 -3: is greater than the lower limit value
370 +**3: **Trigger Alarm if distance bigger than the lower limit .
320 320  
321 -4: is less than the upper limit
322 322  
323 -5: is greater than the upper limit
373 +(% style="color:blue" %)**Distance:**
324 324  
325 -**Upper limit:**
375 + Actual sampling distance values.
326 326  
327 -The upper limit of the threshold cannot exceed 2000mm.
377 +**Example:**
328 328  
329 -**Lower limit:**
379 +**AT+DOL=1,500,244,**(% style="color:red" %)0(%%)**,120  **
330 330  
331 -The lower limit of the threshold cannot be less than 3mm.
381 +The distance is detected every 120ms.
332 332  
383 +When the actual detection value is within the range of [244mm,500mm], the data is uploaded in the normal TDC time.
333 333  
334 -=== 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.
335 335  
387 +If payload is: 0708H: distance = 0708H = 1800 mm
336 336  
337 -DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
338 338  
339 -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:**
340 340  
341 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
342 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
343 -**Size(bytes)**
344 -)))|=(% 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
345 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
346 -Reserve(0xFF)
347 -)))|Distance|Distance signal strength|(% style="width:88px" %)(((
348 -LiDAR temp
349 -)))|(% style="width:85px" %)Unix TimeStamp
392 +Show the pre-set upper limit in Hex, Unit: mm.
350 350  
351 -**Interrupt flag & Interrupt level:**
394 +Ex: 01F4(H)=500mm
352 352  
353 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
354 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
355 -**Size(bit)**
356 -)))|=(% 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**
357 -|(% 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" %)(((
358 -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 +Continuously measurement with Alarm, 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
359 359  )))
360 360  
361 -* (((
362 -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
363 363  )))
428 +)))|(% style="width:73px" %)(((
429 +Alarm
364 364  
365 -For example, in the US915 band, the max payload for different DR is:
431 +0: No Alarm;
366 366  
367 -**a) DR0:** max is 11 bytes so one entry of data
433 +1: Alarm
434 +)))|(% style="width:150px" %)(((
435 +DO flag
368 368  
369 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
437 +0:the over-limit alarm mode
370 370  
371 -**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)
372 372  
373 -**d) DR3:** total payload includes 22 entries of data.
443 +Example parse in TTNv3
374 374  
375 -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"]]
376 376  
447 +(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
377 377  
378 -**Downlink:**
449 +(% style="color:red" %)**MOD:**
379 379  
380 -0x31 64 CC 68 0C 64 CC 69 74 05
451 +**Example: ** (0x60>>6) & 0x3f =1
381 381  
382 -[[image:image-20230805144936-2.png||height="113" width="746"]]
453 +**0x01:**  Regularly detect distance and report.
454 +**0x02: ** Uninterrupted measurement (external power supply).
383 383  
384 -**Uplink:**
456 +(% style="color:red" %)**Alarm:**
385 385  
386 -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.
387 387  
460 +(% style="color:red" %)**Do:**
388 388  
389 -**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.
390 390  
391 -[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
464 +(% style="color:red" %)**Threshold Flag for Alarm:**
392 392  
466 +Mode for setting threshold: **0~~3**
393 393  
394 -[360,176,30,High,True,2023-08-04 02:53:00],
468 +**0:** does not use upper and lower limits
395 395  
396 -[355,168,30,Low,False,2023-08-04 02:53:29],
470 +**1:** Use upper and lower limits
397 397  
398 -[245,211,30,Low,False,2023-08-04 02:54:29],
472 +**2:** Less than the upper limit
399 399  
400 -[57,700,30,Low,False,2023-08-04 02:55:29],
474 +**3: **Greater than the lower limit
401 401  
402 -[361,164,30,Low,True,2023-08-04 02:56:00],
403 403  
404 -[337,184,30,Low,False,2023-08-04 02:56:40],
477 +(% style="color:blue" %)**Distance limit alarm count:**
405 405  
406 -[20,4458,30,Low,False,2023-08-04 02:57:40],
479 +People or objects are collected and counted within a limited distance.
407 407  
408 -[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.
409 409  
483 +**Example:**
410 410  
411 -**History read from serial port:**
485 +**AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120   **
412 412  
413 -[[image:image-20230805145056-3.png]]
487 +People or objects passing within the distance range of [244mm,500mm] are detected and counted every 120ms.
414 414  
489 +If payload is: 0x56H, interrupt count =0x56H =86
415 415  
416 -=== 2.3.4 Decode payload in The Things Network ===
417 417  
492 +(% style="color:blue" %)**Upper limit:**
418 418  
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 +
419 419  While using TTN network, you can add the payload format to decode the payload.
420 420  
421 -[[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"]]
422 422  
423 423  
424 424  (((
... ... @@ -430,11 +430,11 @@
430 430  )))
431 431  
432 432  
433 -== 2.4 ​Show Data in DataCake IoT Server ==
523 +== 2.5 ​Show Data in DataCake IoT Server ==
434 434  
435 435  
436 436  (((
437 -[[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:
438 438  )))
439 439  
440 440  
... ... @@ -447,25 +447,29 @@
447 447  )))
448 448  
449 449  
450 -[[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"]]
451 451  
452 452  
453 -[[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]]
454 454  
545 +For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
455 455  
547 +[[image:image-20231207160733-11.png||height="429" width="759"]]
548 +
549 +
456 456  (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
457 457  
458 458  (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
459 459  
460 -[[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"]]
461 461  
462 462  
463 463  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
464 464  
465 -[[image:1701152946067-561.png]]
559 +[[image:image-20231129100454-2.png||height="501" width="928"]]
466 466  
467 467  
468 -== 2.5 Frequency Plans ==
562 +== 2.6 Frequency Plans ==
469 469  
470 470  
471 471  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.
... ... @@ -480,10 +480,8 @@
480 480  
481 481  DS20L supports below configure method:
482 482  
483 -* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
577 +* 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.5UARTConnectionforDS20Lmotherboard]].
484 484  
485 -* 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]].
486 -
487 487  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
488 488  
489 489  == 3.2 General Commands ==
... ... @@ -503,7 +503,7 @@
503 503  == 3.3 Commands special design for DS20L ==
504 504  
505 505  
506 -These commands only valid for DS20L, as below:
598 +Below commands only valid for DS20L, as below:
507 507  
508 508  
509 509  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -546,6 +546,9 @@
546 546  )))
547 547  * (((
548 548  Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
641 +
642 +
643 +
549 549  )))
550 550  
551 551  === 3.3.2 Set Interrupt Mode ===
... ... @@ -586,10 +586,9 @@
586 586  
587 587  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
588 588  
684 +=== 3.3.3 Set work mode ===
589 589  
590 -== 3.3.3 Set work mode ==
591 591  
592 -
593 593  Feature: Switch working mode
594 594  
595 595  (% style="color:blue" %)**AT Command: AT+MOD**
... ... @@ -604,9 +604,9 @@
604 604  
605 605  (% style="color:blue" %)**Downlink Command:**
606 606  
607 -* **Example: **0x0A0 ~/~/  Same as AT+MOD=0
701 +* **Example: **0x0A01 ~/~/  Same as AT+MOD=1
608 608  
609 -* **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
703 +* **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
610 610  
611 611  === 3.3.4 Set threshold and threshold mode ===
612 612  
... ... @@ -625,21 +625,37 @@
625 625  )))
626 626  |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
627 627  
722 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
723 +|=(% 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
724 +|(% rowspan="11" style="color:blue; width:120px" %)(((
725 +
628 628  
629 629  
630 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
631 -|(% 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
728 +
729 +
730 +
731 +
732 +
733 +
734 +
735 +
736 +**AT+DOL=1,1800,3,0,400**
737 +)))|(% rowspan="4" style="width:240px" %)(((
738 +
739 +
740 +
741 +
742 +The first bit sets the limit mode
743 +)))|(% style="width:150px" %)0: Do not use upper and lower limits
632 632  |(% style="width:251px" %)1: Use upper and lower limits
633 -|(% style="width:251px" %)2: Less than the lower limit
745 +|(% style="width:251px" %)2:Less than the upper limit
634 634  |(% style="width:251px" %)3: Greater than the lower limit
635 -|(% style="width:251px" %)4: Less than the upper limit
636 -|(% style="width:251px" %)5: Greater than the upper limit
637 637  |(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
638 638  |(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
639 639  |(% 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
640 640  |(% style="width:251px" %)1 Person or object counting statistics
641 641  |(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
642 -0~~10000ms
752 +100~~10000ms
643 643  
644 644  
645 645  )))
... ... @@ -646,14 +646,42 @@
646 646  
647 647  (% style="color:blue" %)**Downlink Command: 0x07**
648 648  
649 -Format: Command Code (0x07) followed by 9bytes.
759 +Format: Command Code (0x07) followed by 9 bytes.
650 650  
651 -* Example 0: Downlink Payload070000000000000190  **~-~-->**  AT+MOD=0,0,0,0,400
761 +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.
652 652  
763 +* Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
764 +
653 653  * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
654 654  
767 +* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,1800,100,0,400
655 655  
769 +* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,0,100,0,400
656 656  
771 +(% style="color:Red" %)**Note: The over-limit alarm is applied to MOD1 and MOD2.**
772 +
773 +**For example:**
774 +
775 +* **AT+MOD=1**
776 +
777 + **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
778 +
779 +Send data according to the normal TDC time. If the mode limit is exceeded, the alarm flag is set to 1:
780 +
781 +[[image:image-20231211113204-2.png||height="292" width="1093"]]
782 +
783 +* **AT+MOD=2  **
784 +
785 + **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
786 +
787 +If the mode limit is exceeded, the data is immediately uplink and the alarm flag is set to 1:
788 +
789 +[[image:image-20231211114932-3.png||height="277" width="1248"]]
790 +
791 +
792 +
793 +
794 +
657 657  = 4. Battery & Power Consumption =
658 658  
659 659  
... ... @@ -690,6 +690,33 @@
690 690  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"]]
691 691  
692 692  
831 +== 6.2 DS20L programming line ==
832 +
833 +
834 +缺图 后续补上
835 +
836 +feature:
837 +
838 +for AT commands
839 +
840 +Update the firmware of DS20L
841 +
842 +Support interrupt mode
843 +
844 +
845 +== 6.3 LiDAR probe position ==
846 +
847 +
848 +[[image:1701155390576-216.png||height="285" width="307"]]
849 +
850 +The black oval hole in the picture is the LiDAR probe.
851 +
852 +
853 +== 6.4 Interface definition ==
854 +
855 +[[image:image-20231128151132-2.png||height="305" width="557"]]
856 +
857 +
693 693  = 7. Trouble Shooting =
694 694  
695 695  == 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