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, 2 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -22,7 +22,7 @@ 22 22 == 1.1 What is LoRaWAN Smart Distance Detector == 23 23 24 24 25 -The Dragino (% style="color:blue" %)**DS20L is a smart distance detector**(%%) base on long-range wireless LoRaWAN technology. It uses (% style="color:blue" %)**LiDAR sensor**(%%) to detect the distance between DS20L and object, then DS20L will send the distance data to the IoT Platform via LoRaWAN. 25 +The Dragino (% style="color:blue" %)**DS20L is a smart distance detector**(%%) base on long-range wireless LoRaWAN technology. It uses (% style="color:blue" %)**LiDAR sensor**(%%) to detect the distance between DS20L and object, then DS20L will send the distance data to the IoT Platform via LoRaWAN. DS20L can measure range between 3cm ~~ 200cm. 26 26 27 27 DS20L allows users to send data and reach extremely long ranges via LoRaWAN. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current 28 28 consumption. It targets professional wireless sensor network applications such smart cities, building automation, and so on. ... ... @@ -31,9 +31,8 @@ 31 31 32 32 DS20L is fully compatible with (% style="color:blue" %)**LoRaWAN v1.0.3 Class A protocol**(%%), it can work with a standard LoRaWAN gateway. 33 33 34 -DS20L supports (% style="color:blue" %)**Datalog feature**(%%). It will record the data when there is no network coverage and users can retrieve the sensor value later to ensure no miss for every sensor reading. 35 35 36 -[[image:image-20231110 091506-4.png||height="391" width="768"]]35 +[[image:image-20231110102635-5.png||height="402" width="807"]] 37 37 38 38 39 39 == 1.2 Features == ... ... @@ -45,7 +45,6 @@ 45 45 * AT Commands to change parameters 46 46 * Remotely configure parameters via LoRaWAN Downlink 47 47 * Alarm & Counting mode 48 -* Datalog Feature 49 49 * Firmware upgradable via program port or LoRa protocol 50 50 * Built-in 2400mAh battery or power by external power source 51 51 ... ... @@ -62,10 +62,19 @@ 62 62 * ToF FoV: ±9°, Total 18° 63 63 * Light source: VCSEL 64 64 63 +== 1.4 Power Consumption == 65 65 66 -(% style="display:none" %) 67 67 66 +(% style="color:#037691" %)**Battery Power Mode:** 68 68 68 +* Idle: 0.003 mA @ 3.3v 69 +* Max : 360 mA 70 + 71 +(% style="color:#037691" %)**Continuously mode**: 72 + 73 +* Idle: 21 mA @ 3.3v 74 +* Max : 360 mA 75 + 69 69 = 2. Configure DS20L to connect to LoRaWAN network = 70 70 71 71 == 2.1 How it works == ... ... @@ -80,11 +80,10 @@ 80 80 81 81 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 82 82 83 -The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. 90 +The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.(% style="display:none" %) 84 84 85 -[[image:image-20231110 091447-3.png||height="383" width="752"]](% style="display:none" %)92 +[[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %) 86 86 87 - 88 88 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L. 89 89 90 90 Each DS20L is shipped with a sticker with the default device EUI as below: ... ... @@ -118,6 +118,7 @@ 118 118 119 119 (% style="color:blue" %)**Step 2:**(%%) Activate on DS20L 120 120 127 +[[image:image-20231128133704-1.png||height="189" width="441"]] 121 121 122 122 Press the button for 5 seconds to activate the DS20L. 123 123 ... ... @@ -143,9 +143,9 @@ 143 143 144 144 Example parse in TTNv3 145 145 146 -[[image: image-20230805103904-1.png||height="131" width="711"]]153 +[[image:1701149922873-259.png]] 147 147 148 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x2 4155 +(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21 149 149 150 150 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 151 151 ... ... @@ -289,7 +289,7 @@ 289 289 290 290 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. 291 291 292 -Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.8PinDefinitions"]]of GPIO_EXTI .299 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI . 293 293 294 294 **Example:** 295 295 ... ... @@ -461,89 +461,15 @@ 461 461 [[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"]] 462 462 463 463 464 -== 2.5 DatalogFeature ==471 +== 2.5 Frequency Plans == 465 465 466 466 467 -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. 468 - 469 - 470 -=== 2.5.1 Ways to get datalog via LoRaWAN === 471 - 472 - 473 -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. 474 - 475 -* ((( 476 -a) DS20L will do an ACK check for data records sending to make sure every data arrive server. 477 -))) 478 -* ((( 479 -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. 480 -))) 481 - 482 - 483 - 484 -=== 2.5.2 Unix TimeStamp === 485 - 486 - 487 -DS20L uses Unix TimeStamp format based on 488 - 489 -[[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"]] 490 - 491 -User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 492 - 493 -Below is the converter example 494 - 495 -[[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"]] 496 - 497 - 498 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 499 - 500 - 501 -=== 2.5.3 Set Device Time === 502 - 503 - 504 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 505 - 506 -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). 507 - 508 -(% 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.** 509 - 510 - 511 -=== 2.5.4 Poll sensor value === 512 - 513 - 514 -Users can poll sensor values based on timestamps. Below is the downlink command. 515 - 516 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %) 517 -|(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)** 518 -|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte** 519 -|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval 520 - 521 -((( 522 -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. 523 -))) 524 - 525 -((( 526 -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"]] 527 -))) 528 - 529 -((( 530 -Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data 531 -))) 532 - 533 -((( 534 -Uplink Internal =5s,means DS20L will send one packet every 5s. range 5~~255s. 535 -))) 536 - 537 - 538 -== 2.6 Frequency Plans == 539 - 540 - 541 541 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. 542 542 543 543 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 544 544 545 545 546 -3. Configure DS20L 479 += 3. Configure DS20L = 547 547 548 548 == 3.1 Configure Methods == 549 549 ... ... @@ -615,12 +615,10 @@ 615 615 Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 616 616 ))) 617 617 * ((( 618 -Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 619 - 620 - 621 - 551 +Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 622 622 ))) 623 623 554 + 624 624 === 3.3.2 Set Interrupt Mode === 625 625 626 626 ... ... @@ -638,7 +638,7 @@ 638 638 the mode is 0 =Disable Interrupt 639 639 ))) 640 640 |(% style="width:154px" %)((( 641 -AT+INTMOD= 2572 +AT+INTMOD=3 642 642 643 643 (default) 644 644 )))|(% style="width:196px" %)((( ... ... @@ -660,6 +660,77 @@ 660 660 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 661 661 662 662 594 + 595 +== 3.3.3 Set work mode == 596 + 597 + 598 +Feature: Switch working mode 599 + 600 +(% style="color:blue" %)**AT Command: AT+MOD** 601 + 602 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:463px" %) 603 +|=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 108px;background-color:#4F81BD;color:white" %)**Response** 604 +|(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK 605 +|(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)((( 606 +OK 607 + 608 +Attention:Take effect after ATZ 609 +))) 610 + 611 +(% style="color:blue" %)**Downlink Command:** 612 + 613 +* **Example: **0x0A00 ~/~/ Same as AT+MOD=0 614 + 615 +* **Example:** 0x0A01 ~/~/ Same as AT+MOD=1 616 + 617 + 618 +=== 3.3.4 Set threshold and threshold mode === 619 + 620 + 621 +Feature, Set threshold and threshold mode 622 + 623 +When **AT+DOL=0,0,0,0,400** is set, No threshold is used, the sampling time is 400ms. 624 + 625 +(% style="color:blue" %)**AT Command: AT+DOL** 626 + 627 +(% border="1" cellspacing="4" style="width:571.818px" %) 628 +|(% style="width:172px;background-color:#4F81BD;color:white" %)**Command Example**|(% style="width:279px;background-color:#4F81BD;color:white" %)**Function**|(% style="width:118px;background-color:#4F81BD;color:white" %)**Response** 629 +|(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)((( 630 +0,0,0,0,400 631 + 632 +OK 633 +))) 634 +|(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK 635 + 636 + 637 +(% border="1" cellspacing="4" style="width:668.818px" %) 638 +|(% rowspan="11" style="width:166px;background-color:#4F81BD;color:white" %)**AT+DOL=5,1800,0,0,400**|(% rowspan="6" style="width:226px" %)The first bit sets the limit mode|(% style="width:251px" %)0:Do not use upper and lower limits 639 +|(% style="width:251px" %)1:Use upper and lower limits 640 +|(% style="width:251px" %)2:Less than the lower limit 641 +|(% style="width:251px" %)3:Greater than the lower limit 642 +|(% style="width:251px" %)4:Less than the upper limit 643 +|(% style="width:251px" %)5: Greater than the upper limit 644 +|(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM 645 +|(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM 646 +|(% 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 647 +|(% style="width:251px" %)1 Person or object counting statistics 648 +|(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)((( 649 +0~~10000ms 650 + 651 + 652 +))) 653 + 654 +(% style="color:blue" %)**Downlink Command: 0x07** 655 + 656 +Format: Command Code (0x07) followed by 9bytes. 657 + 658 +* Example 0: Downlink Payload: 070000000000000190 **~-~-->** AT+MOD=0,0,0,0,400 659 + 660 +* Example 1: Downlink Payload: 070107080064000190 **~-~-->** AT+MOD=1,1800,100,0,400 661 + 662 + 663 + 664 + 663 663 = 4. Battery & Power Consumption = 664 664 665 665
- 1701149922873-259.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.5 KB - Content
- image-20231128133704-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +190.6 KB - Content