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

From version 116.1
edited by kai
on 2023/11/11 17:02
Change comment: There is no comment for this version
To version 120.3
edited by Xiaoling
on 2023/11/28 14:43
Change comment: There is no comment for this version

Summary

Details

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