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 (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 4 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. kai1 +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 0x2 4155 +(% 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,115 @@ 228 228 [[Message Type>>||anchor="HMessageType"]] 229 229 ))) 230 230 231 - [[image:image-20230805104104-2.png||height="136"width="754"]]229 +==== (% style="color:red" %)**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" %)**BatteryInfo**(%%)====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= 2885mV240 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 240 240 241 - Ex2:0x0B49= 2889mV242 +(% style="color:blue" %)**Battery Info** 242 242 244 +Check the battery voltage for DS20L 243 243 244 - ==== (% style="color:blue"%)**DS18B20Temperature sensor**(%%)====246 +Ex1: 0x0E10 = 3600mV 245 245 248 +(% style="color:blue" %)**MOD & Alarm & Interrupt:** 246 246 247 - Thisisoptional, usercan connect externalDS18B20 sensorto the +3.3v, 1-wireandGNDpin . and this field will report temperature.250 +(% style="color:red" %)**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 - Ifpayload is:0105H: (0105 & FC00 == 0), temp = 0105H /10 = 26.1degree257 +(% style="color:red" %)**Alarm:** 253 253 254 - Ifpayload 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 +(% style="color:red" %)**Interrupt:** 256 256 257 - ====(%style="color:blue"%)**Distance**(%%) ====263 +Whether it is an external interrupt. 258 258 265 +(% style="color:blue" %)**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 datayouget from the registeris0x0B0xEA, thedistancebetweenthe sensor and the measured object is0BEA(H)=3050 (D)/10= 305cm.269 +If payload is: 0708H: distance = 0708H = 1800 mm 266 266 271 +(% style="color:blue" %)**Sensor State** 267 267 268 - ====(%style="color:blue"%)**Distancesignal strength**(%%) ====273 +Ex1: 0x00: Normal collection distance 269 269 275 +Ex2 0x0x: Distance collection is wrong 270 270 271 - Refersto thesignal strength, the default output valuewill be between 0-65535. When the distance measurement gear is fixed, the farther the distance measurement is, the lower the signalstrength; the lowerthe target reflectivity,the lower the signal strength. When Strength is greaterthan 100 and not equalto65535, the measured value of Dist is considered credible.277 +(% style="color:blue" %)**Interript Count** 272 272 279 +If payload is:000007D0H: count = 07D0H =2000 273 273 274 -**Example**: 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. 277 277 278 -Customers can judge whether they need to adjust the environment based on the signal strength. 279 279 284 +==== (% style="color:red" %)**MOD=2** ==== 280 280 281 - **1)When the sensor detectsvalid data:**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 282 283 -[[image:image-20230805155335-1.png||height="145" width="724"]] 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 284 285 285 286 - **2) When thensor detectsinvalid data:**293 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 287 287 288 - [[image:image-20230805155428-2.png||height="139"width="726"]]295 +(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:** 289 289 297 +(% style="color:red" %)**MOD:** 290 290 291 -** 3) Whenthesensorisnotconnected:**299 +**Example: ** (0x60>>6) & 0x3f =1 292 292 293 -[[image:image-20230805155515-3.png||height="143" width="725"]] 301 +**0x01:** Regularly detect distance and report. 302 +**0x02: ** Uninterrupted measurement (external power supply). 294 294 304 +(% style="color:red" %)**Alarm:** 295 295 296 - ====(%style="color:blue" %)**InterruptPin& InterruptLevel**(%%)====306 +When the detection distance exceeds the limit, the alarm flag is set to 1. 297 297 308 +(% style="color:red" %)**Do:** 298 298 299 - Thisdata fieldshowsif thispacketis generatedby interruptor not.[[Clickhere>>||anchor="H3.3.2SetInterruptMode"]]forthehardware and softwareset up.310 +When the distance exceeds the set threshold, pull the Do pin high. 300 300 301 - Note:The Internet Pin is a separatepininthescrew terminal. See pin mappingof GPIO_EXTI .312 +(% style="color:red" %)**Limit flag:** 302 302 303 - **Example:**314 +Mode for setting threshold: 0~~5 304 304 305 - If byte[0]&0x01=0x00:Normaluplinkpacket.316 +0: does not use upper and lower limits 306 306 307 - If byte[0]&0x01=0x01:Interrupt UplinkPacket.318 +1: Use upper and lower limits 308 308 320 +2: is less than the lower limit value 309 309 310 - ====(%style="color:blue"%)**LiDARtemp**(%%)====322 +3: is greater than the lower limit value 311 311 324 +4: is less than the upper limit 312 312 313 - Characterizethe internaltemperaturevalue ofthe sensor.326 +5: is greater than the upper 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℃. 318 318 329 +(% style="color:blue" %)**Upper limit:** 319 319 320 - ====(% style="color:blue"%)**MessageType**(%%)====331 +The upper limit of the threshold cannot exceed 2000mm. 321 321 333 +(% style="color:blue" %)**Lower limit:** 322 322 323 -((( 324 -For a normal uplink payload, the message type is always 0x01. 325 -))) 335 +The lower limit of the threshold cannot be less than 3mm. 326 326 327 -((( 328 -Valid Message Type: 329 -))) 330 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"]]469 +[[image:1701152946067-561.png]] 471 471 472 472 473 -== 2.5 DatalogFeature ==472 +== 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 480 += 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 - 552 +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= 2572 +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 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 + 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