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

From version 120.8
edited by Xiaoling
on 2023/11/28 15:03
Change comment: There is no comment for this version
To version 118.1
edited by Xiaoling
on 2023/11/28 13:38
Change comment: Uploaded new attachment "1701149922873-259.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -60,6 +60,8 @@
60 60  * ToF FoV: ±9°, Total 18°
61 61  * Light source: VCSEL
62 62  
63 +
64 +
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  
78 +
79 +
76 76  = 2. Configure DS20L to connect to LoRaWAN network =
77 77  
78 78  == 2.1 How it works ==
... ... @@ -124,7 +124,6 @@
124 124  
125 125  (% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
126 126  
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  
... ... @@ -150,9 +150,9 @@
150 150  
151 151  Example parse in TTNv3
152 152  
153 -[[image:1701149922873-259.png]]
156 +[[image:image-20230805103904-1.png||height="131" width="711"]]
154 154  
155 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
158 +(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x24
156 156  
157 157  (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
158 158  
... ... @@ -226,115 +226,114 @@
226 226  [[Message Type>>||anchor="HMessageType"]]
227 227  )))
228 228  
229 -==== (% style="color:red" %)**MOD~=1** ====
232 +[[image:image-20230805104104-2.png||height="136" width="754"]]
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.
232 232  
233 -Uplink Payload totals 10 bytes.
235 +==== (% style="color:blue" %)**Battery Info**(%%) ====
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 238  
238 +Check the battery voltage for DS20L.
239 239  
240 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
240 +Ex1: 0x0B45 = 2885mV
241 241  
242 -(% style="color:blue" %)**Battery Info**
242 +Ex2: 0x0B49 = 2889mV
243 243  
244 -Check the battery voltage for DS20L
245 245  
246 -Ex1: 0x0E10 = 3600mV
245 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
247 247  
248 -(% style="color:blue" %)**MOD & Alarm & Interrupt:**
249 249  
250 -(% style="color:red" %)**MOD:**
248 +This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
251 251  
252 -**Example: ** (0x60>>6) & 0x3f =1
253 253  
254 -**0x01:**  Regularly detect distance and report.
255 -**0x02: ** Uninterrupted measurement (external power supply).
251 +**Example**:
256 256  
257 -(% style="color:red" %)**Alarm:**
253 +If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
258 258  
259 -When the detection distance exceeds the limit, the alarm flag is set to 1.
255 +If payload is: FF3FH (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
260 260  
261 -(% style="color:red" %)**Interrupt:**
262 262  
263 -Whether it is an external interrupt.
258 +==== (% style="color:blue" %)**Distance**(%%) ====
264 264  
265 -(% style="color:blue" %)**Distance info**
266 266  
261 +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.
262 +
263 +
267 267  **Example**:
268 268  
269 -If payload is: 0708H: distance = 0708H = 1800 mm
266 +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.
270 270  
271 -(% style="color:blue" %)**Sensor State**
272 272  
273 -Ex1: 0x00: Normal collection distance
269 +==== (% style="color:blue" %)**Distance signal strength**(%%) ====
274 274  
275 -Ex2 0x0x: Distance collection is wrong
276 276  
277 -(% style="color:blue" %)**Interript Count**
272 +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.
278 278  
279 -If payload is:000007D0H: count = 07D0H =2000
280 280  
275 +**Example**:
281 281  
277 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
282 282  
279 +Customers can judge whether they need to adjust the environment based on the signal strength.
283 283  
284 -==== (% style="color:red" %)**MOD=2** ====
285 285  
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.
282 +**1) When the sensor detects valid data:**
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
284 +[[image:image-20230805155335-1.png||height="145" width="724"]]
291 291  
292 292  
293 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
287 +**2) When the sensor detects invalid data:**
294 294  
295 -(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
289 +[[image:image-20230805155428-2.png||height="139" width="726"]]
296 296  
297 -(% style="color:red" %)**MOD:**
298 298  
299 -**Example: ** (0x60>>6) & 0x3f =1
292 +**3) When the sensor is not connected:**
300 300  
301 -**0x01:**  Regularly detect distance and report.
302 -**0x02: ** Uninterrupted measurement (external power supply).
294 +[[image:image-20230805155515-3.png||height="143" width="725"]]
303 303  
304 -(% style="color:red" %)**Alarm:**
305 305  
306 -When the detection distance exceeds the limit, the alarm flag is set to 1.
297 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
307 307  
308 -(% style="color:red" %)**Do:**
309 309  
310 -When the distance exceeds the set threshold, pull the Do pin high.
300 +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.
311 311  
312 -(% style="color:red" %)**Limit flag:**
302 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
313 313  
314 -Mode for setting threshold: 0~~5
304 +**Example:**
315 315  
316 -0: does not use upper and lower limits
306 +If byte[0]&0x01=0x00 : Normal uplink packet.
317 317  
318 -1: Use upper and lower limits
308 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
319 319  
320 -2: is less than the lower limit value
321 321  
322 -3: is greater than the lower limit value
311 +==== (% style="color:blue" %)**LiDAR temp**(%%) ====
323 323  
324 -4: is less than the upper limit
325 325  
326 -5: is greater than the upper limit
314 +Characterize the internal temperature value of the sensor.
327 327  
316 +**Example: **
317 +If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
318 +If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
328 328  
329 -(% style="color:blue" %)**Upper limit:**
330 330  
331 -The upper limit of the threshold cannot exceed 2000mm.
321 +==== (% style="color:blue" %)**Message Type**(%%) ====
332 332  
333 -(% style="color:blue" %)**Lower limit:**
334 334  
335 -The lower limit of the threshold cannot be less than 3mm.
324 +(((
325 +For a normal uplink payload, the message type is always 0x01.
326 +)))
336 336  
328 +(((
329 +Valid Message Type:
330 +)))
337 337  
332 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
333 +|=(% 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**
334 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload
335 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload
336 +
337 +[[image:image-20230805150315-4.png||height="233" width="723"]]
338 +
339 +
338 338  === 2.3.3 Historical measuring distance, FPORT~=3 ===
339 339  
340 340  
... ... @@ -466,18 +466,90 @@
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]]
471 +[[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"]]
470 470  
471 471  
472 -== 2.5 Frequency Plans ==
474 +== 2.5 Datalog Feature ==
473 473  
474 474  
477 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DS20L will store the reading for future retrieving purposes.
478 +
479 +
480 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
481 +
482 +
483 +Set PNACKMD=1, DS20L will wait for ACK for every uplink, when there is no LoRaWAN network, DS20L will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
484 +
485 +* (((
486 +a) DS20L will do an ACK check for data records sending to make sure every data arrive server.
487 +)))
488 +* (((
489 +b) DS20L will send data in **CONFIRMED Mode** when PNACKMD=1, but DS20L won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if DS20L gets a ACK, DS20L will consider there is a network connection and resend all NONE-ACK messages.
490 +)))
491 +
492 +=== 2.5.2 Unix TimeStamp ===
493 +
494 +
495 +DS20L uses Unix TimeStamp format based on
496 +
497 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
498 +
499 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
500 +
501 +Below is the converter example
502 +
503 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
504 +
505 +
506 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
507 +
508 +
509 +=== 2.5.3 Set Device Time ===
510 +
511 +
512 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
513 +
514 +Once DS20L Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to DS20L. If DS20L fails to get the time from the server, DS20L will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
515 +
516 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
517 +
518 +
519 +=== 2.5.4 Poll sensor value ===
520 +
521 +
522 +Users can poll sensor values based on timestamps. Below is the downlink command.
523 +
524 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
525 +|(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
526 +|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
527 +|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
528 +
529 +(((
530 +Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
531 +)))
532 +
533 +(((
534 +For example, downlink command [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/image-20220518162852-1.png?rev=1.1||alt="image-20220518162852-1.png"]]
535 +)))
536 +
537 +(((
538 +Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
539 +)))
540 +
541 +(((
542 +Uplink Internal =5s,means DS20L will send one packet every 5s. range 5~~255s.
543 +)))
544 +
545 +
546 +== 2.6 Frequency Plans ==
547 +
548 +
475 475  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.
476 476  
477 477  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
478 478  
479 479  
480 -= 3. Configure DS20L =
554 +3. Configure DS20L
481 481  
482 482  == 3.1 Configure Methods ==
483 483  
... ... @@ -549,7 +549,10 @@
549 549  Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
550 550  )))
551 551  * (((
552 -Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
626 +Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds 
627 +
628 +
629 +
553 553  )))
554 554  
555 555  === 3.3.2 Set Interrupt Mode ===
... ... @@ -569,7 +569,7 @@
569 569  the mode is 0 =Disable Interrupt
570 570  )))
571 571  |(% style="width:154px" %)(((
572 -AT+INTMOD=3
649 +AT+INTMOD=2
573 573  
574 574  (default)
575 575  )))|(% style="width:196px" %)(((
... ... @@ -590,74 +590,6 @@
590 590  
591 591  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
592 592  
593 -
594 -== 3.3.3 Set work mode ==
595 -
596 -
597 -Feature: Switch working mode
598 -
599 -(% style="color:blue" %)**AT Command: AT+MOD**
600 -
601 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
602 -|=(% 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" %)**Response**
603 -|(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
604 -|(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
605 -OK
606 -Attention:Take effect after ATZ
607 -)))
608 -
609 -(% style="color:blue" %)**Downlink Command:**
610 -
611 -* **Example: **0x0A00  ~/~/  Same as AT+MOD=0
612 -
613 -* **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
614 -
615 -=== 3.3.4 Set threshold and threshold mode ===
616 -
617 -
618 -Feature, Set threshold and threshold mode
619 -
620 -When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
621 -
622 -(% style="color:blue" %)**AT Command: AT+DOL**
623 -
624 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
625 -|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:108px" %)**Response**
626 -|(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
627 -0,0,0,0,400
628 -OK
629 -)))
630 -|(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
631 -
632 -
633 -
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
636 -|(% style="width:251px" %)1: Use upper and lower limits
637 -|(% style="width:251px" %)2: Less than the lower limit
638 -|(% style="width:251px" %)3: Greater than the lower limit
639 -|(% style="width:251px" %)4: Less than the upper limit
640 -|(% style="width:251px" %)5: Greater than the upper limit
641 -|(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
642 -|(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
643 -|(% 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
644 -|(% style="width:251px" %)1 Person or object counting statistics
645 -|(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
646 -0~~10000ms
647 -
648 -
649 -)))
650 -
651 -(% style="color:blue" %)**Downlink Command: 0x07**
652 -
653 -Format: Command Code (0x07) followed by 9bytes.
654 -
655 -* Example 0: Downlink Payload: 070000000000000190  **~-~-->**  AT+MOD=0,0,0,0,400
656 -
657 -* Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
658 -
659 -
660 -
661 661  = 4. Battery & Power Consumption =
662 662  
663 663  
1701152902759-553.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content
1701152946067-561.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content