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

From version 124.1
edited by Xiaoling
on 2023/11/28 15:11
Change comment: Uploaded new attachment "image-20231128151132-2.png", version {1}
To version 125.7
edited by Xiaoling
on 2023/11/29 09:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -47,6 +47,8 @@
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 +
50 50  == 1.3 Specification ==
51 51  
52 52  
... ... @@ -60,6 +60,8 @@
60 60  * ToF FoV: ±9°, Total 18°
61 61  * Light source: VCSEL
62 62  
65 +
66 +
63 63  == 1.4 Power Consumption ==
64 64  
65 65  
... ... @@ -73,6 +73,8 @@
73 73  * Idle: 21 mA @ 3.3v
74 74  * Max : 360 mA
75 75  
80 +
81 +
76 76  = 2. Configure DS20L to connect to LoRaWAN network =
77 77  
78 78  == 2.1 How it works ==
... ... @@ -206,45 +206,25 @@
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:
215 +==== (% style="color:red" %)**MOD~=1**(%%) ====
211 211  
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 -
231 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.
232 232  
233 233  Uplink Payload totals 10 bytes.
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
221 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
222 +|(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4**
223 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
238 238  
225 +[[image:1701155076393-719.png]]
239 239  
240 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
227 +(% style="color:blue" %)**Battery Info:**
241 241  
242 -(% style="color:blue" %)**Battery Info**
243 -
244 244  Check the battery voltage for DS20L
245 245  
246 246  Ex1: 0x0E10 = 3600mV
247 247  
233 +
248 248  (% style="color:blue" %)**MOD & Alarm & Interrupt:**
249 249  
250 250  (% style="color:red" %)**MOD:**
... ... @@ -262,36 +262,37 @@
262 262  
263 263  Whether it is an external interrupt.
264 264  
265 -(% style="color:blue" %)**Distance info**
266 266  
252 +(% style="color:blue" %)**Distance info:**
253 +
267 267  **Example**:
268 268  
269 269  If payload is: 0708H: distance = 0708H = 1800 mm
270 270  
271 -(% style="color:blue" %)**Sensor State**
272 272  
259 +(% style="color:blue" %)**Sensor State:**
260 +
273 273  Ex1: 0x00: Normal collection distance
274 274  
275 275  Ex2 0x0x: Distance collection is wrong
276 276  
277 -(% style="color:blue" %)**Interript Count**
278 278  
266 +(% style="color:blue" %)**Interript Count:**
267 +
279 279  If payload is:000007D0H: count = 07D0H =2000
280 280  
281 281  
282 282  
272 +==== (% style="color:red" %)**MOD~=2**(%%)** ** ====
283 283  
284 -==== (% style="color:red" %)**MOD=2** ====
285 -
286 286  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.
287 287  
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 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
277 +|(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**4**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
278 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:74px" %)Distance Limit Alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
291 291  
280 +[[image:1701155150328-206.png]]
292 292  
293 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
294 -
295 295  (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
296 296  
297 297  (% style="color:red" %)**MOD:**
... ... @@ -311,19 +311,19 @@
311 311  
312 312  (% style="color:red" %)**Limit flag:**
313 313  
314 -Mode for setting threshold: 0~~5
301 +Mode for setting threshold: **0~~5**
315 315  
316 -0: does not use upper and lower limits
303 +**0:** does not use upper and lower limits
317 317  
318 -1: Use upper and lower limits
305 +**1:** Use upper and lower limits
319 319  
320 -2: is less than the lower limit value
307 +**2:** is less than the lower limit value
321 321  
322 -3: is greater than the lower limit value
309 +**3:** is greater than the lower limit value
323 323  
324 -4: is less than the upper limit
311 +**4:** is less than the upper limit
325 325  
326 -5: is greater than the upper limit
313 +**5:** is greater than the upper limit
327 327  
328 328  
329 329  (% style="color:blue" %)**Upper limit:**
... ... @@ -330,96 +330,15 @@
330 330  
331 331  The upper limit of the threshold cannot exceed 2000mm.
332 332  
320 +
333 333  (% style="color:blue" %)**Lower limit:**
334 334  
335 335  The lower limit of the threshold cannot be less than 3mm.
336 336  
337 337  
338 -=== 2.3.3 Historical measuring distance, FPORT~=3 ===
326 +=== 2.3.3 Decode payload in The Things Network ===
339 339  
340 340  
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 -
423 423  While using TTN network, you can add the payload format to decode the payload.
424 424  
425 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"]]
... ... @@ -466,7 +466,7 @@
466 466  
467 467  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
468 468  
469 -[[image:1701152946067-561.png]]
375 +[[image:image-20231129085201-1.png||height="515" width="961"]]
470 470  
471 471  
472 472  == 2.5 Frequency Plans ==
... ... @@ -490,6 +490,8 @@
490 490  
491 491  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
492 492  
399 +
400 +
493 493  == 3.2 General Commands ==
494 494  
495 495  
... ... @@ -550,6 +550,9 @@
550 550  )))
551 551  * (((
552 552  Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
461 +
462 +
463 +
553 553  )))
554 554  
555 555  === 3.3.2 Set Interrupt Mode ===
... ... @@ -591,9 +591,10 @@
591 591  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
592 592  
593 593  
594 -== 3.3.3 Set work mode ==
595 595  
506 +=== 3.3.3 Set work mode ===
596 596  
508 +
597 597  Feature: Switch working mode
598 598  
599 599  (% style="color:blue" %)**AT Command: AT+MOD**
... ... @@ -612,6 +612,8 @@
612 612  
613 613  * **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
614 614  
527 +
528 +
615 615  === 3.3.4 Set threshold and threshold mode ===
616 616  
617 617  
... ... @@ -632,7 +632,20 @@
632 632  
633 633  
634 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
549 +|(% rowspan="11" style="color:blue; width:120px" %)(((
550 +
551 +
552 +
553 +
554 +
555 +
556 +
557 +
558 +
559 +
560 +
561 +**AT+DOL=5,1800,0,0,400**
562 +)))|(% rowspan="6" style="width:240px" %)The first bit sets the limit mode|(% style="width:150px" %)0: Do not use upper and lower limits
636 636  |(% style="width:251px" %)1: Use upper and lower limits
637 637  |(% style="width:251px" %)2: Less than the lower limit
638 638  |(% style="width:251px" %)3: Greater than the lower limit
... ... @@ -648,6 +648,8 @@
648 648  
649 649  )))
650 650  
578 +
579 +
651 651  (% style="color:blue" %)**Downlink Command: 0x07**
652 652  
653 653  Format: Command Code (0x07) followed by 9bytes.
... ... @@ -656,8 +656,16 @@
656 656  
657 657  * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
658 658  
588 +* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
659 659  
590 +* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
660 660  
592 +* Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
593 +
594 +* Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
595 +
596 +
597 +
661 661  = 4. Battery & Power Consumption =
662 662  
663 663  
... ... @@ -686,6 +686,8 @@
686 686  
687 687  * 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]]**.
688 688  
626 +
627 +
689 689  = 6. FAQ =
690 690  
691 691  == 6.1 What is the frequency plan for DS20L? ==
... ... @@ -694,6 +694,33 @@
694 694  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"]]
695 695  
696 696  
636 +== 6.2 DS20L programming line ==
637 +
638 +
639 +缺图 后续补上
640 +
641 +feature:
642 +
643 +for AT commands
644 +
645 +Update the firmware of DS20L
646 +
647 +Support interrupt mode
648 +
649 +
650 +== 6.3 LiDAR probe position ==
651 +
652 +
653 +[[image:1701155390576-216.png||height="285" width="307"]]
654 +
655 +The black oval hole in the picture is the LiDAR probe.
656 +
657 +
658 +== 6.4 Interface definition ==
659 +
660 +[[image:image-20231128151132-2.png||height="305" width="557"]]
661 +
662 +
697 697  = 7. Trouble Shooting =
698 698  
699 699  == 7.1 AT Command input doesn't work ==
... ... @@ -746,6 +746,8 @@
746 746  
747 747  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
748 748  
715 +
716 +
749 749  = 9. ​Packing Info =
750 750  
751 751  
... ... @@ -763,6 +763,8 @@
763 763  
764 764  * Weight / pcs : g
765 765  
734 +
735 +
766 766  = 10. Support =
767 767  
768 768  
image-20231129085201-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +70.6 KB
Content