Changes for page DS20L -- LoRaWAN Smart Distance Detector User Manual 01
Last modified by Mengting Qiu on 2023/12/14 11:15
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 2 removed)
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 0x2 1158 +(% 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,110 +226,114 @@ 226 226 [[Message Type>>||anchor="HMessageType"]] 227 227 ))) 228 228 229 -= === **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 - UplinkPayload totals10 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 - ====**BatteryInfo**====242 +Ex2: 0x0B49 = 2889mV 243 243 244 -Check the battery voltage for DS20L 245 245 246 - Ex1:0x0E10=3600mV245 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ==== 247 247 248 -**MOD & Alarm & Interrupt** 249 249 250 - **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 - **Alarm:**253 +If payload is: 0105H: (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree 258 258 259 - Whenthe detectiondistanceexceedsthelimit, thealarmflagissetto1.255 +If payload is: FF3FH : (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 260 260 261 -**Interrupt:** 262 262 263 - Whetheritisan external interrupt.258 +==== (% style="color:blue" %)**Distance**(%%) ==== 264 264 265 -==== 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 payloadis:0708H:distance=0708H =1800 mm266 +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 -==== **Sensor State** ==== 272 272 273 - Ex1:0x00:Normalctiondistance269 +==== (% style="color:blue" %)**Distance signal strength**(%%) ==== 274 274 275 -Ex2 0x0x: Distance collection is wrong 276 276 277 - ====**InterriptCount**====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 281 -** MOD=2**275 +**Example**: 282 282 283 - Uninterruptedmeasurement.Whenthedistanceexceeds thelimit, theoutput IO is set highand reportsarereportedeveryfiveminutes. Thetimecanbeset andpoweredby an external power supply.Uplink Payloadtotals 11bytes.277 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible. 284 284 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 +Customers can judge whether they need to adjust the environment based on the signal strength. 287 287 288 288 289 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]282 +**1) When the sensor detects valid data:** 290 290 291 - **MOD & Alarm& Do & Limit****flag**284 +[[image:image-20230805155335-1.png||height="145" width="724"]] 292 292 293 -**MOD:** 294 294 295 -** Example:**(0x60>>6)&0x3f=1287 +**2) When the sensor detects invalid data:** 296 296 297 -**0x01:** Regularly detect distance and report. 298 -**0x02: ** Uninterrupted measurement (external power supply). 289 +[[image:image-20230805155428-2.png||height="139" width="726"]] 299 299 300 -**Alarm:** 301 301 302 -When the detectiondistance exceeds the limit, the alarmflagissetto1.292 +**3) When the sensor is not connected:** 303 303 304 - **Do:**294 +[[image:image-20230805155515-3.png||height="143" width="725"]] 305 305 306 -When the distance exceeds the set threshold, pull the Do pin high. 307 307 308 -** Limit****flag:**297 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ==== 309 309 310 -Mode for setting threshold: 0~~5 311 311 312 - 0:does notuse upper andlowerlimits300 +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. 313 313 314 - 1:Useupper andlower limits302 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI . 315 315 316 - 2: is less than the lower limit value304 +**Example:** 317 317 318 - 3:is greaterthanthe lower limitvalue306 +If byte[0]&0x01=0x00 : Normal uplink packet. 319 319 320 - 4:is lessthantheperlimit308 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet. 321 321 322 -5: is greater than the upper limit 323 323 324 - **Uppermit:**311 +==== (% style="color:blue" %)**LiDAR temp**(%%) ==== 325 325 326 -The upper limit of the threshold cannot exceed 2000mm. 327 327 328 - **Lowerlimit:**314 +Characterize the internal temperature value of the sensor. 329 329 330 -The lower limit of the threshold cannot be less than 3mm. 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℃. 331 331 332 332 321 +==== (% style="color:blue" %)**Message Type**(%%) ==== 322 + 323 + 324 +((( 325 +For a normal uplink payload, the message type is always 0x01. 326 +))) 327 + 328 +((( 329 +Valid Message Type: 330 +))) 331 + 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 + 333 333 === 2.3.3 Historical measuring distance, FPORT~=3 === 334 334 335 335 ... ... @@ -461,18 +461,90 @@ 461 461 462 462 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake. 463 463 464 -[[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"]] 465 465 466 466 467 -== 2.5 F requencyPlans==474 +== 2.5 Datalog Feature == 468 468 469 469 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 + 470 470 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. 471 471 472 472 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 473 473 474 474 475 - =3. Configure DS20L=554 +3. Configure DS20L 476 476 477 477 == 3.1 Configure Methods == 478 478 ... ... @@ -544,7 +544,10 @@ 544 544 Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 545 545 ))) 546 546 * ((( 547 -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 + 548 548 ))) 549 549 550 550 === 3.3.2 Set Interrupt Mode === ... ... @@ -564,7 +564,7 @@ 564 564 the mode is 0 =Disable Interrupt 565 565 ))) 566 566 |(% style="width:154px" %)((( 567 -AT+INTMOD= 3649 +AT+INTMOD=2 568 568 569 569 (default) 570 570 )))|(% style="width:196px" %)((( ... ... @@ -585,74 +585,6 @@ 585 585 586 586 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 587 587 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 - 656 656 = 4. Battery & Power Consumption = 657 657 658 658
- 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