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

From version 130.2
edited by Mengting Qiu
on 2023/12/06 18:46
Change comment: There is no comment for this version
To version 124.1
edited by Xiaoling
on 2023/11/28 15:11
Change comment: Uploaded new attachment "image-20231128151132-2.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Xiaoling
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  
10 10  
11 -**Table of Contents:(% style="display:none" %) (%%)**
11 +**Table of Contents**
12 12  
13 13  {{toc/}}
14 14  
... ... @@ -47,7 +47,6 @@
47 47  * Firmware upgradable via program port or LoRa protocol
48 48  * Built-in 2400mAh battery or power by external power source
49 49  
50 -
51 51  == 1.3 Specification ==
52 52  
53 53  
... ... @@ -61,7 +61,6 @@
61 61  * ToF FoV: ±9°, Total 18°
62 62  * Light source: VCSEL
63 63  
64 -
65 65  == 1.4 Power Consumption ==
66 66  
67 67  
... ... @@ -75,7 +75,6 @@
75 75  * Idle: 21 mA @ 3.3v
76 76  * Max : 360 mA
77 77  
78 -
79 79  = 2. Configure DS20L to connect to LoRaWAN network =
80 80  
81 81  == 2.1 How it works ==
... ... @@ -153,7 +153,7 @@
153 153  
154 154  Example parse in TTNv3
155 155  
156 -[[image:image-20231206151412-3.png||height="179" width="1070"]]
153 +[[image:1701149922873-259.png]]
157 157  
158 158  (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
159 159  
... ... @@ -209,25 +209,45 @@
209 209  === 2.3.2 Uplink Payload, FPORT~=2 ===
210 210  
211 211  
212 -==== (% style="color:red" %)**MOD~=1**(%%) ====
209 +(((
210 +DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
213 213  
212 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
213 +
214 +Uplink Payload totals 11 bytes.
215 +)))
216 +
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 +)))
228 +
229 +==== (% style="color:red" %)**MOD~=1** ====
230 +
214 214  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.
215 215  
216 216  Uplink Payload totals 10 bytes.
217 217  
218 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
219 -|(% 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**
220 -|(% 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
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
221 221  
222 -[[image:image-20231206154621-4.png||height="214" width="1019"]]
223 223  
224 -(% style="color:blue" %)**Battery Info:**
240 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
225 225  
242 +(% style="color:blue" %)**Battery Info**
243 +
226 226  Check the battery voltage for DS20L
227 227  
228 228  Ex1: 0x0E10 = 3600mV
229 229  
230 -
231 231  (% style="color:blue" %)**MOD & Alarm & Interrupt:**
232 232  
233 233  (% style="color:red" %)**MOD:**
... ... @@ -245,37 +245,36 @@
245 245  
246 246  Whether it is an external interrupt.
247 247  
265 +(% style="color:blue" %)**Distance info**
248 248  
249 -(% style="color:blue" %)**Distance info:**
250 -
251 251  **Example**:
252 252  
253 253  If payload is: 0708H: distance = 0708H = 1800 mm
254 254  
271 +(% style="color:blue" %)**Sensor State**
255 255  
256 -(% style="color:blue" %)**Sensor State:**
257 -
258 258  Ex1: 0x00: Normal collection distance
259 259  
260 260  Ex2 0x0x: Distance collection is wrong
261 261  
277 +(% style="color:blue" %)**Interript Count**
262 262  
263 -(% style="color:blue" %)**Interript Count:**
264 -
265 265  If payload is:000007D0H: count = 07D0H =2000
266 266  
267 267  
268 268  
269 -==== (% style="color:red" %)**MOD~=2**(%%)** ** ====
270 270  
284 +==== (% style="color:red" %)**MOD=2** ====
285 +
271 271  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.
272 272  
273 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
274 -|(% 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**
275 -|(% 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
288 +(% border="1" cellspacing="4" style="width:510px;background-color:#f2f2f2" %)
289 +|(% 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**
290 +|(% 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
276 276  
277 -[[image:1701155150328-206.png]]
278 278  
293 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
294 +
279 279  (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
280 280  
281 281  (% style="color:red" %)**MOD:**
... ... @@ -295,19 +295,19 @@
295 295  
296 296  (% style="color:red" %)**Limit flag:**
297 297  
298 -Mode for setting threshold: **0~~5**
314 +Mode for setting threshold: 0~~5
299 299  
300 -**0:** does not use upper and lower limits
316 +0: does not use upper and lower limits
301 301  
302 -**1:** Use upper and lower limits
318 +1: Use upper and lower limits
303 303  
304 -**2:** is less than the lower limit value
320 +2: is less than the lower limit value
305 305  
306 -**3:** is greater than the lower limit value
322 +3: is greater than the lower limit value
307 307  
308 -**4:** is less than the upper limit
324 +4: is less than the upper limit
309 309  
310 -**5:** is greater than the upper limit
326 +5: is greater than the upper limit
311 311  
312 312  
313 313  (% style="color:blue" %)**Upper limit:**
... ... @@ -314,18 +314,99 @@
314 314  
315 315  The upper limit of the threshold cannot exceed 2000mm.
316 316  
317 -
318 318  (% style="color:blue" %)**Lower limit:**
319 319  
320 320  The lower limit of the threshold cannot be less than 3mm.
321 321  
322 322  
323 -== 2.4 Decode payload in The Things Network ==
338 +=== 2.3.3 Historical measuring distance, FPORT~=3 ===
324 324  
325 325  
341 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
342 +
343 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
344 +
345 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
346 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
347 +**Size(bytes)**
348 +)))|=(% 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
349 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
350 +Reserve(0xFF)
351 +)))|Distance|Distance signal strength|(% style="width:88px" %)(((
352 +LiDAR temp
353 +)))|(% style="width:85px" %)Unix TimeStamp
354 +
355 +**Interrupt flag & Interrupt level:**
356 +
357 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
358 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
359 +**Size(bit)**
360 +)))|=(% 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**
361 +|(% 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" %)(((
362 +Interrupt flag
363 +)))
364 +
365 +* (((
366 +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.
367 +)))
368 +
369 +For example, in the US915 band, the max payload for different DR is:
370 +
371 +**a) DR0:** max is 11 bytes so one entry of data
372 +
373 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
374 +
375 +**c) DR2:** total payload includes 11 entries of data
376 +
377 +**d) DR3:** total payload includes 22 entries of data.
378 +
379 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
380 +
381 +
382 +**Downlink:**
383 +
384 +0x31 64 CC 68 0C 64 CC 69 74 05
385 +
386 +[[image:image-20230805144936-2.png||height="113" width="746"]]
387 +
388 +**Uplink:**
389 +
390 +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
391 +
392 +
393 +**Parsed Value:**
394 +
395 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
396 +
397 +
398 +[360,176,30,High,True,2023-08-04 02:53:00],
399 +
400 +[355,168,30,Low,False,2023-08-04 02:53:29],
401 +
402 +[245,211,30,Low,False,2023-08-04 02:54:29],
403 +
404 +[57,700,30,Low,False,2023-08-04 02:55:29],
405 +
406 +[361,164,30,Low,True,2023-08-04 02:56:00],
407 +
408 +[337,184,30,Low,False,2023-08-04 02:56:40],
409 +
410 +[20,4458,30,Low,False,2023-08-04 02:57:40],
411 +
412 +[362,173,30,Low,False,2023-08-04 02:58:53],
413 +
414 +
415 +**History read from serial port:**
416 +
417 +[[image:image-20230805145056-3.png]]
418 +
419 +
420 +=== 2.3.4 Decode payload in The Things Network ===
421 +
422 +
326 326  While using TTN network, you can add the payload format to decode the payload.
327 327  
328 -[[image:image-20231206143515-1.png||height="534" width="759"]]
425 +[[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"]]
329 329  
330 330  
331 331  (((
... ... @@ -337,7 +337,7 @@
337 337  )))
338 338  
339 339  
340 -== 2.5 ​Show Data in DataCake IoT Server ==
437 +== 2.4 ​Show Data in DataCake IoT Server ==
341 341  
342 342  
343 343  (((
... ... @@ -369,10 +369,10 @@
369 369  
370 370  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
371 371  
372 -[[image:image-20231129100454-2.png||height="501" width="928"]]
469 +[[image:1701152946067-561.png]]
373 373  
374 374  
375 -== 2.6 Frequency Plans ==
472 +== 2.5 Frequency Plans ==
376 376  
377 377  
378 378  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.
... ... @@ -393,7 +393,6 @@
393 393  
394 394  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
395 395  
396 -
397 397  == 3.2 General Commands ==
398 398  
399 399  
... ... @@ -454,9 +454,6 @@
454 454  )))
455 455  * (((
456 456  Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
457 -
458 -
459 -
460 460  )))
461 461  
462 462  === 3.3.2 Set Interrupt Mode ===
... ... @@ -498,7 +498,7 @@
498 498  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
499 499  
500 500  
501 -=== 3.3.3 Set work mode ===
594 +== 3.3.3 Set work mode ==
502 502  
503 503  
504 504  Feature: Switch working mode
... ... @@ -515,11 +515,10 @@
515 515  
516 516  (% style="color:blue" %)**Downlink Command:**
517 517  
518 -* **Example: **0x0A01 ~/~/  Same as AT+MOD=1
611 +* **Example: **0x0A0 ~/~/  Same as AT+MOD=0
519 519  
520 -* **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
613 +* **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
521 521  
522 -
523 523  === 3.3.4 Set threshold and threshold mode ===
524 524  
525 525  
... ... @@ -537,29 +537,10 @@
537 537  )))
538 538  |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
539 539  
540 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
541 -|(% rowspan="11" style="color:blue; width:120px" %)(((
542 -
543 543  
544 544  
545 -
546 -
547 -
548 -
549 -
550 -
551 -
552 -
553 -**AT+DOL=5,1800,0,0,400**
554 -)))|(% rowspan="6" style="width:240px" %)(((
555 -
556 -
557 -
558 -
559 -
560 -
561 -The first bit sets the limit mode
562 -)))|(% style="width:150px" %)0: Do not use upper and lower limits
634 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
635 +|(% 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
563 563  |(% style="width:251px" %)1: Use upper and lower limits
564 564  |(% style="width:251px" %)2: Less than the lower limit
565 565  |(% style="width:251px" %)3: Greater than the lower limit
... ... @@ -575,7 +575,6 @@
575 575  
576 576  )))
577 577  
578 -
579 579  (% style="color:blue" %)**Downlink Command: 0x07**
580 580  
581 581  Format: Command Code (0x07) followed by 9bytes.
... ... @@ -584,15 +584,8 @@
584 584  
585 585  * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
586 586  
587 -* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
588 588  
589 -* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
590 590  
591 -* Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
592 -
593 -* Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
594 -
595 -
596 596  = 4. Battery & Power Consumption =
597 597  
598 598  
... ... @@ -621,7 +621,6 @@
621 621  
622 622  * 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]]**.
623 623  
624 -
625 625  = 6. FAQ =
626 626  
627 627  == 6.1 What is the frequency plan for DS20L? ==
... ... @@ -630,33 +630,6 @@
630 630  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"]]
631 631  
632 632  
633 -== 6.2 DS20L programming line ==
634 -
635 -
636 -缺图 后续补上
637 -
638 -feature:
639 -
640 -for AT commands
641 -
642 -Update the firmware of DS20L
643 -
644 -Support interrupt mode
645 -
646 -
647 -== 6.3 LiDAR probe position ==
648 -
649 -
650 -[[image:1701155390576-216.png||height="285" width="307"]]
651 -
652 -The black oval hole in the picture is the LiDAR probe.
653 -
654 -
655 -== 6.4 Interface definition ==
656 -
657 -[[image:image-20231128151132-2.png||height="305" width="557"]]
658 -
659 -
660 660  = 7. Trouble Shooting =
661 661  
662 662  == 7.1 AT Command input doesn't work ==
... ... @@ -709,7 +709,6 @@
709 709  
710 710  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
711 711  
712 -
713 713  = 9. ​Packing Info =
714 714  
715 715  
... ... @@ -727,7 +727,6 @@
727 727  
728 728  * Weight / pcs : g
729 729  
730 -
731 731  = 10. Support =
732 732  
733 733  
image-20231129085201-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.6 KB
Content
image-20231129100454-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.1 KB
Content
image-20231206143515-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -89.5 KB
Content
image-20231206144950-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -41.0 KB
Content
image-20231206151412-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -58.8 KB
Content
image-20231206154621-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -71.2 KB
Content