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

From version 125.2
edited by Xiaoling
on 2023/11/29 08:52
Change comment: There is no comment for this version
To version 119.1
edited by Xiaoling
on 2023/11/28 14:28
Change comment: Uploaded new attachment "1701152902759-553.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -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 ==
... ... @@ -209,120 +209,219 @@
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  
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.
212 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
215 215  
216 -Uplink Payload totals 10 bytes.
214 +Uplink Payload totals 11 bytes.
215 +)))
217 217  
218 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
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 +)))
221 221  
222 -[[image:1701155076393-719.png]]
229 +[[image:image-20230805104104-2.png||height="136" width="754"]]
223 223  
224 -(% style="color:blue" %)**Battery Info:**
225 225  
226 -Check the battery voltage for DS20L
232 +==== (% style="color:blue" %)**Battery Info**(%%) ====
227 227  
228 -Ex1: 0x0E10 = 3600mV
229 229  
235 +Check the battery voltage for DS20L.
230 230  
231 -(% style="color:blue" %)**MOD & Alarm & Interrupt:**
237 +Ex1: 0x0B45 = 2885mV
232 232  
233 -(% style="color:red" %)**MOD:**
239 +Ex2: 0x0B49 = 2889mV
234 234  
235 -**Example: ** (0x60>>6) & 0x3f =1
236 236  
237 -**0x01:**  Regularly detect distance and report.
238 -**0x02: ** Uninterrupted measurement (external power supply).
242 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
239 239  
240 -(% style="color:red" %)**Alarm:**
241 241  
242 -When the detection distance exceeds the limit, the alarm flag is set to 1.
245 +This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
243 243  
244 -(% style="color:red" %)**Interrupt:**
245 245  
246 -Whether it is an external interrupt.
248 +**Example**:
247 247  
250 +If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
248 248  
249 -(% style="color:blue" %)**Distance info:**
252 +If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
250 250  
254 +
255 +==== (% style="color:blue" %)**Distance**(%%) ====
256 +
257 +
258 +Represents the distance value of the measurement output, the default unit is cm, and the value range parsed as a decimal number is 0-1200. In actual use, when the signal strength value Strength.
259 +
260 +
251 251  **Example**:
252 252  
253 -If payload is: 0708H: distance = 0708H = 1800 mm
263 +If the data you get from the register is 0x0B 0xEA, the distance between the sensor and the measured object is 0BEA(H) = 3050 (D)/10 = 305cm.
254 254  
255 255  
256 -(% style="color:blue" %)**Sensor State:**
266 +==== (% style="color:blue" %)**Distance signal strength**(%%) ====
257 257  
258 -Ex1: 0x00: Normal collection distance
259 259  
260 -Ex2 0x0x: Distance collection is wrong
269 +Refers to the signal strength, the default output value will be between 0-65535. When the distance measurement gear is fixed, the farther the distance measurement is, the lower the signal strength; the lower the target reflectivity, the lower the signal strength. When Strength is greater than 100 and not equal to 65535, the measured value of Dist is considered credible.
261 261  
262 262  
263 -(% style="color:blue" %)**Interript Count:**
272 +**Example**:
264 264  
265 -If payload is:000007D0H: count = 07D0H =2000
274 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
266 266  
276 +Customers can judge whether they need to adjust the environment based on the signal strength.
267 267  
268 268  
269 -==== (% style="color:red" %)**MOD~=2**(%%)** ** ====
279 +**1) When the sensor detects valid data:**
270 270  
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.
281 +[[image:image-20230805155335-1.png||height="145" width="724"]]
272 272  
283 +
284 +**2) When the sensor detects invalid data:**
285 +
286 +[[image:image-20230805155428-2.png||height="139" width="726"]]
287 +
288 +
289 +**3) When the sensor is not connected:**
290 +
291 +[[image:image-20230805155515-3.png||height="143" width="725"]]
292 +
293 +
294 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
295 +
296 +
297 +This data field shows if this packet is generated by interrupt or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up.
298 +
299 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
300 +
301 +**Example:**
302 +
303 +If byte[0]&0x01=0x00 : Normal uplink packet.
304 +
305 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
306 +
307 +
308 +==== (% style="color:blue" %)**LiDAR temp**(%%) ====
309 +
310 +
311 +Characterize the internal temperature value of the sensor.
312 +
313 +**Example: **
314 +If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
315 +If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
316 +
317 +
318 +==== (% style="color:blue" %)**Message Type**(%%) ====
319 +
320 +
321 +(((
322 +For a normal uplink payload, the message type is always 0x01.
323 +)))
324 +
325 +(((
326 +Valid Message Type:
327 +)))
328 +
329 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
330 +|=(% style="width: 161px;background-color:#4F81BD;color:white" %)**Message Type Code**|=(% style="width: 164px;background-color:#4F81BD;color:white" %)**Description**|=(% style="width: 174px;background-color:#4F81BD;color:white" %)**Payload**
331 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload
332 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload
333 +
334 +[[image:image-20230805150315-4.png||height="233" width="723"]]
335 +
336 +
337 +=== 2.3.3 Historical measuring distance, FPORT~=3 ===
338 +
339 +
340 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
341 +
342 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
343 +
273 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
345 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
346 +**Size(bytes)**
347 +)))|=(% 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
348 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
349 +Reserve(0xFF)
350 +)))|Distance|Distance signal strength|(% style="width:88px" %)(((
351 +LiDAR temp
352 +)))|(% style="width:85px" %)Unix TimeStamp
276 276  
277 -[[image:1701155150328-206.png]]
354 +**Interrupt flag & Interrupt level:**
278 278  
279 -(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
356 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
357 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
358 +**Size(bit)**
359 +)))|=(% 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**
360 +|(% 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" %)(((
361 +Interrupt flag
362 +)))
280 280  
281 -(% style="color:red" %)**MOD:**
364 +* (((
365 +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.
366 +)))
282 282  
283 -**Example: ** (0x60>>6) & 0x3f =1
368 +For example, in the US915 band, the max payload for different DR is:
284 284  
285 -**0x01:**  Regularly detect distance and report.
286 -**0x02: ** Uninterrupted measurement (external power supply).
370 +**a) DR0:** max is 11 bytes so one entry of data
287 287  
288 -(% style="color:red" %)**Alarm:**
372 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
289 289  
290 -When the detection distance exceeds the limit, the alarm flag is set to 1.
374 +**c) DR2:** total payload includes 11 entries of data
291 291  
292 -(% style="color:red" %)**Do:**
376 +**d) DR3:** total payload includes 22 entries of data.
293 293  
294 -When the distance exceeds the set threshold, pull the Do pin high.
378 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
295 295  
296 -(% style="color:red" %)**Limit flag:**
297 297  
298 -Mode for setting threshold: 0~~5
381 +**Downlink:**
299 299  
300 -0: does not use upper and lower limits
383 +0x31 64 CC 68 0C 64 CC 69 74 05
301 301  
302 -1: Use upper and lower limits
385 +[[image:image-20230805144936-2.png||height="113" width="746"]]
303 303  
304 -2: is less than the lower limit value
387 +**Uplink:**
305 305  
306 -3: is greater than the lower limit value
389 +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
307 307  
308 -4: is less than the upper limit
309 309  
310 -5: is greater than the upper limit
392 +**Parsed Value:**
311 311  
394 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
312 312  
313 -(% style="color:blue" %)**Upper limit:**
314 314  
315 -The upper limit of the threshold cannot exceed 2000mm.
397 +[360,176,30,High,True,2023-08-04 02:53:00],
316 316  
399 +[355,168,30,Low,False,2023-08-04 02:53:29],
317 317  
318 -(% style="color:blue" %)**Lower limit:**
401 +[245,211,30,Low,False,2023-08-04 02:54:29],
319 319  
320 -The lower limit of the threshold cannot be less than 3mm.
403 +[57,700,30,Low,False,2023-08-04 02:55:29],
321 321  
405 +[361,164,30,Low,True,2023-08-04 02:56:00],
322 322  
323 -=== 2.3.3 Decode payload in The Things Network ===
407 +[337,184,30,Low,False,2023-08-04 02:56:40],
324 324  
409 +[20,4458,30,Low,False,2023-08-04 02:57:40],
325 325  
411 +[362,173,30,Low,False,2023-08-04 02:58:53],
412 +
413 +
414 +**History read from serial port:**
415 +
416 +[[image:image-20230805145056-3.png]]
417 +
418 +
419 +=== 2.3.4 Decode payload in The Things Network ===
420 +
421 +
326 326  While using TTN network, you can add the payload format to decode the payload.
327 327  
328 328  [[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"]]
... ... @@ -369,7 +369,7 @@
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-20231129085201-1.png||height="515" width="961"]]
468 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/image-20220610165129-11.png?width=1088&height=595&rev=1.1||alt="image-20220610165129-11.png"]]
373 373  
374 374  
375 375  == 2.5 Frequency Plans ==
... ... @@ -453,9 +453,6 @@
453 453  )))
454 454  * (((
455 455  Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
456 -
457 -
458 -
459 459  )))
460 460  
461 461  === 3.3.2 Set Interrupt Mode ===
... ... @@ -496,6 +496,7 @@
496 496  
497 497  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
498 498  
592 +
499 499  == 3.3.3 Set work mode ==
500 500  
501 501  
... ... @@ -534,6 +534,8 @@
534 534  )))
535 535  |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
536 536  
631 +
632 +
537 537  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
538 538  |(% 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
539 539  |(% style="width:251px" %)1: Use upper and lower limits
... ... @@ -559,15 +559,8 @@
559 559  
560 560  * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
561 561  
562 -* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
563 563  
564 -* Example 3: Downlink Payload: 0703200000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
565 565  
566 -* Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
567 -
568 -* Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
569 -
570 -
571 571  = 4. Battery & Power Consumption =
572 572  
573 573  
... ... @@ -604,33 +604,6 @@
604 604  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"]]
605 605  
606 606  
607 -== 6.2 DS20L programming line ==
608 -
609 -
610 -缺图 后续补上
611 -
612 -feature:
613 -
614 -for AT commands
615 -
616 -Update the firmware of DS20L
617 -
618 -Support interrupt mode
619 -
620 -
621 -== 6.3 LiDAR probe position ==
622 -
623 -
624 -[[image:1701155390576-216.png||height="285" width="307"]]
625 -
626 -The black oval hole in the picture is the LiDAR probe.
627 -
628 -
629 -== 6.4 Interface definition ==
630 -
631 -[[image:image-20231128151132-2.png||height="305" width="557"]]
632 -
633 -
634 634  = 7. Trouble Shooting =
635 635  
636 636  == 7.1 AT Command input doesn't work ==
1701152946067-561.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content
1701155076393-719.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -54.6 KB
Content
1701155150328-206.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -54.6 KB
Content
1701155390576-216.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -293.9 KB
Content
image-20231128151132-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -281.2 KB
Content
image-20231129085201-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.6 KB
Content